annexseq

Nextflow pipeline to combine nanoseq and ANNEXA for long-read RNASeq data

https://github.com/igdrion/annexseq

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

annotation-tool lncrna long-read-sequencing nanopore-sequencing
Last synced: 6 months ago · JSON representation ·

Repository

Nextflow pipeline to combine nanoseq and ANNEXA for long-read RNASeq data

Basic Info
  • Host: GitHub
  • Owner: IGDRion
  • License: mit
  • Language: Nextflow
  • Default Branch: main
  • Homepage:
  • Size: 2.68 MB
Statistics
  • Stars: 1
  • Watchers: 1
  • Forks: 0
  • Open Issues: 2
  • Releases: 0
Topics
annotation-tool lncrna long-read-sequencing nanopore-sequencing
Created over 2 years ago · Last pushed over 2 years ago
Metadata Files
Readme Changelog License Code of conduct Citation

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

  1. ### Nanoseq
    1. Demultiplexing (qcat; optional)
    2. Raw read cleaning (NanoLyse; optional)
    3. Raw read QC (NanoPlot, FastQC)
    4. Alignment (GraphMap2 or minimap2)
      • 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)
    5. Create bigWig (BEDTools, bedGraphToBigWig) and bigBed (BEDTools, bedToBigBed) coverage tracks for visualisation
    6. DNA specific downstream analysis:
    7. RNA specific downstream analysis:
      • Transcript reconstruction and quantification (bambu or StringTie2)
      • bambu performs both transcript reconstruction and quantification
      • When StringTie2 is chosen, each sample can be processed individually and combined. After which, featureCounts will be used for both gene and transcript quantification.
      • Differential expression analysis (DESeq2 and/or DEXSeq)
      • RNA modification detection (xpore and/or m6anet)
      • RNA fusion detection (JAFFAL)
    8. Present QC for raw read and alignment results (MultiQC)
  2. ### Annexa
    1. Check if the input annotation contains all the information needed.
    2. Transcriptome reconstruction and quantification with bambu.
    3. Novel classification with FEELnc.
    4. Retrieve information from input annotation and format final gtf with 3 structure levels:
      • gene
      • transcript
      • exon.
    5. Filter novel transcripts based on bambu and/or TransformKmers Novel Discovery Rates.
    6. Perform a quality control (see qc) of both the full and filtered extended annotations (see example).
    7. 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.

nf-core/nanoseq metro map

Quick Start

  1. Install Nextflow (>=22.10.1)

  2. Install any of Docker, Singularity (you can follow this tutorial), Podman, Shifter or Charliecloud for full pipeline reproducibility (you can use Conda both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see docs).

  3. Test the pipelines on a minimal dataset with a couple commands: console nextflow run nf-core/nanoseq -profile test,YOURPROFILE

    console 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, charliecloud and conda which 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 either docker or singularity and set the appropriate execution settings for your local compute environment.
  • If you are using singularity and are persistently observing issues downloading Singularity images directly due to timeout or network issues, then you can use the --singularity_pull_docker_container parameter to pull and convert the Docker image instead. Alternatively, you can use the nf-core download command to download images first, before running the pipeline. Setting the NXF_SINGULARITY_CACHEDIR or singularity.cacheDir Nextflow 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 the NXF_CONDA_CACHEDIR or conda.cacheDir settings to store the environments in a central location for future pipeline runs.
  1. 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:

  1. 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.

  2. 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

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.

GitHub Events

Total
Last Year