{"id":25977377,"url":"https://github.com/nbisweden/pipelines-nextflow","last_synced_at":"2025-07-18T16:08:41.224Z","repository":{"id":43708972,"uuid":"237398394","full_name":"NBISweden/pipelines-nextflow","owner":"NBISweden","description":"A set of workflows written in Nextflow for Genome Annotation.","archived":false,"fork":false,"pushed_at":"2024-07-01T13:23:26.000Z","size":346,"stargazers_count":45,"open_issues_count":20,"forks_count":18,"subscribers_count":36,"default_branch":"master","last_synced_at":"2025-04-12T09:46:45.356Z","etag":null,"topics":["genome-annotation","nextflow","workflow"],"latest_commit_sha":null,"homepage":"","language":"Nextflow","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/NBISweden.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-01-31T09:29:13.000Z","updated_at":"2025-03-05T20:10:42.000Z","dependencies_parsed_at":"2025-03-05T04:44:22.278Z","dependency_job_id":null,"html_url":"https://github.com/NBISweden/pipelines-nextflow","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/NBISweden/pipelines-nextflow","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NBISweden%2Fpipelines-nextflow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NBISweden%2Fpipelines-nextflow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NBISweden%2Fpipelines-nextflow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NBISweden%2Fpipelines-nextflow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/NBISweden","download_url":"https://codeload.github.com/NBISweden/pipelines-nextflow/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/NBISweden%2Fpipelines-nextflow/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265791803,"owners_count":23829166,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genome-annotation","nextflow","workflow"],"created_at":"2025-03-05T04:33:58.786Z","updated_at":"2025-07-18T16:08:41.219Z","avatar_url":"https://github.com/NBISweden.png","language":"Nextflow","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NBIS Annotation service pipelines\n\n## Table of Contents\n\n* [Overview](#overview)\n* [Citation](#citation)\n* [Installation and Usage](#installation-and-usage)\n\n## Overview\n\nThis Nextflow workflow is a compilation of several subworkflows for different stages of\ngenome annotation. Specifically:\n\n* [Annotation preprocessing](./subworkflows/annotation_preprocessing/README.md)\n* [Transcript assembly](./subworkflows/transcript_assembly/README.md)\n* [Abinitio Training](./subworkflows/abinitio_training/README.md)\n* [Functional annotation](./subworkflows/functional_annotation/README.md)\n\nwhere the overall genome annotation process is:\n\n```mermaid\ngraph TD\n  preprocessing[Annotation Preprocessing] --\u003e evidenceAlignment[Evidence alignment]\n  transcriptAssembly[Transcript Assembly] --\u003e evidenceAlignment\n  evidenceAlignment --\u003e evidenceMaker[Evidence-based Maker]\n  denovoRepeatLibrary[De novo Repeat Library] ---\u003e evidenceMaker\n  transcriptAssembly --\u003e pasa[PASA]\n  preprocessing --\u003e pasa\n  pasa --\u003e evidenceMaker\n  evidenceMaker --\u003e abinitioTraining[Abinitio Training]\n  abinitioTraining --\u003e abinitioMaker[Abinitio-based Maker]\n  evidenceMaker --\u003e abinitioMaker\n  pasa --\u003e functionalAnnotation[Functional Annotation]\n  abinitioMaker --\u003e functionalAnnotation\n  functionalAnnotation --\u003e EMBLmyGFF3\n```\n\nThe subworkflow is selected using the `subworkflow` parameter.\n\n## Citation\n\nIf you use these pipelines in your work, please acknowledge NBIS within your\ncommunication according to this example: \"Support by NBIS (National Bioinformatics\nInfrastructure Sweden) is gratefully acknowledged.\"\n\n[![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.5195586.svg)](https://doi.org/10.5281/zenodo.5195586)\n\n### Acknowledgments\n\nThese workflows were based on the Bpipe workflows written by\nMarc Höppner (\\@marchoeppner) and Jacques Dainat (\\@Juke34).\n\nThank you to everyone who contributes to this project.\n\n### Maintainers\n\n* Mahesh Binzer-Panchal (\\@mahesh-panchal)\n  * *Expertise*: Nextflow workflow development\n* Jacques Dainat (\\@Juke34)\n  * *Expertise*: Genome annotation, Nextflow workflow development\n* Lucile Soler (\\@LucileSol)\n  * *Expertise*: Genome Annotation\n\n## Installation and Usage\n\nRequirements:\n\n* Nextflow\n* A container platform (recommended) such as Singularity or Docker, or the\n  conda/mamba package manager if a container platform is not available.\n  If containers or conda/mamba are unavailable, then tool dependencies\n  must be accessible from your `PATH`.\n\n### Nextflow\n\nInstall Nextflow directly:\n\n```bash\ncurl -s https://get.nextflow.io | bash\nmv ./nextflow ~/bin\n```\n\nAlternatively, installation can be managed with conda (or mamba) in it's own conda environment:\n\n```bash\nconda create -c conda-forge -c bioconda -n nextflow-env nextflow\nconda activate nextflow-env\n```\n\nSee [Nextflow: Get started - installation](https://www.nextflow.io/docs/latest/getstarted.html#installation) for further details.\n\n### General Usage\n\nA workflow is run in the following way:\n\n```bash\nnextflow run NBISweden/pipelines-nextflow \\\n  [-profile \u003cprofile_name1\u003e[,\u003cprofile_name2\u003e,...] ] \\\n  [-c workflow.config ] \\\n  [-resume] \\\n  -params-file workflow_parameters.yml\n```\n\nwhere `-profile` selects from a predefined profile (select here for [available profiles](#profiles)),\n`-c workflow.config` loads a custom configuration for altering existing process settings (defined\nin `nextflow.config` - loaded by default, such as the\nnumber of cpus, time allocation, memory, output prefixes and tool command-line options ). The\n`-params-file` is a YAML formatted file listing workflow parameters, e.g.\n\n```yaml\nsubworkflow: 'annotation_preprocessing'\ngenome: '/path/to/genome'\nbusco_lineage:\n  - 'eukaryota_odb10'\n  - 'bacteria_odb10'\noutdir: '/path/to/save/results'\n```\n\n\u003e **Note**\n\u003e If running on a compute cluster infrastructure, `nextflow` must be able to communicate\n\u003e with the workload manager at all times, otherwise tasks will be cancelled.\n\u003e The best way to do this is to run `nextflow` using a `screen` or `tmux`\n\u003e terminal.\n\u003e\n\u003e E.g. Screen\n\u003e\n\u003e ```bash\n\u003e # Open a named screen terminal session\n\u003e screen -S my_nextflow_run\n\u003e # load nextflow with conda\n\u003e conda activate nextflow-env\n\u003e # run nextflow\n\u003e nextflow run -c \u003cconfig\u003e -profile \u003cprofile\u003e \u003cnextflow_script\u003e\n\u003e # \"Detach\" screen terminal\n\u003e \u003cctrl + a\u003e \u003cctrl + d\u003e\n\u003e # list screen sessions\n\u003e screen -ls\n\u003e # \"Attach\" screen session\n\u003e screen -r my_nextflow_run\n\u003e ```\n\n#### Profiles\n\n* **uppmax**: A profile for the Uppmax clusters. Tasks are submitted to the SLURM workload manager,\n  executed within Singularity (unless otherwise noted), and use the `$SNIC_TMP` scratch space.\n  *Note*: The workflow parameter `project` is manadatory when using Uppmax clusters.\n* **conda**: A general purpose profile that uses conda to manage software dependencies.\n* **mamba**: A general purpose profile that uses mamba to manage software dependencies.\n* **docker**: A general purpose profile that uses docker to manage software dependencies.\n* **singularity**: A general purpose profile that uses singularity to manage software dependencies.\n* **nbis**: A profile for the NBIS annotation cluster. Tasks are submitted to the SLURM workload\n  manager, and use the disk space `/scratch` for task execution. Software should be managed using one\n  of the general purpose profiles above.\n* **gitpod**: A profile to set local executor settings in the Gitpod environment.\n* **test**: A profile supplying test data to check if the workflows run on your system.\n* **pipeline_report**: Adds a folder in the `outdir` which include workflow execution reports.\n\n##### Uppmax profile good practices\n\n\u003e **Note**\n\u003e\n\u003e Nextflow is enabled using the module system on Uppmax.\n\u003e\n\u003e ```bash\n\u003e module load bioinfo-tools Nextflow\n\u003e ```\n\u003e\n\u003e The following configuration in your `workflow.config` is recommended when running workflows on Uppmax.\n\u003e\n\u003e ```nextflow\n\u003e // Set your work directory to a folder in your project directory under nobackup\n\u003e workDir = '/proj/\u003csnic_storage_project\u003e/nobackup/work'\n\u003e // Restart workflows from last successful execution (i.e. use cached results where possible).\n\u003e resume = true\n\u003e // Add any overriding process directives here, e.g.,\n\u003e process {\n\u003e     withName: 'BLAST_BLASTN' {\n\u003e         cpus = 12\n\u003e         time = 2.d\n\u003e     }\n\u003e }\n\u003e ```\n\n##### NBIS profile good practices\n\n\u003e **Note**\n\u003e\n\u003e Both singularity and conda are installed, however singularity is\n\u003e preferred for speed and reproducibility.\n\u003e\n\u003e ```bash\n\u003e module load Singularity\n\u003e ```\n\u003e\n\u003e The following configuration in your `workflow.config` is recommended when running workflows on\n\u003e the annotation cluster.\n\u003e\n\u003e ```nextflow\n\u003e // Set your work directory to a folder on the /active partition\n\u003e workDir = '/active/\u003cproject_id\u003e/nobackup/work'\n\u003e // Restart workflows from last successful execution (i.e. use cached results where possible).\n\u003e resume = true\n\u003e // Add any overriding process directives here, e.g.,\n\u003e process {\n\u003e     withName: 'BLAST_BLASTN' {\n\u003e         cpus = 12\n\u003e         time = 2.d\n\u003e     }\n\u003e }\n\u003e // Use a shared cache folder singularity images\n\u003e singularity.cacheDir = '/active/nxf_singularity_cachedir'\n\u003e // If using conda, use a shared cache for conda environments\n\u003e conda.cacheDir = '/active/nxf_conda_cachedir'\n\u003e // Use mamba for speed over conda\n\u003e conda.useMamba = true\n\u003e ```\n\u003e\n\u003e Project results should be published to `/projects`, work directories should be on\n\u003e `/active`, while computations are performed on the local `/scratch` partitions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbisweden%2Fpipelines-nextflow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnbisweden%2Fpipelines-nextflow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnbisweden%2Fpipelines-nextflow/lists"}