Skip to main content

A multi-sample mapper to map reads onto a reference

Project description

https://badge.fury.io/py/sequana-mapper.svg https://github.com/sequana/mapper/actions/workflows/main.yml/badge.svg Python  3.9 | 3.10 | 3.11 JOSS (journal of open source software) DOI

This is the mapper pipeline from the Sequana projet

Overview:

This is a simple pipeline to map several FastQ files onto a reference using different mappers/aligners

Input:

A set of FastQ files (illumina, pacbio, etc).

Output:

A set of BAM files (and/or bigwig) and HTML report

Status:

Production

Documentation:

This README file, and https://sequana.readthedocs.io

Citation:

Cokelaer et al, (2017), ‘Sequana’: a Set of Snakemake NGS pipelines, Journal of Open Source Software, 2(16), 352, JOSS DOI https://doi:10.21105/joss.00352

Installation

If you already have all requirements, you can install the packages using pip:

pip install sequana_mapper --upgrade

You will need third-party software such as fastqc. Please see below for details.

Usage

This command will scan all files ending in .fastq.gz found in the local directory, create a directory called mapper/ where a snakemake pipeline can be executed.:

sequana_mapper --input-directory DATAPATH  --mapper bwa --create-bigwig
sequana_mapper --input-directory DATAPATH  --mapper bwa --do-coverage

This creates a directory with the pipeline and configuration file. You will then need to execute the pipeline:

cd mapper
sh mapper.sh  # for a local run

This launch a snakemake pipeline. See .sequana/profile/config.yaml to tune the behaviour of Snakemake.

Usage with apptainer

With apptainer, initiate the working directory as follows:

sequana_rnaseq --use-apptainer

Images are downloaded in the working directory but you can store them in a directory globally (e.g.):

sequana_rnaseq –use-apptainer –apptainer-prefix ~/.sequana/apptainers

and then:

cd rnaseq
sh rnaseq.sh

Requirements

This pipelines requires the following executable(s):

  • bamtools

  • bwa

  • multiqc

  • sequana_coverage

  • minimap2

  • bowtie2

  • deeptools

https://raw.githubusercontent.com/sequana/mapper/main/sequana_pipelines/mapper/dag.png

Details

This pipeline runs mapper in parallel on the input fastq files (paired or not). A brief sequana summary report is also produced. When using –pacbio option, -x map-pb options is automatically added to the config.yaml file and the readtag is set to None.

The BAM files are filtered to remove unmapped reads to keep BAM files to minimal size. However, the multiqc and statistics to be found in {sample}/bamtools_stats/ includes mapped and unmapped reads information. Each BAM file is stored in a directory named after the sample.

Rules and configuration details

Here is the latest documented configuration file to be used with the pipeline. Each rule used in the pipeline may have a section in the configuration file.

Changelog

Version

Description

1.3.1

  • remove temp on BWA BAM file (more practical to keep them)

1.3.0

  • uses new sequana_coverage wrapper

1.2.1

  • fix bwa_split bwa aggreate stage (bug fix)

1.2.0

  • Implement a bwa_split method to speed up mapping of very large fastq files.

1.1.0

  • BAM files are now filtered to remove unmapped reads

  • set wrappers branch in config file and update pipeline.

  • refactorise to use click and new sequana-pipetools

1.0.0

  • Use latest sequana-wrappers and graphviz apptainer

0.12.0

  • Use latest pipetools and add singularity containers

0.11.1

  • Fix typo when setting coverage to True and allow untagged filenames

0.11.0

  • implement feature counts for capture-seq projects

0.10.1

  • remove getlogdir and getname

0.10.0

  • use new wrappers framework

0.9.0

  • fix issue with logger and increments requirements

  • add new option –pacbio to automatically set the options for pacbio data (-x map-pb and readtag set to None)

0.8.13

  • add the thread option in minimap2 case

0.8.12

  • factorise multiqc rule

0.8.11

  • Implemente the –from-project option and new framework

  • custom HTMrLl report

0.8.10

  • change samtools_depth rule and switched to bam2cov to cope with null coverage

0.8.9

  • fix requirements

0.8.8

  • fix pipeline rule for bigwig + renamed output_bigwig into create_bigwig; fix the multiqc config file

0.8.7

  • fix config file creation (for bigwig)

0.8.6

  • added bowtie2 mapper + bigwig as output, make coverage optional

0.8.5

  • create a sym link to the HTML report. Better post cleaning.

0.8.4

  • Fixing multiqc (synchronized with sequana updates)

0.8.3

  • add sequana_coverage rule.

0.8.2

  • add minimap2 mapper

0.8.1

  • fix bamtools stats rule to have different output name for multiqc

0.8.0

First release.

Contribute & Code of Conduct

To contribute to this project, please take a look at the Contributing Guidelines first. Please note that this project is released with a Code of Conduct. By contributing to this project, you agree to abide by its terms.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sequana_mapper-1.3.1.tar.gz (72.5 kB view details)

Uploaded Source

Built Distribution

sequana_mapper-1.3.1-py3-none-any.whl (71.4 kB view details)

Uploaded Python 3

File details

Details for the file sequana_mapper-1.3.1.tar.gz.

File metadata

  • Download URL: sequana_mapper-1.3.1.tar.gz
  • Upload date:
  • Size: 72.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for sequana_mapper-1.3.1.tar.gz
Algorithm Hash digest
SHA256 3d388f0d3cba15bcca2a1de97186e5b06a07e909a92c65e52170e3b5cb2fb4aa
MD5 f6bbe17b09e0f6c303831b11157ed132
BLAKE2b-256 df6ef5731da038e2c4344b98ef8e0768fbd8f8325f2b1a196825eb9c9155d582

See more details on using hashes here.

File details

Details for the file sequana_mapper-1.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for sequana_mapper-1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6109dd824b9f0efc6277eb7d9839b86a8d9a3da9bac822b2b2a76891507a886b
MD5 2fb9aa9cdb7496facd38e0971b33af4e
BLAKE2b-256 d9d272959f8fd3a5d3a74139d0b70f1ddc08cff5aa500d004a0aa6ebec4ddd9f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page