Meteor is a plateform for quantitative metagenomics profiling of complex ecosystems. Meteor relies on genes catalogue to perform species-level taxonomic profiling (Bacteria, Archaea and Eukaryotes), functional analysis and strain-level population structure inference.
Besides python packages dependencies, Meteor requires:
- python 3.11+
- bowtie2 2.3.5+
- freebayes 1.3.6+
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
For automated pipeline execution, a Nextflow wrapper nf-meteor.nf is available that streamlines the entire Meteor workflow:
nf-meteor.nf --in <fastq_dir> --catalogue_name <catalogue_name> --out <output_dir> --cpus <nb_cpus> -w <temp_work_dir>
Parameters:
--in Directory containing paired fastq.gz files (default: ).
--out Output directory (default: ).
--cpus Number of cpus to use (default: 4).
--catalogue_name Name of the prebuilt catalogue to use (default: none). Allowed values are: fc_1_3_gut, gg_13_6_caecal, clf_1_0_gut, hs_10_4_gut, hs_8_4_oral, hs_2_9_skin, mm_5_0_gut, oc_5_7_gut, rn_5_9_gut, ssc_9_3_gut
--catalogue Path to a catalogue (overrides --catalogue_name if both are provided).
--fast Enable fast mode for meteor (no functional analysis) (default: false).
--check_catalogue Check md5sum of the catalogue is compatible with the input reads (default: false).A basic usage of meteor will require to:
- Download or build a reference catalogue
- Structure the raw fastq files
- Map reads against the reference catalogue
- Compute taxonomical and/or functional abundances
- Strain profiling
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 |
|---|---|---|---|---|---|---|
| Canis lupus familiaris | clf_1_0_gut | 0.95 | 234 | 1.4 | 0.1 | link |
| Felis catus | fc_1_3_gut | 1.3 | 344 | 2.0 | 0.2 | link |
| Gallus gallus domesticus | gg_13_6_caecal | 13.6 | 2420 | 19.6 | 1.2 | link |
| Homo sapiens gut | hs_10_4_gut | 10.4 | 1990 | 12.6 | 0.7 | link |
| Homo sapiens oral | hs_8_4_oral | 8.4 | 853 | 13.7 | 0.5 | link |
| Homo sapiens skin | hs_2_9_skin | 2.9 | 392 | 3.9 | 0.2 | link |
| Mus musculus | mm_5_0_gut | 5.0 | 1252 | 10.3 | 0.6 | link |
| Oryctolagus cuniculus | oc_5_7_gut | 5.7 | 1053 | 8.0 | 0.4 | link |
| Rattus norvegicus | rn_5_9_gut | 5.9 | 1627 | 7.0 | 0.6 | link |
| Sus domesticus | ssc_9_3_gut | 9.3 | 1523 | 11.3 | 0.7 | link |
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>
Meteor requires a first of fastq indexing:
meteor fastq -i <fastqdir> [-p paired reads] -o <outputdir>
When multiple sequencing are available for a library, the option -m allows to group these samples. Example:
Illumina_lib1-SAMPLE_01.fastq
Illumina_lib1-SAMPLE_02.fastq
Illumina_lib2-SAMPLE_01.fastq
Illumina_lib2-SAMPLE_02.fastq
In this case, the following command will group these samples the same library:
meteor fastq -i ./ -m SAMPLE_\\d+ -o outputdir
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.
Genes from the catalogue are clustered into Metagenomic Species Pangeomes (MSP) with MSPminer, and are functionnaly annotated against KEGG r107, DBcan (carbohydate active enzymes) and MUSTARD (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) abundance table (from the KO annotation) (full catalogue only).
- a Gut Brain Modules (GBM) abundance table (from the KO, EGGNOG and TIGRFAM annotations) (full catalogue only).
To merge output from different samples into a single table, use the following command:
meteor merge -i <profiledir> -r <refdir> -o <mergingdir>
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>
This profiling step will generate:
- a mutation rate matrix;
- a fasta file of each strain for each sample;
- a table giving detailed comparison per strain. The file is a tab-separated values (TSV) file with one row per sample pair. Each row contains the following columns:
| Column | Description |
|---|---|
sample1 |
First sample in the comparison |
sample2 |
Second sample in the comparison |
total_length |
Total length of the alignment (in bases) |
overlap_noN_info_count |
Number of positions where both samples have minimal information (A,C,G,T or IUPAC codes excluding N, gaps, and ?) |
overlap_noIUPAC_info_count |
Number of positions where both samples have maximal information (strictly A,C,G,T only) |
overlap_noN_info_pc |
Percentage of total_length with minimal information overlap |
overlap_noIUPAC_info_pc |
Percentage of total_length with maximal information overlap |
noN_info_pc_sample1 |
In sample1, percentage of positions with minimal information |
noN_info_pc_sample2 |
In sample2, percentage of positions with minimal information |
noIUPAC_info_pc_sample1 |
In sample1, percentage of positions with maximal information |
noIUPAC_info_pc_sample2 |
In sample2, percentage of positions with maximal information |
distance |
Genetic distance between samples (0.0 = identical) |
distance_category |
Categorical classification: same_strain, same_subspecies, or divergent |
Samples are automatically classified based on their genetic distance:
| Category | Distance Threshold | Approximate Similarity | Biological Interpretation |
|---|---|---|---|
same_strain |
≤ 0.0001 | ≥ 99.99% | Same strain/clone |
same_subspecies |
≤ 0.015 | ≥ 97% | Same subspecies |
divergent |
> 0.015 | < 97% | Different lineage |
Note:
- Maximal Information: Unambiguous nucleotides (A, C, G, T only)
- Minimal Information: Includes IUPAC ambiguity codes (R, Y, S, W, K, M, B, D, H, V) but excludes N, gaps (-), and unknown (?)
Please cite the following publication if you use Meteor2:
Accurate profiling of microbial communities for shotgun metagenomic sequencing with Meteor2.
Amine Ghozlane, Florence Thirion, Florian Plaza Oñate, Franck Gauthier, Emmanuelle Le Chatelier, Anita Annamalé, Mathieu Almeida, Stanislav D. Ehrlich, Nicolas Pons.