Step by step tutorial¶
Here is the step by step tutorial of the entire pipeline. This is helpful in case you have your own files or just want to run a specific step.
Before running anything make sure you have activated the conda environment using
conda activate autometa.
See the Install page for details on setting up your conda environment.
I will be going through this tutorial using the 78Mbp test dataset which can be found here https://drive.google.com/drive/u/2/folders/1McxKviIzkPyr8ovj8BG7n_IYk-QfHAgG. You only need to download metagenome.fna.gz from the above link and save it at a directory as per your liking. I’m saving it in $HOME/tutorial/test_data/. For instructions on how to download the dataset using command line see the “Using command line” section on Benchmarking page.
1. Length filter¶
The first step when running autometa is the legth filtering. This would remove any contigs that are below the length cutoff. This is useful in removing the noise from the data, as small contigs may have ambigious kmer frequencies. The default cutoff if 3,000bp, ie. any contig that is smaller than 3,000bp would be removed.
Note
It is important that you alter the cutoff based on your N50. If your N50 is really small, e.g. 500bp (pretty common for soil assemblies), then you might want to lower your cutoff to somehwere near N50. The tradeoff with lowing the length cutoff, however, is a greater number of contigs which may make it more difficult for the dataset to be binned. As was shown in the Autometa paper, as assembly quality degrades so does the binning performance.
Use the following command to run the length-filter step:
autometa-length-filter \
--assembly $HOME/tutorial/test_data/78mbp_metagenome.fna \
--cutoff 3000 \
--output-fasta $HOME/tutorial/78mbp_metagenome.filtered.fna \
--output-stats $HOME/tutorial/78mbp_metagenome.stats.tsv \
--output-gc-content $HOME/tutorial/78mbp_metagenome.gc_content.tsv
Let us dissect the above command:
| Flag | Input arguments | Requirement |
|---|---|---|
--assembly |
Path to metagenome assembly (nucleotide fasta) file | Required |
--cutoff |
Length cutoff for the filtered assembly. Default is 3,000bp | Optional |
--output-fasta |
Path to filtered metagenomic assembly that would be used for binning | Required |
--output-stats |
Path to assembly statistics table | Optional |
--output-gc-content |
Path to assembly contigs’ GC content and length stats table | Optional |
You can view the complete command line opions using autometa-length-filter -h
The above command generates the following files:
| File | Description |
|---|---|
| 78mbp_metagenome.filtered.fna | Length filtered metagenomic assembly to be used for binning |
| 78mbp_metagenome.stats.tsv | Table describing the filtered metagenome assembly statistics |
| 78mbp_metagenome.gc_content.tsv | Table of GC content and length of each contig in the filtered assembly |
2. Coverage calculation¶
Coverage calculation for each contig is done to provide another parameter to use while clustering contigs. If you have used SPades to assemble your metagenome, you can use the following command to generate the coverage table:
autometa-coverage \
--assembly $HOME/tutorial/78mbp_metagenome.fna \
--from-spades \
--out $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--cpus 40
If you have assembled your metagenome using some other assembler you can use one of the following commands to generate the coverage table.
# If you have already made a bed file
autometa-coverage \
--assembly $HOME/tutorial/78mbp_metagenome.filtred.fna \
--bed 78mbp_metagenome.bed \
--out $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--cpus 40
# If you have already made an alignment (bam file)
autometa-coverage \
--assembly $HOME/tutorial/78mbp_metagenome.filtred.fna \
--bam 78mbp_metagenome.bam \
--out $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--cpus 40
# If you have already made an alignment (sam file)
autometa-coverage \
--assembly $HOME/tutorial/78mbp_metagenome.filtred.fna \
--sam 78mbp_metagenome.sam \
--out $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--cpus 40
# If you just have forward and reverse reads
autometa-coverage \
--assembly $HOME/tutorial/78mbp_metagenome.filtred.fna \
--fwd-reads fwd_reads_1.fastq--rev-reads rev_reads_1.fastq \
--out $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--cpus 40
# In case you have multiple fwd and rev read pairs supply a comma-delimited list (no spaces, fwd and rev lists should be in the same order)
autometa-coverage \
--assembly $HOME/tutorial/78mbp_metagenome.filtred.fna \
--fwd-reads fwd_reads_1.fastq,fwd_reads_2.fastq \
--rev-reads rev_reads_1.fastq,rev_reads_2.fastq \
--out $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--cpus 40
Let us dissect the above commands:
| Flag | Function |
|---|---|
--assembly |
Path to length filtered metagenome assembly |
--from-spades |
If the input assembly is generated using SPades then extract k-mer coverages from contig IDs |
--bed |
Path to pre-prepared bed file |
--bed |
Path to pre-prepared bam file |
--sam |
Path to pre-prepared sam file |
--fwd-reads |
Path to forward reads |
--rev-reads |
Path to reverse reads |
--cpus |
Number of CPUs to use (default is to use all available CPUs) |
--out |
Path to coverage table of each contig |
You can view the complete command line opions using autometa-coverage -h
The above command would generate the following files:
| File | Description |
|---|---|
| 78mbp_metagenome.coverages.tsv | Table with read or k-mer coverage of each contig in the metagenome |
3. Generate Open Reading Frames (ORFs)¶
ORF calling using prodigal is performed here. The ORFs are needed for single copy marker gene detection and for taxonomic assignment.
Use the following command to run the ORF calling step:
autometa-orfs \
--assembly $HOME/tutorial/78mbp_metagenome.filtred.fna \
--output-nucls $HOME/tutorial/78mbp_metagenome.orfs.fna \
--output-prots $HOME/tutorial/a78mbp_metagenome.orfs.faa \
--cpus 40
Let us dissect the above command:
| Flag | Function |
|---|---|
--assembly |
Path to length filtered metagenome assembly |
--output-nucls |
Path to nucleic acid sequence of ORFs |
--output-prots |
Path to amino acid sequence of ORFs |
--cpus |
Number of CPUs to use (default is to use all available CPUs) |
You can view the complete command line opions using autometa-orfs -h
The above command would generate the following files:
| File | Description |
|---|---|
| 78mbp_metagenome.orfs.fna | Nucleic acid fasta file of ORFs |
| 78mbp_metagenome.orfs.faa | Amino acid fasta file of ORFs |
4. Single copy markers¶
Autometa uses single-copy markers to guide clustering, and does not assume that recoverable genomes will necessarily be ‘complete’. You first need to download the single-copy markers.
#Create a markers directory to hold the marker genes
mkdir /Autometa/autometa/databases/markers
# Change the default download path to the directory created above
autometa-config --section databases --option markers --value /Autometa/autometa/databases/markers
# Download single-copy marker genes
autometa-update-databases --update-markers
# hmmpress the marker genes
hmmpress -f /Autometa/autometa/databases/markers/bacteria.single_copy.hmm
hmmpress -f /Autometa/autometa/databases/markers/archaea.single_copy.hmm
Use the following command to annotate contigs containing single copy marker genes:
autometa-markers \
--orfs $HOME/tutorial/78mbp_metagenome.orfs.faa \
--kingdom bacteria \
--hmmscan $HOME/tutorial/78mbp_metagenome.hmmscan.tsv \
--parallel \
--cpus 90 \
--seed 42 \
--out $HOME/tutorial/78mbp_metagenome.markers.tsv
Let us disect the above command:
| Flag | Function | Requirement |
|---|---|---|
--orfs |
Path to fasta file containing amino acid sequences of ORFS | Required |
--kingdom |
Kingdom to search for markers. Choices bacteria (default) and archaea | Optional |
--hmmscan |
Path to hmmscan output table containing the respective kingdom single-copy marker annotations | Required |
--parallel |
Use hmmscan parallel option (default: False) | Optional |
--cpus |
Number of CPUs to use (default is to use all available CPUs) | Optional |
--seed |
Seed to set random state for hmmscan. (default: 42) | Optional |
--out |
Path to write filtered annotated markers corresponding to kingdom | Required |
You can view the complete command line opions using autometa-markers -h
The above command would generate the following files:
| File | Description |
|---|---|
| 78mbp_metagenome.hmmscan.tsv | hmmscan output table containing the respective kingdom single-copy marker annotations |
| 78mbp_metagenome.markers.tsv | Annotated marker table corresponding to the particular kingdom |
5. Taxonomy assignment¶
5.1 BLASTP¶
Autometa assigns a taxonomic rank to each contig and then takes only the contig belonging to the specified kingdom (either bacteria or archaea) for binning. We found that in host-associated metagenomes, this step vastly improves the binning performance of Autometa (and other pipelines) because less eukaryotic or viral contigs will be binned into bacterial bins.
The first step for contig taxonomy assignment is a local alignment search of the ORFs against a reference database. This can be accelerated using diamond.
Create a diamond formatted database of the NCBI non-redundant (nr) protein database.
diamond makedb --in /Autometa/autometa/databases/ncbi/nr --db /Autometa/autometa/databases/ncbi/nr -p 40
Breaking down the above command:
| Flag | Function |
|---|---|
| –in | Path to nr database |
| –db | Path to diamond formated nr database |
| -p | Number of processors to use |
Run diamond blastp using the following command:
diamond blastp \
--query $HOME/tutorial/78mbp_metagenome.orfs.faa \
--db /Autometa/autometa/databases/ncbi/nr.dmnd \
--evalue 1e-5 \
--max-target-seqs 200 \
--threads 40 \
--outfmt 6 \
--out $HOME/tutorial/78mbp_metagenome.blastp.tsv
Breaking down the above command:
| Flag | Function |
|---|---|
| –query | Path to query sequence. Here, amino acid sequence of ORFs |
| –db | Path to diamond formatted nr database |
| –evalue | Maximum expected value to report an alignment |
| –max-target-seqs | Maximum number of target sequences per query to report alignments for |
| –threads | Number of processors to use |
| –outfmt | Output format of BLASTP results |
| –out | Path to BLASTP results |
To see the complete list of acceptable output formats see Diamond GitHub Wiki. A complete list of all command line options for Diamond can be found on its GitHub Wiki.
Note
Autometa only parses output format 6 provided above as: --outfmt 6
The above command would generate the blastP table (78mbp_metagenome.blastp.tsv) in output format 6
5.2 Lowest Common Ancestor (LCA)¶
The second step in taxon assignment is finding out the lowest common ancestor (LCA). The lowest common ancestor refers to the ORF most closely associated with other given ORFs parsed from a BLAST query that is lowest on the tree of life. This step uses the blastp results generated in the previous step to generate a table having the LCA of each ORF. As a default only the blast hits which are within 10% of the top bitscore are used.
Use the following command to get the LCA of each ORF:
autometa-taxonomy-lca \
--blast $HOME/tutorial/78mbp_metagenome.blastp.tsv \
--dbdir /Autometa/autometa/databases/ncbi/ \
--output $HOME/tutorial/78mbp_metagenome.lca.tsv
Let us dissect the above command:
| Flag | Function | Requirement |
|---|---|---|
| –blast | Path to diamond balstp output | Required |
| –output | Path to write LCA results | Required |
| –dbdir | Path to directory having ncbi databases | Optional |
You can view the complete command line opions using autometa-taxonomy-lca -h
The above command would generate a table (78mbp_metagenome.lca.tsv) having the name, rank and taxid of the LCA for each ORF.
5.3 Majority vote¶
The next step in taxon assignment is doing a modified majority vote to decide the taxonomy of each contig. This was developed to help minimize the effect of horizontal gene transfer (HGT). Briefly, the voting system helps assign the correct taxonomy to the contig from its component ORF classification. Even with highly divergent ORFs this allows for accurate kingdom level classification, enabling us to remove any eukaryotic contaminants or host DNA.
You can run the majority vote step using the following command:
autometa-taxonomy-majority-vote \
--lca $HOME/tutorial/78mbp_metagenome.lca.tsv \
--output $HOME/tutorial/78mbp_metagenome.votes.tsv \
--dbdir /Autometa/autometa/databases/ncbi/
Let us dissect the above command:
| Flag | Function |
|---|---|
| –lca | Path to LCA table |
| –output | Path to write majority vote table |
| –dbdir | Path to ncbi database directory |
You can view the complete command line opions using autometa-taxonomy-majority-vote -h
The above command would generate a table (78mbp_metagenome.votes.tsv) having the taxid of each contig identified as per majority vote.
5.4 Split kingdoms¶
In this final step of taxon assignment we use the voted taxid of each contig to split the contigs in different kingdoms and write them as per the provided canonical rank.
autometa-taxonomy \
--votes $HOME/tutorial/78mbp_metagenome.votes.tsv \
--output $HOME/tutorial/ \
--assembly $HOME/tutorial/78mbp_metagenome.filtered.fna \
--prefix 78mbp_metagenome \
--split-rank-and-write superkingdom \
--ncbi /Automesta/autometa/databases/ncbi/
Let us dissect the above command:
| Flag | Function | Requirement |
|---|---|---|
--votes |
Path to voted taxids table | Required |
--output |
Directory to output fasta files of split canonical ranks and taxonomy.tsv | Required |
--assembly |
Path to filtered metagenome assembly | Required |
--prefix |
prefix to use for each file written | Optional |
--split-rank-and-write |
Split contigs by provided canonical-rank column then write to output directory | Optional |
--ncbi |
Path to ncbi database directory | Optional |
Other options available for --split-rank-and-write are phylum, class, order, family, genus and species
If –split-rank-and-write is specified then it will split contigs by provided canonical-rank column then write a file corresponding that rank. Eg. Bacteria.fasta, Archaea.fasta, etc for superkingdom.
You can view the complete command line opions using autometa-taxonomy -h
| File | Description |
|---|---|
| 78mbp_metagenome.taxonomy.tsv | Table with taxonomic classification of each contig |
| 78mbp_metagenome.bacteria.fna | Fasta file having the nucleic acid sequence of all bacterial contigs |
| 78mbp_metagenome.unclassified.fna | Fasta file having the nucleic acid sequence of all contigs unclassified at kingdom level |
In my case there are no non-bacterial contigs. For other datasets, autometa-taxonomy may produce other fasta files, for example Eukaryota.fasta and Viruses.fasta.
6. K-mer counting¶
A k-mer (ref) is just a sequence of k characters in a string (or nucleotides in a DNA sequence). It is known that contigs that belong to the same genome have similar k-mer composition (ref1 and ref2) . Here, we compute k-mer frequencies of only the bacterial contigs.
This step does the following:
- Create a k-mer matrix of \(k^4/2\) dimensions using the specified k-mer frequency
- Normaization of the k-mer matrix
- Reduce the dimensions of k-mer frequencies using principle component analysis (PCA).
- Embedding the PCA dimensions into two dimensions to allow the ease of visualization and manual binning of the contigs (see ViZBin paper).
Use the following command to run the k-mer counting step:
autometa-kmers \
--fasta $HOME/tutorial/78mbp_metagenome.bacteria.fna \
--kmers $HOME/tutorial/78mbp_metagenome.bacteria.kmers.tsv \
--size 5 \
--norm-output $HOME/tutorial/78mbp_metagenome.bacteria.kmers.normalized.tsv \
--norm-method am_clr \
--pca-dimensions 50 \
--embedding-output $HOME/tutorial/78mbp_metagenome.bacteria.kmers.embedded.tsv \
--embedding-method bhsne \
--cpus 40 \
--seed 42
Let us dissect the above command:
| Flag | Input arguments | Requirement |
|---|---|---|
--fasta |
Path to length filtered metagenome assembly | Required |
--kmers |
Path to k-mer frequency table | Required |
--size |
k-mer size in bp (default 5bp) | Optional |
--norm-output |
Path to normalized k-mer table | Required |
--norm-method |
Normalization method to transform kmer counts prior to PCA and embedding (default am_clr). Choices : ilr, clr and am_clr | Optional |
--pca-dimensions |
Number of dimensions to reduce to PCA feature space after normalization and prior to embedding (default: 50) | Optional |
--embedding-output |
Path to embedded k-mer table | Required |
--embedding-method |
Embedding method to reduce the k-mer frequencies. Choices: shsne, bhsne (default) and umap. | Optional |
--cpus |
Number of CPUs to use (default is to use all available CPUs) | Optional |
--seed |
Set random seed for dimension reduction determinism (default 42). Useful in replicating the results | Optional |
You can view the complete command line options using autometa-kmers -h
The above command generates the following files:
| File | Description |
|---|---|
| 78mbp_metagenome.kmers.tsv | Table with raw k-mer counts of each contig |
| 78mbp_metagenome.kmers.normalized.tsv | Table with normalized k-mer frequencies of each contig |
| 78mbp_metagenome.kmers.embedded.tsv | Table with embedded k-mer frequencies of each contig |
Advanced Usage¶
In the command used above k-mer normalization is being done using Autometa’s implementation of center log-ratio transform (am_clr). Other available normalization methods are isometric log-ratio transform (ilr, scikit-bio implementation) and center log-ratio transform (clr, scikit-bio implementation). Normalization method can be altered using the --norm-method flag.
In the above command k-mer embedding is being done using Barnes-Hut Stochastic Neighbor Embedding (BH-tSNE). Other embedding methods that are available are Uniform Manifold Approximation and Projection (UMAP) and Stochastic Neighbor Embedding (SKSNE). BH-tSNE and SKSNE are same embedding methods which use different implementations. BH-tSNE is an imolementation of tsne and SKSNE is an implementation of scikit-learn. Embedding method can be altered using the --embedding-method flag.
Autometa uses a k-mer size of 5 and then embedds the resulsting k-mer frequency table into 50 PCA dimensions which are then reduced to two dimentions. k-mer size can be altered using the --size flag, number of dimensions to reduce to PCA feature space after normalization and prior to embedding can be altered using the --pca-dimensions flag and the number of dimensions of which to reduce k-mer frequencies can be altered using the --embedding-dimensions flag.
Note
- Even though BH-tSNE and SKSNE are same embedding methods (but different implementation) they appear to give very different results. We recommend using the former.
- In case you put
--pca-dimensionsas zero then autometa will skip PCA.
7. Binning¶
This is the step where contigs are binned into genomes via clustering. Autometa assesses genome bins by examining both their completeness. A taxonomy table may also used to help with clustering based on sequence homology. Otherwise, Autometa clusters solely on nucleotide composition and coverage.
This step does the following:
- Bin contigs based on embedded k-mer coordinates, coverage and (optionally) taxonomy
- Accept genome bins that pass the following metrics:
- Completeness
- Purity
- GC content standard deviation
- Coverage standard deviation
- Unbinned contigs will be re-binned until no more acceptable genome bins are yielded
If you include a taxonomy table Autometa will attempt to further partition the data based on ascending taxonomic specificity (i.e. in the order superkingdom, phylum, class, order, family, genus, species) when binning unbinned contigs from a previous attempt. We found that this is mainly useful if you have a highly complex metagenome (lots of species), or you have several related species at similar coverage level.
Use the following command to run the binning:
autometa-binning \
--kmers $HOME/tutorial/78mbp_metagenome.bacteria.kmers.embedded.tsv \
--coverages $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--gc-content $HOME/tutorial/78mbp_metagenome.gc_content.tsv \
--markers $HOME/tutorial/78mbp_metagenome.markers.tsv \
--clustering-method dbscan \
--completeness 20 \
--purity 90 \
--cov-stddev-limit 25 \
--gc-stddev-limit 5 \
--taxonomy $HOME/tutorial/78mbp_metagenome.taxonomy.tsv \
--output-binning $HOME/tutorial/78mbp_metagenome.binning.tsv \
--output-main $HOME/tutorial/78mbp_metagenome.main.tsv \
--starting-rank superkingdom \
--domain bacteria
Let us dissect the above command:
| Flag | Function | Requirement |
|---|---|---|
--kmers |
Path to embedded k-mer frequencies table | Required |
--coverages |
Path to metagenome coverages table | Required |
--gc-content |
Path to metagenome GC contents table | Required |
--markers |
Path to Autometa annotated markers table | Required |
--output-binning |
Path to write Autometa binning results | Required |
--output-main |
Path to write Autometa main table | Required |
--clustering-method |
Clustering algorithm to use for recursive binning. Choices dbscan (default) and hdbscan | Optional |
--completeness |
completeness cutoff to retain cluster (default 20) | Optional |
--purity |
purity cutoff to retain cluster (default 95) | Optional |
--cov-stddev-limit |
coverage standard deviation limit to retain cluster (default 25) | Optional |
--gc-stddev-limit |
GC content standard deviation limit to retain cluster (default 5) | Optional |
--taxonomy |
Path to Autometa assigned taxonomies table | Required |
--starting-rank |
Canonical rank at which to begin subsetting taxonomy (default: superkingdom) | Optional |
--domain |
Kingdom to consider. Choices bacteria (default) and archaea | Optional |
You can view the complete command line options using autometa-binning -h
The above command generates the following files:
78mbp_metagenome.binning.tsvcontains the final binning results along with a few more metrics regarding each genome bin.78mbp_metagenome.main.tsvwhich contains the feature table that was utilized during the genome binning process as well as the corresponding output predictions.
The following table describes each column for the resulting binning outputs. We’ll start with the columns present in 78mbp_metagenome.binning.tsv then describe the additional columns that are present in 78mbp_metagenome.main.tsv.
| Column | Description |
|---|---|
| Contig | Name of the contig in the input fasta file |
| Cluster | Genome bin assigned by autometa to the contig |
| Completeness | Estimated completeness of the Genome bin, based on single-copy marker genes |
| Purity | Estimated purity of the Genome bin, based on the number of single-copy marker genes that are duplicated in the cluster |
| coverage_stddev | Coverage standard deviation of the Genome bin |
| gc_content_stddev | GC content standard deviation of the Genome bin |
In addition to the above columns 78mbp_metagenome.main.tsv file has the following additional columns:
| Column | Description |
|---|---|
| Coverage | Estimated coverage of the contig |
| gc_content | Estimated GC content of the contig |
| length | Estimated length of the contig |
| species | Assigned taxonomic species for the contig |
| genus | Assigned taxonomic genus for the contig |
| family | Assigned taxonomic family for the contig |
| order | Assigned taxonomic order for the contig |
| class | Assigned taxonomic class for the contig |
| phylum | Assigned taxonomic phylum for the contig |
| superkingdom | Assigned taxonomic superkingdom for the contig |
| taxid | Assigned NCBI taxonomy ID number for the contig |
| x_1 | The first coordinate after dimension reduction |
| x_2 | The second coordinate after dimension reduction |
You can attempt to improve your genome bins with an unclustered recruitment step which uses features from existing genome bins to recruit unbinned contigs. Alternatively you can use these initial genome bin predictions and continue to the Examining Results section.
Advanced Usage¶
These are default papameteres that autometa uses to accept clusters are 20% complete, 95% pure, 25% coverage standard deviation and 5% GC content standard deviation. These parameteres can be altered using --completeness flag, --purity flag, --cov-stddev-limit flag and --gc-stddev-limit flag.
There are two binning algorithms to chose from Density-Based Spatial Clustering of Applications with Noise (DBSCAN) and Hierarchical Density-Based Spatial Clustering of Applications with Noise (HDBSCAN). The default is DBSCAN.
It is important to note that if recursively binning with taxonomy, only contigs at the specific taxonomic rank are analyzed and once the binning algorithm has moved on to the next rank, these are not considered until they fall under another taxonomic rank under consideration. I.e. Iterate through phyla. Contig of one phylum is only considered for that phylum then not for the rest of the phyla. If it is still unbinned at Class rank, then it will be considered only at its respective Class’s class. The taxonomic rank to start the binning from can be changed using the --starting-rank flag. The default is superkingdom.
8. Unclustered recruitment (Optional)¶
An unclustered recruitment step which uses features from existing genome bins is used to classify the unbinned contigs to the genome bins that we have produced. This step is optional and the results should be verified (see Note below) before proceeding with these results.
Note
The machine learning step has been observed to bin contigs that do not necessary belong to the predicted genome. Careful inspection of coverage and taxonomy should be done before proceed to use these results.
Use the following command to run the unclustered recruitment step:
autometa-unclustered-recruitment \
--kmers $HOME/tutorial/78mbp_metagenome.bacteria.kmers.normalized.tsv \
--coverage $HOME/tutorial/78mbp_metagenome.coverages.tsv \
--binning $HOME/tutorial/78mbp_metagenome.binning.tsv \
--markers $HOME/tutorial/78mbp_metagenome.markers.tsv \
--taxonomy $HOME/tutorial/78mbp_metagenome.taxonomy.tsv \
--output-binning $HOME/tutorial/78mbp_metagenome.recruitment.tsv \
--output-main $HOME/tutorial/78mbp_metagenome.recruitment.main.tsv \
--classifier decision_tree \
--seed 42
Let us dissect the above command:
| Flag | Function | Requirement |
|---|---|---|
--kmers |
Path to normalized k-mer frequencies table | Required |
--coverages |
Path to metagenome coverages table | Required |
--binning |
Path to autometa binning output | Required |
--markers |
Path to Autometa annotated markers table | Required |
--taxonomy |
Path to taxonomy table | Required |
--output-binning |
Path to write Autometa unclustered recruitment table | Required |
--output-main |
Path to write Autometa main table used during/after unclustered recruitment | Required |
--classifier |
classifier to use for recruitment of contigs. Choices decision_tree (default) and random_forest | Optional |
--seed |
Seed to use for RandomState when initializing classifiers (default: 42) | Optional |
You can view the complete command line options using autometa-unclustered-recruitment -h
The above command would generate 78mbp_metagenome.recruitment.tsv and 78mbp_metagenome.recruitment.main.tsv.
78mbp_metagenome.recruitment.tsv contains the final predictions of autometa-unclustered-recruitment. 78mbp_metagenome.recruitment.main.tsv is the feature table with corresponding predictions utilized during/after the unclustered recruitment algorithm. This represents unbinned contigs with their respective annotations and output predictions of their recruitment into a genome bin. The taxonomic features have been encoded using “one-hot encoding” or a presence/absence matrix where each column is a canonical taxonomic rank and its respective value for each row represents its presence or absence. Presence and absence are denoted with 1 and 0, respectively. Hence ‘one-hot’ encoding being an encoding of presence and absence of the respective annotation type. In our case taxonomic designation.
The 78mbp_metagenome.recruitment.tsv file contains the following columns:
| Column | Description |
|---|---|
| contig | Name of the contig in the input fasta file |
| cluster | Genome bin assigned by autometa to the contig |
| recruited_cluster | Genome bin assigned by autometa to the contig after unclustered recruitment step |
Advanced Usage¶
The clustering method for the unclustered recruitment step can be performed either using a decision tree classifier (default) or using a random forst algorithm. The choice of method can be selected using the --classifier flag.