annexseq
Nextflow pipeline to combine nanoseq and ANNEXA for long-read RNASeq data
Science Score: 31.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
○codemeta.json file
-
○.zenodo.json file
-
✓DOI references
Found 4 DOI reference(s) in README -
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.5%) to scientific vocabulary
Keywords
Repository
Nextflow pipeline to combine nanoseq and ANNEXA for long-read RNASeq data
Basic Info
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
Introduction
ANNEXAseq is a bioinformatics analysis pipeline for LR-RNAseq data (Long-Read RNASeq). It works by performing basecalling, demultiplexing, QC, alignment on Nanopore RNA data using the nf-core/nanoseq pipeline, and then reconstructs and quantifies both known, novel genes and isoforms using the ANNEXA pipeline.
Pipeline Summary
Nanoseq
The nanoseq pipeline takes raw Nanopore sequencing data as input and performs various optional pre-processing steps including demultiplexing and cleaning, followed by quality control checks and alignment using either GraphMap2 or minimap2 aligners.
Mapping metrics are obtained and bigWig and bigBed coverage tracks are created for visualization. For DNA samples, short and structural variant calling is performed using medaka, deepvariant, peppermargindeepvariant, sniffles or cutesv.
For RNA samples, transcript reconstruction and quantification is performed using either bambu or StringTie2, followed by differential expression analysis using DESeq2 and/or DEXSeq.
Additional analyses including RNA modification detection and RNA fusion detection are performed using xpore, m6anet and JAFFAL.
MultiQC is used to present QC for raw read and alignment results.
Annexa
ANNEXA pipeline takes a reference genome, a reference annotation, and mapping files as inputs, and it provides an extended annotation that distinguishes between novel protein-coding (mRNA) and long non-coding RNAs (lncRNA) genes.
The pipeline performs transcriptome reconstruction and quantification, novel classification, and filtering based on multiple features.
The output is a final gtf file with a 3-level structure (gene, transcript, exon), and graphical outputs containing information about known and novel gene/transcript models such as length, number of spliced transcripts, and normalized expression levels.
The pipeline also performs quality control and an optional gene body coverage check.
Pipeline Outline
- ### Nanoseq
- Demultiplexing (
qcat; optional) - Raw read cleaning (NanoLyse; optional)
- Raw read QC (
NanoPlot,FastQC) - Alignment (
GraphMap2orminimap2)- Both aligners are capable of performing unspliced and spliced alignment. Sensible defaults will be applied automatically based on a combination of the input data and user-specified parameters
- Each sample can be mapped to its own reference genome if multiplexed in this way
- Convert SAM to co-ordinate sorted BAM and obtain mapping metrics (
samtools)
- Create bigWig (
BEDTools,bedGraphToBigWig) and bigBed (BEDTools,bedToBigBed) coverage tracks for visualisation - DNA specific downstream analysis:
- Short variant calling (
medaka,deepvariant, orpepper_margin_deepvariant) - Structural variant calling (
snifflesorcutesv)
- Short variant calling (
- RNA specific downstream analysis:
- Transcript reconstruction and quantification (
bambuorStringTie2) - bambu performs both transcript reconstruction and quantification
- When StringTie2 is chosen, each sample can be processed individually and combined. After which,
featureCountswill be used for both gene and transcript quantification. - Differential expression analysis (
DESeq2and/orDEXSeq) - RNA modification detection (
xporeand/orm6anet) - RNA fusion detection (
JAFFAL)
- Transcript reconstruction and quantification (
- Present QC for raw read and alignment results (
MultiQC)
- Demultiplexing (
- ### Annexa
- Check if the input annotation contains all the information needed.
- Transcriptome reconstruction and quantification with
bambu. - Novel classification with
FEELnc. - Retrieve information from input annotation and format final gtf with 3 structure levels:
- gene
- transcript
- exon.
- Filter novel transcripts based on
bambuand/orTransformKmersNovel Discovery Rates. - Perform a quality control (see
qc) of both the full and filtered extended annotations (see example). - Optional: Check gene body coverage with
RSeQC.
Functionality Overview
A graphical overview of suggested routes through the pipeline depending on the desired output can be seen below.
Quick Start
Install
Nextflow(>=22.10.1)Install any of
Docker,Singularity(you can follow this tutorial),Podman,ShifterorCharliecloudfor full pipeline reproducibility (you can useCondaboth to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see docs).Test the pipelines on a minimal dataset with a couple commands:
console nextflow run nf-core/nanoseq -profile test,YOURPROFILEconsole nextflow run IGDRion/ANNEXA -profile test,conda
Note that some form of configuration will be needed so that Nextflow knows how to fetch the required software. This is usually done in the form of a config profile (YOURPROFILE in the example command above). You can chain multiple config profiles in a comma-separated string.
- The pipeline comes with config profiles called
docker,singularity,podman,shifter,charliecloudandcondawhich instruct the pipeline to use the named tool for software management. For example,-profile test,docker.- Please check nf-core/configs to see if a custom config file to run nf-core pipelines already exists for your Institute. If so, you can simply use
-profile <institute>in your command. This will enable eitherdockerorsingularityand set the appropriate execution settings for your local compute environment.- If you are using
singularityand are persistently observing issues downloading Singularity images directly due to timeout or network issues, then you can use the--singularity_pull_docker_containerparameter to pull and convert the Docker image instead. Alternatively, you can use thenf-core downloadcommand to download images first, before running the pipeline. Setting theNXF_SINGULARITY_CACHEDIRorsingularity.cacheDirNextflow options enables you to store and re-use the images from a central location for future pipeline runs.- If you are using
conda, it is highly recommended to use theNXF_CONDA_CACHEDIRorconda.cacheDirsettings to store the environments in a central location for future pipeline runs.
- Start running your own analysis!
Documentation
Nanoseq
The nf-core/nanoseq pipeline comes with documentation about the pipeline usage, parameters and output.
bash
nextflow run nf-core/nanoseq \
--input samplesheet.csv \
--protocol DNA \
--barcode_kit SQK-PBK004 \
-profile <docker/singularity/podman/institute>
See usage docs for all of the available options when running the pipeline.
An example input samplesheet for performing both basecalling and demultiplexing can be found here.
Annexa
Run ANNEXA on your own data (change input, gtf, fa with path of your files).
sh
nextflow run IGDRion/ANNEXA \
-profile {test,docker,singularity,conda,slurm} \
--input samples.txt \
--gtf /path/to/ref.gtf \
--fa /path/to/ref.fa
The input parameter takes a file listing the bam path files to analyze (see example below)
/path/to/1.bam
/path/to/2.bam
/path/to/3.bam
Options
``` Required: --input : Path to file listing paths to bam files. --fa : Path to reference genome. --gtf : Path to reference annotation.
Optional: -profile test : Run annexa on toy dataset. -profile slurm : Run annexa on slurm executor. -profile singularity: Run annexa in singularity container. -profile conda : Run annexa in conda environment. -profile docker : Run annexa in docker container.
--filter : Perform or not the filtering step. false by default. --tfkmerstokenizer : Path to TransforKmers tokenizer. Required if filter activated. --tfkmersmodel : Path to TransforKmers model. Required if filter activated. --bambuthreshold : bambu NDR threshold below which new transcripts are retained. --tfkmersthreshold : TransforKmers NDR threshold below which new transcripts are retained. --operation : Operation to retained novel transcripts. "union" retain tx validated by either bambu or transforkmers, "intersection" retain tx validated by both.
--withGeneCoverage : Run RSeQC (can be long depending on annotation and bam sizes). False by default.
--maxCpu : max cpu threads used by ANNEXA. 8 by default. --maxMemory : max memory used by ANNEXA. 40GB by default. ```
If the filter argument is set to
true, TransforKmers model and tokenizer paths have to be given. They can be either downloaded from the TransforKmers official repository or trained in advance by yourself on your own data.
Filtering step
By activating the filtering step (--filter), ANNEXA proposes to filter the generated extended annotation according to 2 methods:
By using the NDR proposed by bambu. This threshold includes several information such as sequence profile, structure (mono-exonic, etc) and quantification (number of samples, expression). Each transcript with an NDR below the classification threshold will be retained by ANNEXA.
By analysing the TSS of each new transcript using the TransforKmers (deep-learning) tool. Each TSS validated below a certain threshold will be retained. We already provide 2 trained models for filtering TSS with TransforKmers.
To use them, extract the zip, and point --tfkmers_model and --tfkmers_tokenizer to the subdirectories.
The filtered annotation can be the union of these 2 tools, i.e. all the transcripts validated by one or both of these tools; or the intersection, i.e. the transcripts validated by both tools.
At the end, the QC steps are performed both on the full and filtered extended annotations.
Testing
The nanoseq pipeline is tested through automated continuous integration. See the nf-core/nanoseq repository.
The ANNEXA pipeline has been tested with reference annotation from Ensembl and NCBI-RefSeq.
Credits
ANNEXseq is written by @enoracrl, @vlebars, @atoffano, @Aurore-B, @tderrien from the Institue of Genetics and Development of Rennes.
nf-core/nanoseq was originally written by Chelsea Sawyer and Harshil Patel from The Bioinformatics & Biostatistics Group for use at The Francis Crick Institute, London. Other primary contributors include Laura Wratten, Ying Chen, Yuk Kei Wan and Jonathan Goeke from the Genome Institute of Singapore, Christopher Hakkaart from Institute of Medical Genetics and Applied Genomics, Germany, and Johannes Alneberg and Franziska Bonath from SciLifeLab, Sweden. Many thanks to others who have helped out along the way too, including (but not limited to): @crickbabs, @AnnaSyme, @ekushele.
ANNEXA was originally written by @mlorthiois, @tderrien, @Aurore-B from the Institue of Genetics and Development of Rennes.
Citations
An extensive list of references for the tools used by the nanoseq pipeline can be found in the CITATIONS.md file.
You can cite the nf-core publication as follows:
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
Owner
- Name: IGDRion
- Login: IGDRion
- Kind: organization
- Email: igdrion.lr@gmail.com
- Location: France
- Website: https://igdr.univ-rennes1.fr/en/third-generation-sequencing
- Repositories: 1
- Profile: https://github.com/IGDRion
Long read sequencing @ IGDR (UMR6290 - CNRS - UR1 - INSERM)
Citation (CITATIONS.md)
# nf-core/nanoseq: Citations ## [nf-core](https://www.ncbi.nlm.nih.gov/pubmed/32055031/) > Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031. ## [SGNEx](https://www.biorxiv.org/content/10.1101/2021.04.21.440736v1.abstract) > Chen, Y., Davidson, N. M., Wan, Y. K., Patel, H., Yao, F., Low, H. M., ... & SG-NEx consortium. (2021). A systematic benchmark of Nanopore long read RNA sequencing for transcript level analysis in human cell lines. BioRxiv, 2021-04. ## [Nextflow](https://www.ncbi.nlm.nih.gov/pubmed/28398311/) > Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311. ## Pipeline tools - [bambu](https://www.biorxiv.org/content/10.1101/2022.11.14.516358v2.abstract) > Chen, Y., Sim, A. D., Wan, Y. K., Yeo, K., Lee, J. J. X., Ling, M. H., ... & Göke, J. (2022). Context-aware transcript quantification from long read RNA-seq data with Bambu. bioRxiv, 2022-11. - [BEDTools](https://www.ncbi.nlm.nih.gov/pubmed/20110278/) > Quinlan AR, Hall IM. BEDTools: a flexible suite of utilities for comparing genomic features. Bioinformatics. 2010 Mar 15;26(6):841-2. doi: 10.1093/bioinformatics/btq033. Epub 2010 Jan 28. PubMed PMID: 20110278; PubMed Central PMCID: PMC2832824. - [cuteSV](https://pubmed.ncbi.nlm.nih.gov/32746918/) > Jiang T, Liu Y, Jiang Y, Li J, Gao Y, Cui Z, Liu Y, Liu B, Wang Y. Long-read-based human genomic structural variation detection with cuteSV. Genome Biol. 2020 Aug 3;21(1):189. doi: 10.1186/s13059-020-02107-y. PMID: 32746918; PMCID: PMC7477834. - [DeepVariant](https://pubmed.ncbi.nlm.nih.gov/30247488/) > Poplin R, Chang PC, Alexander D, Schwartz S, Colthurst T, Ku A, Newburger D, Dijamco J, Nguyen N, Afshar PT, Gross SS, Dorfman L, McLean CY, DePristo MA. A universal SNP and small-indel variant caller using deep neural networks. Nat Biotechnol. 2018 Nov;36(10):983-987. doi: 10.1038/nbt.4235. Epub 2018 Sep 24. PMID: 30247488. - [featureCounts](https://www.ncbi.nlm.nih.gov/pubmed/24227677/) > Liao Y, Smyth GK, Shi W. featureCounts: an efficient general purpose program for assigning sequence reads to genomic features. Bioinformatics. 2014 Apr 1;30(7):923-30. doi: 10.1093/bioinformatics/btt656. Epub 2013 Nov 13. PubMed PMID: 24227677. - [GraphMap](https://pubmed.ncbi.nlm.nih.gov/27079541/) > Sović I, Šikić M, Wilm A, Fenlon SN, Chen S, Nagarajan N. Fast and sensitive mapping of nanopore sequencing reads with GraphMap. Nat Commun. 2016 Apr 15;7:11307. doi: 10.1038/ncomms11307. PMID: 27079541; PMCID: PMC4835549. - [JAFFAL](https://doi.org/10.1186/s13059-021-02588-5) > Davidson NM, Chen Y, Sadras T, Ryland GL, Blombery P, Ekert PG, Göke J, Oshlack A. JAFFAL: detecting fusion genes with long-read transcriptome sequencing. Genome Biol. 2022 Jan 6;23(1):10. doi: 10.1186/s13059-021-02588-5. PMID: 34991664; PMCID: PMC8739696. - [m6anet](https://pubmed.ncbi.nlm.nih.gov/36357692/) > Hendra, C., Pratanwanich, P. N., Wan, Y. K., Goh, W. S., Thiery, A., & Göke, J. (2022). Detection of m6A from direct RNA sequencing using a multiple instance learning framework. Nature Methods, 1-9. PMID: 36357692; PMCID: PMC9718678. - [PEPPER-Margin-DeepVariant](https://pubmed.ncbi.nlm.nih.gov/34725481/) > Shafin K, Pesout T, Chang PC, Nattestad M, Kolesnikov A, Goel S, Baid G, Kolmogorov M, Eizenga JM, Miga KH, Carnevali P, Jain M, Carroll A, Paten B. Haplotype-aware variant calling with PEPPER-Margin-DeepVariant enables high accuracy in nanopore long-reads. Nat Methods. 2021 Nov;18(11):1322-1332. doi: 10.1038/s41592-021-01299-w. Epub 2021 Nov 1. PMID: 34725481; PMCID: PMC8571015. - [Minimap2](https://pubmed.ncbi.nlm.nih.gov/29750242/) > Li H. Minimap2: pairwise alignment for nucleotide sequences. Bioinformatics. 2018 Sep 15;34(18):3094-3100. doi: 10.1093/bioinformatics/bty191. PMID: 29750242; PMCID: PMC6137996. - [Medaka](https://github.com/nanoporetech/medaka) - [MultiQC](https://www.ncbi.nlm.nih.gov/pubmed/27312411/) > Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924. - [NanoLyse](https://pubmed.ncbi.nlm.nih.gov/29547981/) > De Coster, W., D’Hert, S., Schultz, D. T., Cruts, M., & Van Broeckhoven, C. (2018). NanoPack: visualizing and processing long-read sequencing data. Bioinformatics, 34(15), 2666-2669. PubMed PMID: 29547981; PubMed Central PMCID: PMC6061794. - [NanoPlot](https://pubmed.ncbi.nlm.nih.gov/29547981/) > De Coster W, D'Hert S, Schultz DT, Cruts M, Van Broeckhoven C. NanoPack: visualizing and processing long-read sequencing data. Bioinformatics. 2018 Aug 1;34(15):2666-2669. doi: 10.1093/bioinformatics/bty149. PubMed PMID: 29547981; PubMed Central PMCID: PMC6061794. - [qcat](https://github.com/nanoporetech/qcat) - [SAMtools](https://www.ncbi.nlm.nih.gov/pubmed/19505943/) > Li H, Handsaker B, Wysoker A, Fennell T, Ruan J, Homer N, Marth G, Abecasis G, Durbin R; 1000 Genome Project Data Processing Subgroup. The Sequence Alignment/Map format and SAMtools. Bioinformatics. 2009 Aug 15;25(16):2078-9. doi: 10.1093/bioinformatics/btp352. Epub 2009 Jun 8. PubMed PMID: 19505943; PubMed Central PMCID: PMC2723002. - [Sniffles](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5990442/) > Sedlazeck FJ, Rescheneder P, Smolka M, Fang H, Nattestad M, von Haeseler A, Schatz MC. Accurate detection of complex structural variations using single-molecule sequencing. Nat Methods. 2018 Jun;15(6):461-468. doi: 10 1038/s41592-018-0001-7. Epub 2018 Apr 30. PMID: 29713083; PMCID: PMC5990442. - [StringTie2](https://www.ncbi.nlm.nih.gov/pubmed/31842956/) > Kovaka S, Zimin AV, Pertea GM, Razaghi R, Salzberg SL, Pertea M. Transcriptome assembly from long-read RNA-seq alignments with StringTie2 Genome Biol. 2019 Dec 16;20(1):278. doi: 10.1186/s13059-019-1910-1. PubMed PMID: 31842956; PubMed Central PMCID: PMC6912988. - [UCSC tools](https://www.ncbi.nlm.nih.gov/pubmed/20639541/) > Kent WJ, Zweig AS, Barber G, Hinrichs AS, Karolchik D. BigWig and BigBed: enabling browsing of large distributed datasets. Bioinformatics. 2010 Sep 1;26(17):2204-7. doi: 10.1093/bioinformatics/btq351. Epub 2010 Jul 17. PubMed PMID: 20639541; PubMed Central PMCID: PMC2922891. - [xPore](https://doi.org/10.1038/s41587-021-00949-w) > Pratanwanich PN, Yao F, Chen Y, Koh CWQ, Wan YK, Hendra C, Poon P, Goh YT, Yap PML, Chooi JY, Chng WJ, Ng SB, Thiery A, Goh WSS, Göke J. Identification of differential RNA modifications from nanopore direct RNA sequencing with xPore. Nat Biotechnol. 2021 Nov;39(11):1394-1402. doi: 10.1038/s41587-021-00949-w. Epub 2021 Jul 19. PMID: 34282325. ## R packages - [R](https://www.R-project.org/) > R Core Team (2017). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. - [bambu](https://bioconductor.org/packages/release/bioc/html/bambu.html) > Chen Y, Goeke J, Wan YK (2020). bambu: Reference-guided isoform reconstruction and quantification for long read RNA-Seq data. R package version 1.0.0. - [BSgenome](https://bioconductor.org/packages/release/bioc/html/BSgenome.html) > Pagès H (2020). BSgenome: Software infrastructure for efficient representation of full genomes and their SNPs. doi: 10.18129/B9.bioc.BSgenome. - [DESeq2](https://www.ncbi.nlm.nih.gov/pubmed/25516281/) > Love MI, Huber W, Anders S. Moderated estimation of fold change and dispersion for RNA-seq data with DESeq2. Genome Biol. 2014;15(12):550. PubMed PMID: 25516281; PubMed Central PMCID: PMC4302049. - [DEXSeq](https://pubmed.ncbi.nlm.nih.gov/22722343/) > Anders S, Reyes A, Huber W. Detecting differential usage of exons from RNA-seq data. Genome Res. 2012 Oct;22(10):2008-17. doi: 10.1101/gr.133744.111. Epub 2012 Jun 21. PubMed PMID: 22722343; PubMed Central PMCID: PMC3460195. - [DRIMSeq](https://pubmed.ncbi.nlm.nih.gov/28105305/) > Nowicka M, Robinson MD. DRIMSeq: a Dirichlet-multinomial framework for multivariate count outcomes in genomics. F1000Res. 2016 Jun 13;5:1356. doi: 10.12688/f1000research.8900.2. PubMed PMID: 28105305; PubMed Central PMCID: PMC5200948. - [stageR](https://pubmed.ncbi.nlm.nih.gov/28784146/) > Van den Berge K, Soneson C, Robinson MD, Clement L. stageR: a general stage-wise method for controlling the gene-level false discovery rate in differential expression and differential transcript usage. Genome Biol. 2017 Aug 7;18(1):151. doi: 10.1186/s13059-017-1277-0. PubMed PMID: 28784146; PubMed Central PMCID: PMC5547545. ## Software packaging/containerisation tools - [Anaconda](https://anaconda.com) > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web. - [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/) > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506. - [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/) > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671. - [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241) - [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/) > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.