Skip to content

Align reads over a reference genome, filter aligned-reads, and mark duplicates

License

Notifications You must be signed in to change notification settings

tdayris/fair_bowtie2_mapping

Repository files navigation

Snakemake GitHub actions status

Snakemake workflow used to align ungapped reads to the genome with Bowtie2.

Usage

The usage of this workflow is described in the Snakemake workflow catalog it is also available locally on a single page.

Results

A complete description of the results can be found here in workflow reports.

Material and Methods

The tools used in this pipeline are described here textually. Web-links are available below:

Index and genome sequences with fair_genome_indexer

See fair_genome_indexer documentation about DNA sequence preparation

Raw-sequences QC with fair_fastqc_multiqc

See fair_fastqc_multiqc documentation about ranw sequences quality controls

Bowtie2 Mapping

Step Meta-Wrapper Wrapper
Bowtie2-build bowtie2-sambamba meta-wrapper bowtie2-build
Fastp fastp
Bowtie2-align bowtie2-sambamba meta-wrapper bowtie2-align
Sambamba sort bowtie2-sambamba meta-wrapper sambamba-sort
┌───────────────────────────┐   ┌─────────────────────────┐
│Genome indexation (Bowtie2)│   │Sequence cleaning (fastp)│
└──────────────┬────────────┘   └────────┬────────────────┘
               │                         │                 
               │                         │                 
┌──────────────▼───────────────┐         │                 
│Short read alignment (Bowtie2)◄─────────┘                 
└──────────────┬───────────────┘                           
               │                                           
               │                                           
┌──────────────▼───────────────────────────┐               
│Sort and compress aligned reads (sambamba)│               
└──────────────────────────────────────────┘               

Filtering

Step Meta-Wrapper Wrapper
Sambamba-view bowtie2-sambamba meta-wrapper sambamba-view
Sambamba-markdup bowtie2-sambamba meta-wrapper sambamba-markdup
Sambamba-index bowtie2-sambamba meta-wrapper sambamba-index
Deeptools deeptools-alignment-sieve
 ┌─────────────────────────┐                                                
 │Aligned reads (see above)│                                                
 └───────────┬─────────────┘                                                
             │                                                              
             │                                                              
             │                                                              
             │                                                              
 ┌───────────▼─────────────────┐                                            
 │Filter low quality (sambamba)│                                            
 └───────────┬─────────────────┘                                            
             │                                                              
             │                                                              
             │                                                              
 ┌───────────▼──────────────┐           ┌──────────────────────────────────┐
 │Mark duplicates (sambamba)├───────────►Index aligned sequences (sambamba)│
 └───────────┬──────────────┘           └─────────┬────────────────────────┘
             │                                    │                         
             ├────────────────────────────────────┘                         
             │                                                              
┌────────────▼─────────────────┐        ┌──────────────────────────────────┐
│ Sieve alignments (deeptools) ├────────►Index aligned sequences (sambamba)│
│     OPTIONAL                 │        │     OPTIONAL                     │
└──────────────────────────────┘        └──────────────────────────────────┘

QC

Step Wrapper
Picard picard-collectmultiplemetrics
Samtools samtools-stats
MultiQC multiqc-wrapper
┌──────────────────────┐        ┌─────────────────────┐                ┌─────────────────────────┐
│ Cleaned reads (fastp)│    ┌───┤Duplicates (sambamba)◄────────────────┤Aligned reads (see above)│
└─────────────────────┬┘    │   └─────────────────────┘                └────┬────────────────────┘
                      │     │                                               │                     
                      ├─────┘                                               │                     
                      │         ┌──────────────────────────┐                │                     
                      ├─────────┤Alignment metrics (picard)◄────────────────┤                     
                      │         └──────────────────────────┘                │                     
                      │                                                     │                     
                      │                                                     │                     
                      │         ┌────────────────────────────┐              │                     
                      ├─────────┤Alignment metrics (samtools)◄──────────────┤                     
                      │         └────────────────────────────┘              │                     
                      │                                                     │                     
┌────────────────┐    │                                                     │                     
│ Quality report │    │         ┌─────────────────────────┐                 │                     
│   (multiqc)    ◄────┼─────────┤Alignment metrics (rseqc)◄─────────────────┤                     
└────────────────┘    │         └─────────────────────────┘                 │                     
                      │                                                     │                     
                      │                                                     │                     
                      │         ┌───────────────────────────┐               │                     
                      ├─────────┤Library metrics (ngsderive)◄───────────────┤                     
                      │         └───────────────────────────┘               │                     
                      │                                                     │                     
                      │                                                     │                     
                      │         ┌─────────────────────────┐                 │                     
                      └─────────┤Coverage metrics (goleft)◄─────────────────┘                     
                                └─────────────────────────┘