sequana-mapper


Namesequana-mapper JSON
Version 1.2.1 PyPI version JSON
download
home_pagehttps://github.com/sequana/mapper
SummaryA multi-sample mapper to map reads onto a reference
upload_time2024-02-07 21:23:56
maintainer
docs_urlNone
authorSequana Team
requires_python>=3.8,<4.0
licenseBSD-3
keywords snakemake ngs sequana bwa minimap2
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
.. image:: https://badge.fury.io/py/sequana-mapper.svg
     :target: https://pypi.python.org/pypi/sequana_mapper

.. image:: https://github.com/sequana/mapper/actions/workflows/main.yml/badge.svg
   :target: https://github.com/sequana/mapper/actions/

.. image:: https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C3.10-blue.svg
    :target: https://pypi.python.org/pypi/sequana
    :alt: Python 3.8 | 3.9 | 3.10

.. image:: http://joss.theoj.org/papers/10.21105/joss.00352/status.svg
   :target: http://joss.theoj.org/papers/10.21105/joss.00352
   :alt: JOSS (journal of open source software) DOI

This is the **mapper** pipeline from the `Sequana <https://sequana.readthedocs.org>`_ 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. If you are familiar with snakemake, you can
retrieve the pipeline itself and its configuration files and then execute the pipeline yourself with specific parameters::

    snakemake -s mapper.rules -c config.yaml --cores 4 \
        --wrapper-prefix https://raw.githubusercontent.com/sequana/sequana-wrappers/

Or use `sequanix <https://sequana.readthedocs.io/en/main/sequanix.html>`_ interface.


Requirements
~~~~~~~~~~~~

This pipelines requires the following executable(s):

- bamtools
- bwa
- multiqc
- sequana_coverage
- minimap2
- bowtie2
- deeptools

.. image:: 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 <https://raw.githubusercontent.com/sequana/mapper/main/sequana_pipelines/mapper/config.yaml>`_
to be used with the pipeline. Each rule used in the pipeline may have a section in the configuration file.


Changelog
~~~~~~~~~

========= ======================================================================
Version   Description
========= ======================================================================
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 <https://github.com/sequana/sequana/blob/main/CONTRIBUTING.rst>`_ first. Please note that this project is released with a
`Code of Conduct <https://github.com/sequana/sequana/blob/main/CONDUCT.md>`_. By contributing to this project, you agree to abide by its terms.


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/sequana/mapper",
    "name": "sequana-mapper",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8,<4.0",
    "maintainer_email": "",
    "keywords": "snakemake,NGS,sequana,bwa,minimap2",
    "author": "Sequana Team",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/ef/69/12b40a46300abdc77663e70716d24c124029aa0ca08a0c5465634e640465/sequana_mapper-1.2.1.tar.gz",
    "platform": null,
    "description": "\n.. image:: https://badge.fury.io/py/sequana-mapper.svg\n     :target: https://pypi.python.org/pypi/sequana_mapper\n\n.. image:: https://github.com/sequana/mapper/actions/workflows/main.yml/badge.svg\n   :target: https://github.com/sequana/mapper/actions/\n\n.. image:: https://img.shields.io/badge/python-3.8%20%7C%203.9%20%7C3.10-blue.svg\n    :target: https://pypi.python.org/pypi/sequana\n    :alt: Python 3.8 | 3.9 | 3.10\n\n.. image:: http://joss.theoj.org/papers/10.21105/joss.00352/status.svg\n   :target: http://joss.theoj.org/papers/10.21105/joss.00352\n   :alt: JOSS (journal of open source software) DOI\n\nThis is the **mapper** pipeline from the `Sequana <https://sequana.readthedocs.org>`_ projet\n\n:Overview: This is a simple pipeline to map several FastQ files onto a reference using different mappers/aligners\n:Input: A set of FastQ files (illumina, pacbio, etc).\n:Output: A set of BAM files (and/or bigwig) and HTML report\n:Status: Production\n:Documentation: This README file, and https://sequana.readthedocs.io\n: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\n\nInstallation\n~~~~~~~~~~~~\n\nIf you already have all requirements, you can install the packages using pip::\n\n    pip install sequana_mapper --upgrade\n\nYou will need third-party software such as fastqc. Please see below for details.\n\nUsage\n~~~~~\n\nThis command will scan all files ending in .fastq.gz found in the local\ndirectory, create a directory called mapper/ where a snakemake pipeline can be executed.::\n\n    sequana_mapper --input-directory DATAPATH  --mapper bwa --create-bigwig\n    sequana_mapper --input-directory DATAPATH  --mapper bwa --do-coverage\n\nThis creates a directory with the pipeline and configuration file. You will then need\nto execute the pipeline::\n\n    cd mapper\n    sh mapper.sh  # for a local run\n\nThis launch a snakemake pipeline. If you are familiar with snakemake, you can\nretrieve the pipeline itself and its configuration files and then execute the pipeline yourself with specific parameters::\n\n    snakemake -s mapper.rules -c config.yaml --cores 4 \\\n        --wrapper-prefix https://raw.githubusercontent.com/sequana/sequana-wrappers/\n\nOr use `sequanix <https://sequana.readthedocs.io/en/main/sequanix.html>`_ interface.\n\n\nRequirements\n~~~~~~~~~~~~\n\nThis pipelines requires the following executable(s):\n\n- bamtools\n- bwa\n- multiqc\n- sequana_coverage\n- minimap2\n- bowtie2\n- deeptools\n\n.. image:: https://raw.githubusercontent.com/sequana/mapper/main/sequana_pipelines/mapper/dag.png\n\n\nDetails\n~~~~~~~~~\n\nThis pipeline runs **mapper** in parallel on the input fastq files (paired or not).\nA brief sequana summary report is also produced. When using **--pacbio** option,\n*-x map-pb* options is automatically added to the config.yaml file and the\nreadtag is set to None.\n\nThe BAM files are filtered to remove unmapped reads to keep BAM files to minimal size. However,\nthe 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.\n\n\n\nRules and configuration details\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nHere is the `latest documented configuration file <https://raw.githubusercontent.com/sequana/mapper/main/sequana_pipelines/mapper/config.yaml>`_\nto be used with the pipeline. Each rule used in the pipeline may have a section in the configuration file.\n\n\nChangelog\n~~~~~~~~~\n\n========= ======================================================================\nVersion   Description\n========= ======================================================================\n1.2.1     * fix bwa_split bwa aggreate stage (bug fix)\n1.2.0     * Implement a bwa_split method to speed up mapping of very large\n            fastq files.\n1.1.0     * BAM files are now filtered to remove unmapped reads\n          * set wrappers branch in config file and update pipeline.\n          * refactorise to use click and new sequana-pipetools\n1.0.0     * Use latest sequana-wrappers and graphviz apptainer\n0.12.0    * Use latest pipetools and add singularity containers\n0.11.1    * Fix typo when setting coverage to True and allow untagged filenames\n0.11.0    * implement feature counts for capture-seq projects\n0.10.1    * remove getlogdir and getname\n0.10.0    * use new wrappers framework\n0.9.0     * fix issue with logger and increments requirements\n          * add new option --pacbio to automatically set the options for\n            pacbio data (-x map-pb and readtag set to None)\n0.8.13    * add the thread option in minimap2 case\n0.8.12    * factorise multiqc rule\n0.8.11    * Implemente the --from-project option and new framework\n          * custom HTMrLl report\n0.8.10    * change samtools_depth rule and switched to bam2cov to cope with null\n            coverage\n0.8.9     * fix requirements\n0.8.8     * fix pipeline rule for bigwig + renamed output_bigwig into\n            create_bigwig; fix the multiqc config file\n0.8.7     * fix config file creation (for bigwig)\n0.8.6     * added bowtie2 mapper + bigwig as output, make coverage optional\n0.8.5     * create a sym link to the HTML report. Better post cleaning.\n0.8.4     * Fixing multiqc (synchronized with sequana updates)\n0.8.3     * add sequana_coverage rule.\n0.8.2     * add minimap2 mapper\n0.8.1     * fix bamtools stats rule to have different output name for multiqc\n0.8.0     **First release.**\n========= ======================================================================\n\n\nContribute & Code of Conduct\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nTo contribute to this project, please take a look at the\n`Contributing Guidelines <https://github.com/sequana/sequana/blob/main/CONTRIBUTING.rst>`_ first. Please note that this project is released with a\n`Code of Conduct <https://github.com/sequana/sequana/blob/main/CONDUCT.md>`_. By contributing to this project, you agree to abide by its terms.\n\n",
    "bugtrack_url": null,
    "license": "BSD-3",
    "summary": "A multi-sample mapper to map reads onto a reference",
    "version": "1.2.1",
    "project_urls": {
        "Homepage": "https://github.com/sequana/mapper",
        "Repository": "https://github.com/sequana/mapper"
    },
    "split_keywords": [
        "snakemake",
        "ngs",
        "sequana",
        "bwa",
        "minimap2"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "134999c06e6d2c422843b80a40630a70092c022a424d59fe0a3e5ea9a7055bc4",
                "md5": "de9a34675d0b3cc58151eb6267a9327a",
                "sha256": "3d539bbbeef35e5445d7b0006bea72a3848a62ec2e6158082023de0c50b410b7"
            },
            "downloads": -1,
            "filename": "sequana_mapper-1.2.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "de9a34675d0b3cc58151eb6267a9327a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8,<4.0",
            "size": 71398,
            "upload_time": "2024-02-07T21:23:53",
            "upload_time_iso_8601": "2024-02-07T21:23:53.833463Z",
            "url": "https://files.pythonhosted.org/packages/13/49/99c06e6d2c422843b80a40630a70092c022a424d59fe0a3e5ea9a7055bc4/sequana_mapper-1.2.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ef6912b40a46300abdc77663e70716d24c124029aa0ca08a0c5465634e640465",
                "md5": "ec5d31e8340bb2b21d703afe4b311dde",
                "sha256": "cd6267de306b10becf937042fdf312015b5b565e4fa7fa7e2316f4b9f23fd37a"
            },
            "downloads": -1,
            "filename": "sequana_mapper-1.2.1.tar.gz",
            "has_sig": false,
            "md5_digest": "ec5d31e8340bb2b21d703afe4b311dde",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8,<4.0",
            "size": 72352,
            "upload_time": "2024-02-07T21:23:56",
            "upload_time_iso_8601": "2024-02-07T21:23:56.003882Z",
            "url": "https://files.pythonhosted.org/packages/ef/69/12b40a46300abdc77663e70716d24c124029aa0ca08a0c5465634e640465/sequana_mapper-1.2.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-07 21:23:56",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "sequana",
    "github_project": "mapper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "sequana-mapper"
}
        
Elapsed time: 0.18755s