# Meteor
[![install with conda](https://img.shields.io/conda/vn/bioconda/meteor?color=green&label=bioconda%2Fmeteor&logo=anaconda)](https://anaconda.org/bioconda/meteor)
[![PyPI](https://img.shields.io/pypi/v/METEOR?label=pypi%20package)](https://pypi.org/project/meteor/)
[![dockerhub](https://img.shields.io/docker/v/aghozlane/meteor?label=aghozlane/meteor&logo=docker)](https://hub.docker.com/r/aghozlane/meteor/)
![Github Actions](https://github.com/metagenopolis/meteor/actions/workflows/main.yml/badge.svg)
[![codecov](https://codecov.io/gh/metagenopolis/meteor/graph/badge.svg?token=AXAEIUY7DX)](https://codecov.io/gh/metagenopolis/meteor)
[![DOI](https://zenodo.org/badge/722959292.svg)](https://zenodo.org/doi/10.5281/zenodo.10912587)
## Introduction
Meteor is a plateform for quantitative metagenomics profiling of complex ecosystems.
Meteor relies on genes catalogue to perform species-level taxonomic profiling, functional analysis and strain-level population structure inference.
## Dependencies
Besides python packages dependencies, Meteor requires:
- python 3.10+
- [bowtie2 2.3.5+](https://github.com/BenLangmead/bowtie2)
- [freebayes 1.3.6+](https://github.com/freebayes/freebayes)
<!-- - [mafft 7.487+](https://mafft.cbrc.jp/alignment/software/) -->
## Installation
Meteor is available with conda which includes all its dependencies:
```
conda create --name meteor -c conda-forge -c bioconda meteor
```
Or with pip with a recent Python 3.10+:
```
pip install meteor
```
You can test the installation of meteor with:
```
meteor test
```
## Getting started
A basic usage of meteor will require to:
1. **Download or build a reference catalogue**
2. **Structure the raw fastq files**
3. **Map reads against the reference catalogue**
4. **Compute taxonomical and/or functional abundances**
5. **Strain profiling**
### 1. Download or build a custom reference
-------------------------------------------
Meteor requires to download locally a microbial gene catalogue specif, either in 'full' or 'light' version. The 'full' version contains all genes of the catalogue, whereas the 'light' version contains only the marker genes that will be used to infer species abundance profiles. Of note, no functional profiling can be performed when using the 'light' version of a catalogue.
Ten catalogues are currently available:
| Microbial gene catalogue | \<name\> | Genes count (M) | Metagenomic Species Pan-genomes (MSPs) |Size (full) (GB) | Size (light) (GB) | Description |
|:---|:---:|:---:|:---:|:---:|:---:|:---:|
| *Felis catus* | cat_gut | 1.3 | 344 | 2.0 | 0.2 |[link](https://zenodo.org/records/12820763)
| *Gallus gallus domesticus* | chicken_caecal | 13.6 | 2420 | 19.6 | 1.2 |[link](https://zenodo.org/records/12820776)
| *Canis lupus familiaris* | dog_gut | 0.95 | 234 | 1.4 | 0.1 |[link](https://zenodo.org/records/12820719)
| *Homo sapiens gut* | human_gut | 10.4 | 1990 | 12.6 | 0.7 |[link](https://zenodo.org/records/12820832)
| *Homo sapiens oral* | human_oral | 8.4 | 853 | 13.7 | 0.5 |[link](https://zenodo.org/records/2821296)
| *Homo sapiens skin* | human_skin | 2.9 | 392 | 3.9 | 0.2 |[link](https://zenodo.org/records/12820845)
| *Mus musculus* | mouse_gut | 5.0 | 1252 | 10.3 | 0.6 |[link](https://zenodo.org/records/12821471)
| *Oryctolagus cuniculus* | rabbit_gut | 5.7 | 1053 | 8.0 | 0.4 |[link](https://zenodo.org/records/12821585)
| *Rattus norvegicus* | rat_gut | 5.9 | 1627 | 7.0 | 0.6 |[link](https://zenodo.org/records/13119584)
| *Sus domesticus* | pig_gut | 9.3 | 1523 | 11.3 | 0.7 |[link](https://zenodo.org/records/13119585)
These references can be downloaded with the following command:
```
meteor download -i <name> -c -o <refdir>
```
The 'light' catalogues are available with the tag (--fast) :
```
meteor download -i <name> -c --fast -o <refdir>
```
Users can also import custom gene catalogue with the command:
```
meteor build -i <fastafile> -n <name> -o <refdir> -t <threads>
```
### 2. Import fastq
-------------------
Meteor requires a first of fastq indexing:
```
meteor fastq -i <fastqdir> [-p paired reads] -n <projectname> -o <outputdir>
```
When multiple sequencing are available for a library, the option -m allows to group these samples.
Example:
Illumina_lib1-**SAMPLE_01**.fastq <br />
Illumina_lib1-**SAMPLE_02**.fastq <br />
Illumina_lib2-**SAMPLE_01**.fastq <br />
Illumina_lib2-**SAMPLE_02**.fastq <br />
In this case, the following command will group these samples the same library:
```
meteor fastq -i ./ -m SAMPLE_\\d+ -n projectname -o outputdir
```
### 3. Mapping
----------------
The fastq files are mapped against a catalogue to generate a gene count table with the following command:
```
meteor mapping -i <fastqdir/sampledir> -r <refdir> -o <mappingdir>
```
We recommend to first filter out reads with low-quality, length < 60nt or belonging to the host.
### 4. Taxonomic and functional profiling
-------------------------
Genes from the catalogue are clustered into Metagenomic Species Pangeomes (MSP) with [MSPminer](https://academic.oup.com/bioinformatics/article/35/9/1544/5106712), and are functionnaly annotated against [KEGG r107](https://academic.oup.com/nar/article/36/suppl_1/D480/2507484), [DBcan](https://academic.oup.com/nar/article/51/W1/W115/7147496?login=true) (carbohydate active enzymes) and [MUSTARD](https://www.nature.com/articles/s41564-018-0292-6) (antibiotic resistant determinants).
MSP and functional profiles are computed from the gene count table with the following command:
```
meteor profile -i <mappingdir/sampledir> -o <profiledir> -r <refdir> -n coverage
```
The "-n" parameter ensures read count normalization for gene length. If omitted, no normalization will be performed on the gene table.
This profiling step will generate:
- a Species abundance table;
- an ARD abundance table (full catalogue only);
- a DBCAN abundance table (full catalogue only);
- a Gut Metabolic Modules ([GMM](https://www.nature.com/articles/nmicrobiol201688)) abundance table (from the KO annotation) (full catalogue only).
- a Gut Brain Modules ([GBM](https://www.nature.com/articles/s41564-018-0337-x)) abundance table (from the KO, EGGNOG and TIGRFAM annotations) (full catalogue only).
### 5. Merging
To merge output from different samples into a single table, use the following command:
```
meteor merge -i <profiledir> -o <mergingdir>
```
### 5. Strain profiling
-------------------------
Meteor is capable of profiling strains in large metagenomic datasets. It identifies specific mutations from strains and applies them to the gene catalog MSPs.
To use Meteor for strain profiling, use the following command:
```
meteor strain -i <mappingdir/sampledir> -o <straindir> -r <refdir>
```
Meteor computes mutation rates and trees between strains from samples using a GTR+GAMMA model with the following command:
```
meteor tree -i <straindir> -o <treedir>
```
## The METEOR team
The main contributors to METEOR:
* Franck Gauthier
* Amine Ghozlane
* Florian Plaza OƱate
* Nicolas Pons
* Florence Thirion
## Acknowledgements
Special thanks to the following people:
* Mathieu Almeida
* Emmanuelle Le Chatelier
Raw data
{
"_id": null,
"home_page": "https://github.com/metagenopolis/meteor",
"name": "meteor",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.13,>=3.10",
"maintainer_email": null,
"keywords": "Metagenomics",
"author": "Amine Ghozlane",
"author_email": "amine.ghozlane@pasteur.fr",
"download_url": "https://files.pythonhosted.org/packages/de/1f/eee2459eb8b151af312ea4a093833064b6f90c8891000381fc9cb20a55f2/meteor-2.0.17.tar.gz",
"platform": null,
"description": "# Meteor\n\n[![install with conda](https://img.shields.io/conda/vn/bioconda/meteor?color=green&label=bioconda%2Fmeteor&logo=anaconda)](https://anaconda.org/bioconda/meteor)\n[![PyPI](https://img.shields.io/pypi/v/METEOR?label=pypi%20package)](https://pypi.org/project/meteor/)\n[![dockerhub](https://img.shields.io/docker/v/aghozlane/meteor?label=aghozlane/meteor&logo=docker)](https://hub.docker.com/r/aghozlane/meteor/)\n![Github Actions](https://github.com/metagenopolis/meteor/actions/workflows/main.yml/badge.svg)\n[![codecov](https://codecov.io/gh/metagenopolis/meteor/graph/badge.svg?token=AXAEIUY7DX)](https://codecov.io/gh/metagenopolis/meteor)\n[![DOI](https://zenodo.org/badge/722959292.svg)](https://zenodo.org/doi/10.5281/zenodo.10912587)\n\n## Introduction\n\nMeteor is a plateform for quantitative metagenomics profiling of complex ecosystems.\nMeteor relies on genes catalogue to perform species-level taxonomic profiling, functional analysis and strain-level population structure inference.\n\n\n## Dependencies\n\nBesides python packages dependencies, Meteor requires:\n- python 3.10+\n- [bowtie2 2.3.5+](https://github.com/BenLangmead/bowtie2)\n- [freebayes 1.3.6+](https://github.com/freebayes/freebayes)\n<!-- - [mafft 7.487+](https://mafft.cbrc.jp/alignment/software/) -->\n\n## Installation\n\nMeteor is available with conda which includes all its dependencies:\n```\nconda create --name meteor -c conda-forge -c bioconda meteor\n```\n\nOr with pip with a recent Python 3.10+:\n```\npip install meteor\n```\nYou can test the installation of meteor with:\n```\nmeteor test\n```\n## Getting started\n\nA basic usage of meteor will require to:\n1. **Download or build a reference catalogue**\n2. **Structure the raw fastq files**\n3. **Map reads against the reference catalogue**\n4. **Compute taxonomical and/or functional abundances**\n5. **Strain profiling**\n\n### 1. Download or build a custom reference\n-------------------------------------------\n\nMeteor requires to download locally a microbial gene catalogue specif, either in 'full' or 'light' version. The 'full' version contains all genes of the catalogue, whereas the 'light' version contains only the marker genes that will be used to infer species abundance profiles. Of note, no functional profiling can be performed when using the 'light' version of a catalogue.\n\nTen catalogues are currently available:\n\n| Microbial gene catalogue | \\<name\\> | Genes count (M) | Metagenomic Species Pan-genomes (MSPs) |Size (full) (GB) | Size (light) (GB) | Description |\n|:---|:---:|:---:|:---:|:---:|:---:|:---:|\n| *Felis catus* | cat_gut | 1.3 | 344 | 2.0 | 0.2 |[link](https://zenodo.org/records/12820763)\n| *Gallus gallus domesticus* | chicken_caecal | 13.6 | 2420 | 19.6 | 1.2 |[link](https://zenodo.org/records/12820776)\n| *Canis lupus familiaris* | dog_gut | 0.95 | 234 | 1.4 | 0.1 |[link](https://zenodo.org/records/12820719)\n| *Homo sapiens gut* | human_gut | 10.4 | 1990 | 12.6 | 0.7 |[link](https://zenodo.org/records/12820832)\n| *Homo sapiens oral* | human_oral | 8.4 | 853 | 13.7 | 0.5 |[link](https://zenodo.org/records/2821296)\n| *Homo sapiens skin* | human_skin | 2.9 | 392 | 3.9 | 0.2 |[link](https://zenodo.org/records/12820845)\n| *Mus musculus* | mouse_gut | 5.0 | 1252 | 10.3 | 0.6 |[link](https://zenodo.org/records/12821471)\n| *Oryctolagus cuniculus* | rabbit_gut | 5.7 | 1053 | 8.0 | 0.4 |[link](https://zenodo.org/records/12821585)\n| *Rattus norvegicus* | rat_gut | 5.9 | 1627 | 7.0 | 0.6 |[link](https://zenodo.org/records/13119584)\n| *Sus domesticus* | pig_gut | 9.3 | 1523 | 11.3 | 0.7 |[link](https://zenodo.org/records/13119585)\n\nThese references can be downloaded with the following command:\n```\nmeteor download -i <name> -c -o <refdir>\n```\nThe 'light' catalogues are available with the tag (--fast) :\n```\nmeteor download -i <name> -c --fast -o <refdir>\n```\n\nUsers can also import custom gene catalogue with the command:\n```\nmeteor build -i <fastafile> -n <name> -o <refdir> -t <threads>\n```\n\n### 2. Import fastq\n-------------------\nMeteor requires a first of fastq indexing:\n```\nmeteor fastq -i <fastqdir> [-p paired reads] -n <projectname> -o <outputdir>\n```\nWhen multiple sequencing are available for a library, the option -m allows to group these samples.\nExample:\n\nIllumina_lib1-**SAMPLE_01**.fastq <br />\nIllumina_lib1-**SAMPLE_02**.fastq <br />\nIllumina_lib2-**SAMPLE_01**.fastq <br />\nIllumina_lib2-**SAMPLE_02**.fastq <br />\n\nIn this case, the following command will group these samples the same library:\n```\nmeteor fastq -i ./ -m SAMPLE_\\\\d+ -n projectname -o outputdir\n```\n\n### 3. Mapping\n----------------\nThe fastq files are mapped against a catalogue to generate a gene count table with the following command:\n```\nmeteor mapping -i <fastqdir/sampledir> -r <refdir> -o <mappingdir>\n```\nWe recommend to first filter out reads with low-quality, length < 60nt or belonging to the host.\n\n### 4. Taxonomic and functional profiling\n-------------------------\n\nGenes from the catalogue are clustered into Metagenomic Species Pangeomes (MSP) with [MSPminer](https://academic.oup.com/bioinformatics/article/35/9/1544/5106712), and are functionnaly annotated against [KEGG r107](https://academic.oup.com/nar/article/36/suppl_1/D480/2507484), [DBcan](https://academic.oup.com/nar/article/51/W1/W115/7147496?login=true) (carbohydate active enzymes) and [MUSTARD](https://www.nature.com/articles/s41564-018-0292-6) (antibiotic resistant determinants).\n\n MSP and functional profiles are computed from the gene count table with the following command:\n\n```\nmeteor profile -i <mappingdir/sampledir> -o <profiledir> -r <refdir> -n coverage\n```\n\nThe \"-n\" parameter ensures read count normalization for gene length. If omitted, no normalization will be performed on the gene table.\n\nThis profiling step will generate:\n- a Species abundance table;\n- an ARD abundance table (full catalogue only);\n- a DBCAN abundance table (full catalogue only);\n- a Gut Metabolic Modules ([GMM](https://www.nature.com/articles/nmicrobiol201688)) abundance table (from the KO annotation) (full catalogue only).\n- a Gut Brain Modules ([GBM](https://www.nature.com/articles/s41564-018-0337-x)) abundance table (from the KO, EGGNOG and TIGRFAM annotations) (full catalogue only).\n\n### 5. Merging\n\nTo merge output from different samples into a single table, use the following command:\n\n```\nmeteor merge -i <profiledir> -o <mergingdir>\n```\n\n### 5. Strain profiling\n-------------------------\n\nMeteor is capable of profiling strains in large metagenomic datasets. It identifies specific mutations from strains and applies them to the gene catalog MSPs.\n\nTo use Meteor for strain profiling, use the following command:\n```\nmeteor strain -i <mappingdir/sampledir> -o <straindir> -r <refdir>\n```\n\nMeteor computes mutation rates and trees between strains from samples using a GTR+GAMMA model with the following command:\n```\nmeteor tree -i <straindir> -o <treedir>\n```\n\n## The METEOR team\nThe main contributors to METEOR:\n\n* Franck Gauthier\n* Amine Ghozlane\n* Florian Plaza O\u00f1ate\n* Nicolas Pons\n* Florence Thirion\n\n\n## Acknowledgements\nSpecial thanks to the following people:\n* Mathieu Almeida\n* Emmanuelle Le Chatelier\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Meteor - A plateform for quantitative metagenomic profiling of complex ecosystems",
"version": "2.0.17",
"project_urls": {
"Homepage": "https://github.com/metagenopolis/meteor",
"Repository": "https://github.com/metagenopolis/meteor"
},
"split_keywords": [
"metagenomics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b8ab15cf204fae4e9721be8319756959486ab981518f13993c7f2a1930af6ab9",
"md5": "5eb0e70bd951b4cbc2911528fd1e2ada",
"sha256": "f8098308d2c567f40e2bd8dc217be540f1fe3bd27b6de5cdca7d2575ad7fe004"
},
"downloads": -1,
"filename": "meteor-2.0.17-py3-none-any.whl",
"has_sig": false,
"md5_digest": "5eb0e70bd951b4cbc2911528fd1e2ada",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.13,>=3.10",
"size": 61492323,
"upload_time": "2024-11-21T12:35:56",
"upload_time_iso_8601": "2024-11-21T12:35:56.738219Z",
"url": "https://files.pythonhosted.org/packages/b8/ab/15cf204fae4e9721be8319756959486ab981518f13993c7f2a1930af6ab9/meteor-2.0.17-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "de1feee2459eb8b151af312ea4a093833064b6f90c8891000381fc9cb20a55f2",
"md5": "34892f07a290a336179168a3a3ed52fb",
"sha256": "b10a7178e4675ac37edd24e7699ac4e70b8ec9c155d33213ab3d2981849c9a36"
},
"downloads": -1,
"filename": "meteor-2.0.17.tar.gz",
"has_sig": false,
"md5_digest": "34892f07a290a336179168a3a3ed52fb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.13,>=3.10",
"size": 61425137,
"upload_time": "2024-11-21T12:36:04",
"upload_time_iso_8601": "2024-11-21T12:36:04.045644Z",
"url": "https://files.pythonhosted.org/packages/de/1f/eee2459eb8b151af312ea4a093833064b6f90c8891000381fc9cb20a55f2/meteor-2.0.17.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-21 12:36:04",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "metagenopolis",
"github_project": "meteor",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "meteor"
}