MetaWIBELE (Workflow to Identify novel Bioactive Elements in the microbiome) is a workflow to efficiently and systematically identify and prioritize potentially bioactive (and often uncharacterized) gene products in microbial communities. It prioritizes candidate gene products from assembled metagenomes using a combination of sequence homology, secondary-structure-based functional annotations, phylogenetic binning, ecological distribution, and association with environmental parameters or phenotypes to target candidate bioactives.
If you use the MetaWIBELE software, please cite our manuscript:
Yancong Zhang, Amrisha Bhosle, Sena Bae, Lauren J. McIver, Gleb Pishchany, Emma K. Accorsi, Kelsey N. Thompson, Cesar Arze, Ya Wang, Ayshwarya Subramanian, Sean M. Kearney, April Pawluk, Damian R. Plichita, Gholamali Rahnavard, Afrah Shafquat, Ramnik J. Xavier, Hera Vlamakis, Wendy S. Garrett, Andy Krueger, Curtis Huttenhower*, Eric A. Franzosa*. "Discovery of Bioactive Microbial Gene Products in Inflammatory Bowel Disease." Nature, 606: 754–760 (2022)
And feel free to link to MetaWIBELE in your Methods:
http://huttenhower.sph.harvard.edu/metawibele
For additional information, read the MetaWIBELE Tutorial
If you have questions, please direct it to the MetaWIBELE channel of the bioBakery Support Forum.
- Workflow
- Install MetaWIBELE
- Quick-start Guide
- Guides to MetaWIBELE Utilities
MetaWIBELE identifies, prioritizes, and putatively annotates potentially bioactive gene products in host- and non-host-associated microbial communities and human disease phenotypes. This software starts with gene products from assembled metagenomes and combines sequence homology, secondary-structure-based functional annotations, taxonomic profiling, ecological distribution, and environmental or phenotypic association to identify candidate bioactives.
There are multiple bypass options that will allow you to adjust the standard workflow.
Bypass options:
- --bypass-clustering
- do not build protein families
- --bypass-global-homology
- do not annotate protein families based on global homology information
- --bypass-domain-motif
- do not annotate protein families based on Interproscan with Phobius/SignalP/TMHMM, Pfam2GO, DOMINE, SIFTS, Expression Atlas database and PSORTb for domain/motif information
- --bypass-interproscan
- do not annotate protein families based on Interproscan for domain/motif characterization
- --bypass-pfam_to_go
- do not annotate protein families based on Pfam2GO for domain/motif characterization
- --bypass-domine
- do not annotate protein families based on DOMINE database for domain/motif characterization
- --bypass-sifts
- do not annotate protein families based on SIFTS database for domain/motif characterization
- --bypass-expatlas
- do not annotate protein families based on Expression Atlas database for domain/motif characterization
- --bypass-psortb
- do not annotate protein families based on PSORTb for domain/motif characterization
- --bypass-abundance
- do not annotate protein families based on abundance information
- --bypass-mspminer
- do not annotate protein families based on MSPminer information
- --bypass-maaslin
- do not annotate protein families based on MaAsLin2 information
- --bypass-integration
- do not integrate annotations for protein families
- --bypass-mandatory
- do not prioritize protein families to calculate continuous priority scores
- --bypass-optional
- do not prioritize protein families based on selecting our for interested annotations (optional prioritization)
- Python (version >= 3.6, requiring numpy, pandas, scipy packages; tested 3.6, 3.7)
- AnADAMA2 (version >= 0.7.4; tested 0.7.4, 0.8.0)
- CD-hit (version >= 4.7; tested 4.7)
- Diamond (version >= 0.9.24; tested 0.9.24)
- MSPminer (version >= 1.0.0; licensed software; tested version 1.0.0)
- MaAsLin2 (version >= 1.5.1; tested 1.5.1)
- Interproscan (version >= 5.31-70) (installing with activating Phobius/SignalP/TMHMM analyses; InterProScan 5.51-85.0 or later are recommended for potential simpler installation; tested 5.31-70, 5.51-85.0; you can skip to install Interproscan if you’d like to ignore domain/motif annotation by running MetaWIBELE with “--bypass-interproscan”)
- Signalp (version >= 4.1; licensed software; installing with integrating in interproscan; used for domain/motif annotation; tested 4.1)
- TMHMM (version >= 2.0; licensed software; installing with integrating in interproscan; used for domain/motif annotation; tested 2.0)
- Phobius (version >= 1.01; licensed software; installing with integrating in interproscan; used for domain/motif annotation; tested 1.01)
- PSORTb (version >= 3.0) (licensed software; used for domain/motif annotation; tested 3.0; you can skip to install psortb if you’d like to ignore protein subcellular localization annotations by running MetaWIBELE with “--bypass-psortb”)
- Optional: only required if using MetaWIBELE utilities to prepare inputs for MetaWIBELE using metagenomic sequencing reads
- MEGAHIT (version >= 1.1.3; tested 1.1.3)
- Prokka (version >= 1.14-dev; recommend to not set '-c' parameter when running prodigal with metagenome mode; tested 1.14-dev)
- Prodigal (version >= 2.6; tested 2.6)
- SeqKit (version >= 2.6.1; tested 2.6.1)
- Bowtie2 (version >= 2.3.2; tested 2.3.2)
- SAMtools (version >= 1.9; tested 1.9)
- featureCounts (version >= 1.6.2; tested 1.6.2)
Note: Please install the required software in a location in your $PATH
. If you always run with gene families (non-redundant gene catalogs), the optional softwares are not required. Also if you always run with one or more bypass options (for information on bypass options, see optional arguments to the section Workflow by bypass mode). The software required for the steps you bypass does not need to be installed.
You only need to do any one of the following options to install the MetaWIBELE package.
Option 1: Installing with docker
$ docker pull biobakery/metawibele
- This docker image includes most of the dependent software packages.
- Large software packages and those with licenses are NOT included in this image and needed to be installed additionally:
- Users should review the license terms and install these packages manually.
- Softwares with the license : MSPminer, Signalp, TMHMM, Phobius, PSORTb
- Softwares with large size: Interproscan (Note: We recommen dinstalling InterProScan 5.51-85.0 (requiring at least Java 11) or later for potential simpler installation, and active Phobius/SignalP/TMHMM analyses by customizing your
interproscan.properties
configuration, see more details from InterProScan document).
Option 2: Installing with pip
$ pip install metawibele
- If you do not have write permissions to
/usr/lib/
, then add the option --user to the install command. This will install the python package into subdirectories of~/.local/
. Please note when using the --user install option on some platforms, you might need to add~/.local/bin/
to your $PATH as it might not be included by default. You will know if it needs to be added if you see the following messagemetawibele: command not found
when trying to run MetaWIBELE after installing with the --user option.
Option 3: Installing with conda
$ conda install -c biobakery metawibele
To run metawibele, you need to install the dependent databases: 1) uniref databases (required); 2) domain databases (optional).
UniRef database is required if you will use MetaWIBELE to do global-homology based annotation and taxonomic annotation. You can use any one of the following options to install the database with providing $UNIREF_LOCATION
as the location for installation.
NOTE: Please point to this location for the default uniref database in the global config file (metawibele.cfg
, see details in the section Prepare global configuration file). Alternatively, you can either set the location with the environment variable $UNIREF_LOCATION
, or move the downloaded database to the folder named uniref_database
in the current working directory.
Option 1: Download uniref databases (Recommended)
We have built the dependent UniRef database based on UniProt/UniRef 2019_01 sequences and annotations. You can download and uncompress this database (both sequences and annotations) and provide $UNIREF_LOCATION
as the location to install the database.
-
UniRef90 sequence file (20 GB):
- If you are using Diamond v0.9.24, just download and uncompress the indexed version of sequences to
$UNIREF_LOCATION
: uniref90.fasta.dmnd.tar.gz - Alternatively, run the following command to download the indexed sequence file by Diamond v0.9.24 into
$UNIREF_LOCATION
:$ metawibele_download_database --database uniref --build uniref90_diamond --install-location $UNIREF_LOCATION
- If you are using different version of Diamond, download raw sequences in fasta format: uniref90.fasta.tar.gz
- Alternatively, run the following command to download the sequence file into
$UNIREF_LOCATION
:$ metawibele_download_database --database uniref --build uniref90_fasta --install-location $UNIREF_LOCATION
- And then, index the sequences using your local Diamond:
$ diamond makedb --in $UNIREF_LOCATION/uniref90.fasta -d $UNIREF_LOCATION/uniref90.fasta
- Alternatively, run the following command to download the sequence file into
- If you are using Diamond v0.9.24, just download and uncompress the indexed version of sequences to
-
UniRef90 annotation files (2.8 GB):
- Download the annotation files and uncompress into
$UNIREF_LOCATION
: uniref90_annotations.tar.gz. - Alternatively, run the following command to download the annotation files into
$UNIREF_LOCATION
:$ metawibele_download_database --database uniref --build uniref90_annotation --install-location $UNIREF_LOCATION
- Download the annotation files and uncompress into
Option 2: Create local uniref databases
-
You can also create these databases locally by using MetaWIBELE utility scripts based on the latest release version of UniProt/UniRef, and provide
$UNIREF_LOCATION
as the location to install the database. -
Download and obtain UniProt annotations:
$ metawibele_prepare_uniprot_annotation --output $UNIREF_LOCATION
-
Download UniRef sequences and obtain annotations:
$ metawibele_prepare_uniref_annotation -t uniref90 --output $UNIREF_LOCATION
-
Use
diamond
to index sequences$ diamond makedb --in uniref90.fasta -d uniref90.fasta
De default, the dependent domain databases have already been automatically installed when you install the MetaWIBELE package and you can skip this step. Alternatively, you can also create these domain databases locally and provide $DOMAIN_LOCATION
as the location to install the database.
NOTE: Please point to this location for the default domain database in the global config file (metawibele.cfg
, see details in the section Prepare global configuration file).
Create local domain databases (optional)
-
Download and obtain dependent protein domains information:
$ metawibele_prepare_domain_databases -t Pfam33.0 --output $DOMAIN_LOCATION
To check out the install of MetaWIBELE packages and all dependencies (tools and databases), run the command:
$ metawibele_check_install
- By default, it will check both MetaWIBEKE packages and all dependencies.
- Alternatively, add the option "--types {metawibele,required,optional,all}" to check the install of specific package or dependency.
To run MetaWIBELE, you are required to customize the global configuration file metawibele.cfg
and make sure that it's in the current working directory.
NOTE: De default, MetaWIBELE will use the global configurations from metawibele.cfg
in the current working directory. Alternatively you can always provide the location of the global configuration file you would like to use with the "--global-config " option to metawibele (see more in the section How to run).
-
Download
metawibele.cfg
into your current working directory by any one of the following options:- Option 1) obtain copies by right-clicking the link and selecting "save link as": metawibele.cfg
- Option 2) run this command to download global configuration file:
$ metawibele_download_config --config-type global
-
Customize your configurations in
metawibele.cfg
before running MetaWIBELE:The path of the dependent databases is required for customization. Most of other sections can be left as defaults.
- Customize the path of dependent databases (required):
[database] # The absolute path of uniref databases folder. uniref_db = # The domain databases used by MetaWIBELE. [data_path] provide the absolute path of the domain databases folder; [none] use the default domain databases installed in the metawibele package. [ Default: none ] domain_db = none
- Customize basic information for outputs (e.g. prefix name of output files, etc.) (optional):
[basic] # Study name. [ Default: MGX ] study = MGX # The prefix name for output results. [ Default: metawibele ] basename = metawibele
- Customize applied computational resources (e.g. CPU cores, memory, etc.) (optional):
[computation] # The number of cores that you’re requesting. [ Default: 1 ] threads = 1 # The amount of memory (in MB) that you will be using for your job. [ Default: 20000 ] memory = 20000 # The amount of time (in minute) that you will be using for your job. [ Default: 60 ] time = 60
- Customize parameter settings for abundance-based and domain/motif-based annotations (optional):
[abundance] # The absolute path of the config file used by MSPminer. [config_file] provide the mspminer config file; [none] use the default config files installed in the metawibele package. [ Default: none ] mspminer = none # The method for normalization [Choices: cpm, relab]. [cpm] copies per million units (sum to 1 million); [relab] relative abundance (sum to 1). [ Default: cpm ] normalize = cpm # The minimum abundance for each feature [ Default: 0 ] abundance_detection_level = 0 [msp] # The minimum fraction of taxonomy classified genes in each MSP [0-1]. [Default: 0.10] tshld_classified = 0.10 # The minimum percent differences between the most and second dominant taxon for each MSP [0-1]. [Default: 0.50] tshld_diff = 0.50 [interproscan] # Interproscan executable file, e.g. /my/path/interproscan/interproscan.sh [ Default: interproscan.sh ] interproscan_cmmd = interproscan.sh # The appls used by interproscan: [appls] comma separated list of analyses, [ Choices: CDD,COILS,Gene3D,HAMAP,PANTHER,Pfam,PIRSF,PRINTS,SFLD,SMART,SUPERFAMILY,TIGRFAM,Phobius,SignalP,TMHMM ]; [all] use all all analyses for running. [ Default: all ] interproscan_appl = all # The number of splitting files which can be annotated in parallel [ Default: 1 ] split_number = 1
- Customize parameter settings for association with environmental/host phenotypes (optional; but you are required to specify your settings for MaAsLin2 if you run MetaWIBELE for supervised prioritization, and at least the main
phenotype
metadata used for prioritization is required to set):
[maaslin2] # The absolute path of Maaslin2 executable file, e.g. /my/path/Maaslin2/R/Maaslin2.R [ Default: Maaslin2.R ] maaslin2_cmmd = Maaslin2.R # The minimum abundance for each feature. [ Default: 0 ] min_abundance = 0 # The minimum percent of samples for which a feature is detected at minimum abundance. [ Default: 0.1 ] min_prevalence = 0.1 # Keep features with variance greater than. [Default: 0.0] min_variance = 0 # The q-value threshold for significance. [ Default: 0.25 ] max_significance = 0.25 # The normalization method to apply. [ Choices: TSS, CLR, CSS, NONE, TMM ], [ Default: TSS ] normalization = NONE # The transform to apply [ Choices: LOG, LOGIT, AST, NONE ]. [ Default: LOG ] transform = LOG # The analysis method to apply [ Choices: LM, CPLM, ZICP, NEGBIN, ZINB ]. [ Default: LM ] analysis_method = LM # The fixed effects for the model, comma-delimited for multiple effects. [ Default: all ] fixed_effects = all # The random effects for the model, comma-delimited for multiple effects. [ Default: none ] random_effects = none # The correction method for computing the q-value. [ Default: BH ] correction = BH # Apply z-score so continuous metadata are on the same scale [ Default: TRUE ] apply z-score so continuous metadata are on the same scale. [ Default: TRUE ] standardize = TRUE # Generate a heatmap for the significant associations. [ Default: FALSE ] plot_heatmap = FALSE # In heatmap, plot top N features with significant associations. [ Default: FALSE ] heatmap_first_n = FALSE # Generate scatter plots for the significant associations. [ Default: FALSE ] plot_scatter = FALSE # The number of R processes to run in parallel. [ Default: 1 ] maaslin2_cores = 1 # The factor to use as a reference for a variable with more than two levels provided as a string of 'variable,reference' semi-colon delimited for multiple variables. NOTE: A space between the variable and reference will not error but will cause an inaccurate result. [ Default: NA ] reference = NA # The minimum percent of case-control samples used for comparison in which a feature is detected. [ Default: 0.1 ] tshld_prevalence = 0.10 # The q-value threshold for significance used as DA annotations. [ Default: 0.05 ] tshld_qvalue = 0.05 # The statistic used as effect size [ Choices: coef, mean(log) ]. [coef] represents the coefficient from the model; [mean(log)] represents differences of mean log-scaled abundances between case and control conditions. [ Default: mean(log) ] effect_size = mean(log) # The main phenotype metadata used for prioritization, e.g. metadata1. [ Default: none ]: skip the association with environmental/phenotypic parameters phenotype = none
By default, MetaWIBELE will perform by using the local configuration files installed in the package. Optionally, you can also make your own local configuration files and provide them with optional arguments to MetaWIBELE. For example, the local characterization configuration file can be provided with --characterization-config $CHRACTERIZE_CONF
where $CHRACTERIZE_CONF
is the file including characterization configurations.
-
Download local configuration template files (e.g.
characterization.cfg
,prioritization.cfg
) into your working directory:- Option 1) run command line to download local configuration files:
$ metawibele_download_config --config-type local
- Option 2) obtain copies by right-clicking the link and selecting "save link as":
- Option 1) run command line to download local configuration files:
-
Customize local configurations:
- Configurations for characterization in
characterization.cfg
which can be provided with--characterization-config characterization.cfg
:
[global_homology] # protein family annotation based on global similarity: [yes] process this step, [no] skip this step [ Default: yes ] uniref = yes [domain_motif] # domain annotation: [yes] process this step, [no] skip this step [ Default: yes ] interproscan = yes # Pfam2GO to annotate GOs: [yes] process this step, [no] skip this step [ Default: yes ] pfam2go = yes # domain-domain interaction from DOMINE database: [yes] process this step, [no] skip this step [ Default: yes ] domine = yes # DDI with SIFTS evidence: [yes] process this step, [no] skip this step [ Default: yes ] sifts = yes # DDI with human expression from ExpAtlas database: [yes] process this step, [no] skip this step [ Default: yes ] expatlas = yes # subcellular annotation: [yes] process this step, [no] skip this step [ Default: yes ] psortb = yes [abundance] # summary DNA abundance: [label] provide label for DNA abundance, e.g. DNA_abundance, [no] skip this step [ Default: DNA_abundance ] dna_abundance = DNA_abundance # differential abundance based on DNA abundance: [label] provide label for DA annotation, e.g. MaAsLin2_DA, [no] skip this step [ Default: MaAsLin2_DA ] dna_da = MaAsLin2_DA [integration] # summarize annotation info: [yes] process this step, [no] skip this step [ Default: yes ] summary_ann = yes # generate finalized annotations: [yes] process this step, [no] skip this step [ Default: yes ] finalization = yes
- Configurations for prioritization in
prioritization.cfg
which can be provided with--prioritization-config prioritization.cfg
:
## Mandatory ranking [unsupervised] # Weight value of prevalence to calculate weighted harmonic mean, named as beta parameter[ Default: 0.50 ] DNA_prevalence = 0.50 # Weight value of mean abundance to calculate weighted harmonic mean [ Default: 0.50 ] DNA_abundance = 0.50 [supervised] # Use the ecological property (abundance) to do prioritization. [required] required item, [optional] optional item, [none] ignoring. [ Default: required] DNA-within-phenotype_abundance = required # Use the ecological property (prevalence) to do prioritization. [required] required item, [optional] optional item, [none] ignoring. [ Default: required] DNA-within-phenotype_prevalence = required # Use the association with phenotypes (q values from associations) to do prioritization. [required] required item, [optional] optional item, [none] ignoring. [ Default: required] MaAsLin2_DA__qvalue = required # Use the association with phenotypes (effect size from associations) to do prioritization. [required] required item, [optional] optional item, [none] ignoring. [ Default: required] MaAsLin2_DA__mean(log) = required ## Binary filtering for selection subset # All [vignette_type] should be true # All [required] items should be true # At least one [optional] item should be true # All [none] items will be ignored # Default: select protein families significantly associated with the main phenotype [filtering] # Filter for interested functional vignettes type [Choices: pilin | secreted_system | other user defined | none] vignettes = none # Filter for significant associations: [required] required item, [optional] optional item, [none] ignoring [ Default: required ] MaAsLin2_DA-sig = required # Filter for biochemical annotations: [required] required item, [optional] optional item, [none] ignoring ExpAtlas_interaction = optional DOMINE_interaction = optional SIFTS_interaction = optional Denovo_signaling = optional Denovo_transmembrane = optional PSORTb_extracellular = optional PSORTb_cellWall = optional PSORTb_outerMembrane = optional UniRef90_extracellular = optional UniRef90_signaling = optional UniRef90_transmembrane = optional UniRef90_cellWall = optional UniRef90_outerMembrane = optional UniRef90_PfamDomain = optional InterProScan_PfamDomain = optional InterProScan_SUPERFAMILY = optional InterProScan_ProSiteProfiles = optional InterProScan_ProSitePatterns = optional InterProScan_Gene3D = optional InterProScan_PANTHER = optional InterProScan_TIGRFAM = optional InterProScan_SFLD = optional InterProScan_ProDom = optional InterProScan_Hamap = optional InterProScan_SMART = optional InterProScan_CDD = optional InterProScan_PRINTS = optional InterProScan_PIRSF = optional InterProScan_MobiDBLite = optional
- Configurations for characterization in
Optionally, MetaWIBELE can accept user-defined vignette functions of interest for further prioritization. You can make your own vignettes configuration files and provide them with an optional argument to MetaWIBELE. For example, the vignette function configuration file can be provided with --vignette-config $VIGNETTE_FUNC
where $VIGNETTE_FUNC
is the file including the functions of interest.
-
Download local vignettes template file (
vignettes_function.tsv
) into your working directory:- Option 1) Run command line to download vignette configuration files:
$ metawibele_download_config --config-type vignette
- Option 2) Obtain copies by right-clicking the link and selecting "save link as":
- Option 1) Run command line to download vignette configuration files:
-
Make your own configurations:
vignettes_function.tsv
is a tab-separated values file.- Two required columns:
type
indicates which type of function it is;annotation
indicates the specific annotations assigned by MetaWIBELE given an annotation type. - Other optional columns:
annotation_type
indicates what type of annotation it is in MetaWIBELE;description
indicates detailed descriptions of the annotation.
type annotation annotation_type description pilin PF11530 PfamDomain Minor type IV pilin, PilX-like pilin PF14245 PfamDomain Type IV pilin PilA pilin PF16734 PfamDomain Type IV pilin-like putative secretion pathway protein G/H pilin PF08805 PfamDomain Type 4 secretion system, PilS, N-terminal pilin PF09160 PfamDomain FimH, mannose-binding domain
-
For a list of all available workflows, run:
$ metawibele --help
This command yields:
usage: metawibele [-h] [--global-config GLOBAL_CONFIG] {characterize,prioritize,preprocess} MetaWIBELE workflows: A collection of AnADAMA2 workflows positional arguments: {profile,characterize,prioritize,preprocess} workflow to run optional arguments: -h, --help show this help message and exit --global-config GLOBAL_CONFIG the global configuration file of MetaWIBELE (default: None)
NOTE: De default, MetaWIBELE will use the global configurations from metawibele.cfg
in the current working directory. Alternatively, you can always provide the location of the global configuration file you would like to use with the "--global-config " option to metawibele.
-
All workflows follow the general command format:
$ metawibele $WORKFLOW
-
For specific options of workflow, run:
$ metawibele $WORKFLOW --help
For example:
$ metawibele characterize --help
This command yields:
usage: characterize.py [-h] [--version] [--threads THREADS] [--characterization-config CHARACTERIZATION_CONFIG] [--mspminer-config MSPMINER_CONFIG] [--bypass-clustering] [--bypass-global-homology] [--bypass-domain-motif] [--bypass-interproscan] [--bypass-pfamtogo] [--bypass-domine] [--bypass-sifts] [--bypass-expatlas] [--bypass-psortb] [--bypass-abundance] [--bypass-mspminer] [--bypass-maaslin] [--split-number SPLIT_NUMBER] [--bypass-integration] [--study STUDY] [--basename BASENAME] --input-sequence INPUT_SEQUENCE --input-count INPUT_COUNT --input-metadata INPUT_METADATA [--output OUTPUT] [-i INPUT] [--config CONFIG] [--local-jobs JOBS] [--grid-jobs GRID_JOBS] [--grid GRID] [--grid-partition GRID_PARTITION] [--grid-benchmark {on,off}] [--grid-options GRID_OPTIONS] [--grid-environment GRID_ENVIRONMENT] [--grid-scratch GRID_SCRATCH] [--dry-run] [--skip-nothing] [--quit-early] [--until-task UNTIL_TASK] [--exclude-task EXCLUDE_TASK] [--target TARGET] [--exclude-target EXCLUDE_TARGET] [--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}] A workflow for MetaWIBELE characterization
-
Run characterization workflow
$ metawibele characterize --input-sequence <file> --input-count <file> --input-metadata <file> --output <path>
-
Run prioritization workflow
$ metawibele prioritize --input-annotation <file> --input-attribute <file> --output <path>
-
Parallelization Options
When running any workflow you can add the following command line options to make use of existing computing resources:
- --local-jobs <1> : Run multiple tasks locally in parallel. Provide the max number of tasks to run at once. The default is one task running at a time.
- --grid-jobs <0> : Run multiple tasks on a grid in parallel. Provide the max number of grid jobs to run at once. The default is zero tasks are submitted to a grid resulting in all tasks running locally.
- --grid <slurm> : Set the grid available on your machine. This will default to the grid found on the machine with options of slurm and sge.
- --grid-partition <serial_requeue> : Jobs will be submitted to the partition selected. The default partition selected is based on the default grid.
For additional workflow options, see the AnADAMA2 user manual.
-
- protein sequences for non-redundant gene families (Fasta format file), e.g. demo_genecatalogs.centroid.faa
- reads counts table for non-redundant gene families (TSV format file), e.g. demo_genecatalogs_counts.all.tsv
- metadata file (TSV format file), e.g. demo_mgx_metadata.tsv
- the global configuration file in the current working directory, e.g. metawibele.cfg
-
$ metawibele characterize --input-sequence $INPUT_SEQUENCE --input-count $INPUT_COUNT --input-metadata $INPUT_METADATA --output $OUTPUT_DIR
- Make sure the customized configuration file
metawibele.cfg
is in your working directory. - The command replaces
$INPUT_SEQUENCE
,$INPUT_COUNT
,$INPUT_METADATA
with three input files,$OUTPUT_DIR
with the path to the folder to write output files. See the section on parallelization options to optimize the workflow run based on your computing resources. - The workflow runs with the default settings to run all modules. These settings will work for most data sets. However, if you need to customize your workflow settings for the characterization workflow to modify the default settings. You can customize which modules you want to run in your own local configuration file.
- For example,
--characterization-config $myconfig_file
will modify the default settings when running the characterization modules.
- For example,
- Make sure the customized configuration file
-
$ metawibele characterize --input-sequence demo_genecatalogs.centroid.faa --input-count demo_genecatalogs_counts.all.tsv --input-metadata demo_mgx_metadata.tsv --output $OUTPUT_DIR
-
1. Annotation file
familyID annotation feature category method AID Cluster_1 good quality note Quality_control NA Cluster_1 demo study project Shotgun NA Cluster_1 Cluster_1 protein_family Denovo_clustering CD-hit Cluster_1__Denovo_clustering Cluster_1 UniRef90_A7B522 strong_homology UniRef90_homology UniRef90 Cluster_1__UniRef90_homology Cluster_1 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) Terminal Taxonomy_characterization Taxonomy_annotation Cluster_1__Taxonomy_characterization Cluster_1 4734.313443 DNA-CD_abundance Denovo_characterization DNA Cluster_1__DNA-CD_abundance Cluster_1 0.926470588 DNA-CD_prevalence Denovo_characterization DNA Cluster_1__DNA-CD_prevalence Cluster_1 1048.199147 DNA-nonIBD_abundance Denovo_characterization DNA Cluster_1__DNA-nonIBD_abundance Cluster_1 1 DNA-nonIBD_prevalence Denovo_characterization DNA Cluster_1__DNA-nonIBD_prevalence Cluster_1 4734.313443 DNA-within-phenotype_abundance Denovo_characterization DNA Cluster_1__DNA-within-phenotype_abundance Cluster_1 1 DNA-within-phenotype_prevalence Denovo_characterization DNA Cluster_1__DNA-within-phenotype_prevalence Cluster_1 3505.608677 DNA_abundance Denovo_characterization DNA Cluster_1__DNA_abundance Cluster_1 0.950980392 DNA_prevalence Denovo_characterization DNA Cluster_1__DNA_prevalence ...
- File name:
$OUTPUT_DIR/finalized/$BASENAME_proteinfamilies_annotation.tsv
- This file includes the main characterization results (TSV format file).
$OUTPUT_DIR
= the output folder$BASENAME
= the prefix for output files provided bymetawibele.cfg
- This file details the annotation of each protein family in the community. Protein families are groups of evolutionarily-related protein-coding sequences that often perform similar functions.
- MetaWIBELE annotates protein family by combining global-homology similarity, local-homology similarity, and non-homology based methods.
- The annotations for each protein family coming from multiple information sources, e.g. biochemical annotation, taxonomic annotation, ecological properties and association with environmental parameters or phenotypes, etc.
2. Attribute file
TID AID key value 1 Cluster_1__Denovo_clustering repID PRISM_7861_211956 2 Cluster_1__Denovo_clustering rep_length 85 3 Cluster_1__Denovo_clustering cluster_size 24 4 Cluster_1__UniRef90_homology UniProtKB A7B522 5 Cluster_1__UniRef90_homology Protein_names Translation initiation factor IF-1 6 Cluster_1__UniRef90_homology query_cov_type high_confidence 7 Cluster_1__UniRef90_homology mutual_cov_type high_confidence 8 Cluster_1__UniRef90_homology identity 100 9 Cluster_1__UniRef90_homology query_coverage 1 10 Cluster_1__UniRef90_homology mutual_coverage 1 11 Cluster_1__UniRef90_homology taxa_id 1 12 Cluster_1__UniRef90_homology taxa_name Unclassified 13 Cluster_1__Taxonomy_characterization taxa_id 411470 ...
- File name:
$OUTPUT_DIR/finalized/$BASENAME_proteinfamilies_annotation.attribute.tsv
- This file includes the supplementary results for characterization (TSV format file).
- Each item is supplemental information about the corresponding results.
AID
is the key to connect$BASENAME_proteinfamilies_annotation.tsv
with$BASENAME_proteinfamilies_annotation.attribute.tsv
.
3. Taxonomic file
familyID study map_type query_type mutual_type identity query_coverage mutual_coverage detail Tax TaxID Rep_Tax Rep_TaxID UniProtKB unirefID note msp_name msp_taxa_name msp_taxa_id MSP_Tax MSP_TaxID MSP_Rep_Tax MSP_Rep_TaxID taxa_id taxa_name taxa_rank taxa_lineage Cluster_1 demo UniRef90_characterized high_confidence high_confidence 100 1 1 Translation initiation factor IF-1 root 1 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 A7B522 UniRef90_A7B522 good msp_1 Ruminococcus gnavus 33038 Lachnospiraceae 186803 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) Terminal k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus|t__Ruminococcus_gnavus_(strain_ATCC_29149_/_VPI_C7-9) Cluster_10 demo UniRef90_uncharacterized high_confidence high_confidence 97.2 0.829457364 0.829457364 Uncharacterized protein Clostridiales 186802 [Eubacterium] rectale 39491 A0A0M6W8Q5 UniRef90_A0A0M6W8Q5 good msp_2 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 39491 [Eubacterium] rectale Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|unclassified_Lachnospiraceae|s__[Eubacterium]_rectale Cluster_100 demo UniRef90_characterized high_confidence high_confidence 99.7 1 1 S-adenosylmethionine:tRNA ribosyltransferase-isomerase Clostridiales 186802 [Eubacterium] rectale 39491 A0A0M6WLI9 UniRef90_A0A0M6WLI9 good msp_2 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 39491 [Eubacterium] rectale Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|unclassified_Lachnospiraceae|s__[Eubacterium]_rectale Cluster_1000 demo UniRef90_uncharacterized high_confidence high_confidence 99.5 1 1 Domain of uncharacterized function (DUF1836) Clostridiales 186802 [Eubacterium] rectale 39491 A0A174GTW6 UniRef90_A0A174GTW6 good msp_2 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 39491 [Eubacterium] rectale Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|unclassified_Lachnospiraceae|s__[Eubacterium]_rectale Cluster_1001 demo UniRef90_characterized high_confidence high_confidence 97.7 1 1 DUF624 domain-containing protein Clostridiales 186802 [Eubacterium] rectale 39491 A0A173U990 UniRef90_A0A173U990 good msp_2 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 [Eubacterium] rectale 39491 39491 [Eubacterium] rectale Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|unclassified_Lachnospiraceae|s__[Eubacterium]_rectale Cluster_1002 demo UniRef90_characterized high_confidence high_confidence 93.5 1 0.981900452 Proton-coupled thiamine transporter YuaJ Clostridiales 186802 Ruminococcus gnavus 33038 A0A2N5PZR6 UniRef90_A0A2N5PZR6 good msp_unknown NA NA Ruminococcus gnavus 33038 Ruminococcus gnavus 33038 33038 Ruminococcus gnavus Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus Cluster_1003 demo UniRef90_characterized high_confidence high_confidence 98.6 1 1 HAD hydrolase, family IA, variant 1 Clostridiales 186802 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 A7B2S9 UniRef90_A7B2S9 good msp_1 Ruminococcus gnavus 33038 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) Terminal k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus|t__Ruminococcus_gnavus_(strain_ATCC_29149_/_VPI_C7-9) Cluster_1004 demo UniRef90_uncharacterized high_confidence high_confidence 99.5 1 0.96 YheO-like protein Clostridiales 186802 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 A7B3N1 UniRef90_A7B3N1 good msp_1 Ruminococcus gnavus 33038 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) Terminal k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus|t__Ruminococcus_gnavus_(strain_ATCC_29149_/_VPI_C7-9) Cluster_1005 demo UniRef90_characterized high_confidence high_confidence 100 1 1 Zf-HC2 domain-containing protein Clostridiales 186802 Ruminococcus gnavus 33038 A0A2N5Q1F5 UniRef90_A0A2N5Q1F5 good msp_1 Ruminococcus gnavus 33038 Ruminococcus gnavus 33038 Ruminococcus gnavus 33038 33038 Ruminococcus gnavus Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus Cluster_1006 demo UniRef90_uncharacterized high_confidence high_confidence 99.5 1 1 YigZ family protein Clostridiales 186802 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 A7B7M9 UniRef90_A7B7M9 good msp_1 Ruminococcus gnavus 33038 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) 411470 411470 Ruminococcus gnavus (strain ATCC 29149 / VPI C7-9) Terminal k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus|t__Ruminococcus_gnavus_(strain_ATCC_29149_/_VPI_C7-9) Cluster_1007 demo UniRef90_characterized high_confidence high_confidence 99.5 1 1 Sugar phosphate isomerase/epimerase Clostridiales 186802 Ruminococcus gnavus 33038 A0A2N5NPC6 UniRef90_A0A2N5NPC6 good msp_1 Ruminococcus gnavus 33038 Ruminococcus gnavus 33038 Ruminococcus gnavus 33038 33038 Ruminococcus gnavus Species k__Bacteria|p__Firmicutes|c__Clostridia|o__Clostridiales|f__Lachnospiraceae|g__Blautia|s__Ruminococcus_gnavus ...
- File name:
$OUTPUT_DIR/finalized/$BASENAME_proteinfamilies_annotation.taxonomy.tsv
- This file includes the detailed information about taxonomic annotation (TSV format file).
$BASENAME_proteinfamilies_annotation.taxonomy.all.tsv
shows the taxonomic information at each taxonomic level.- Main columns:
taxa_id
: the finalized the taxon ID of this protein family (either taxon for LCA or representative based on parameter setting, default representative taxon);taxa_name
: the finalized the taxon name of this protein family;taxa_rank
: the finalized the taxonomic level of this protein family;taxa_lineage
: the finalized the taxonomic lineage of this protein family. - Other fields in the table indicate: 1) protein family ID; 2) study name; 3) protein novelty category (strong homology to UniRef90 characterized proteins, strong homology to UniRef90 uncharacterized proteins, weak homology to UniRef90 proteins, and no homology to UniRef90 proteins); 4) alignment type based on query coverage (high_confidence: both identify and query coverage satisfied the corresponding criteria; low_confidence: either identify or query coverage not passed the corresponding criteria); 5) alignment type based on mutual coverage (high_confidence: both identify and mutual coverage satisfied the corresponding criteria; low_confidence: either identify or mutual coverage not passed the corresponding criteria); 6) mapping identify; 7) the alignment coverage of the representative of this family; 8) the alignment mutual coverage of the representative of this family and UniRef90 representatives; 9) UniRef90 protein description; 10) taxon name of the LCA of the mapped UniRef90; 11) taxon ID of the LCA of the mapped UniRef90; 12) taxon name of the representative of the mapped UniRef90; 13) taxon ID of the representative of the mapped UniRef90; 14) UniProtKB ID of the mapped UniRef90 representative; 15) the mapped UniRef90 ID; 16) note information for the mapped UniRef90; 17) MPS name that this protein family is belong to; 18) taxon name of the matched MPS; 19) taxon ID of the matched MPS; 20) LCA taxon name of this protein family based on MSP ttaxonomic information; 21) LCA taxon ID of this protein family based on MSP taxonomic information; 22) taxon name of this protein family’s representative based on MSP ttaxonomic information; 23) taxon ID of this protein family’s representative based on MSP taxonomic information.
4. Abundance file
ID PRISM_7122 PRISM_7147 PRISM_7150 PRISM_7153 PRISM_7184 PRISM_7238 PRISM_7406 PRISM_7408 PRISM_7421 PRISM_7445 PRISM_7486 PRISM_7547 PRISM_7658 PRISM_7662 PRISM_7744 PRISM_7759 PRISM_7791 PRISM_7843 PRISM_7847 PRISM_7855 PRISM_7858 PRISM_7860 PRISM_7861 PRISM_7862 PRISM_7870 PRISM_7874 PRISM_7875 PRISM_7879 PRISM_7899 PRISM_7904 PRISM_7906 PRISM_7908 PRISM_7909 PRISM_7910 PRISM_7911 PRISM_7912 PRISM_7938 PRISM_7941 PRISM_7947 PRISM_7948 PRISM_7955 PRISM_7971 PRISM_7989 PRISM_8095 PRISM_8226 PRISM_8244 PRISM_8264 PRISM_8283 PRISM_8332 PRISM_8336 PRISM_8361 PRISM_8374 PRISM_8377 PRISM_8406 PRISM_8452 PRISM_8462 PRISM_8466 PRISM_8467 PRISM_8475 PRISM_8483 PRISM_8485 PRISM_8496 PRISM_8523 PRISM_8534 PRISM_8537 PRISM_8550 PRISM_8564 PRISM_8565 PRISM_8573 PRISM_8577 PRISM_8589 PRISM_8591 PRISM_8592 PRISM_8624 PRISM_8629 PRISM_8675 PRISM_8683 PRISM_8746 PRISM_8749 PRISM_8753 PRISM_8754 PRISM_8758 PRISM_8764 PRISM_8765 PRISM_8774 PRISM_8776 PRISM_8783 PRISM_8784 PRISM_8788 PRISM_8789 PRISM_8794 PRISM_8800 PRISM_8802 PRISM_8806 PRISM_8807 PRISM_8841 PRISM_8843 PRISM_8847 PRISM_8878 PRISM_8892 PRISM_9126 PRISM_9148 Cluster_1 1628.57 344.191 1779.04 361.815 21274.3 2531.96 1758.21 1325.19 107.936 2479.62 75.0717 10288 140.489 526.223 878.457 544.58 23741.5 23477.1 1020.34 612.181 1677.33 798.845 249.601 350.223 1297.56 565.739 349.645 2893.53 310.445 242.589 1151.99 397.229 1296.43 157.584 1509.21 527.071 730.622 2006.88 1762.46 88.4127 100.735 0 1512.46 1975.95 1348.34 1816.61 926.93 282.481 124.636 0 315.456 1730.5 1576.04 145.977 0 22840.6 276.333 594.827 1821.89 2485.37 11385.1 7361.11 2019.45 1551.36 984.562 16840.9 3328 111359 404.952 424.179 109.963 2260.72 396.53 1677.01 4283.67 1771.56 156.755 0 1171.73 420.518 1235.05 1441.67 4171.22 3716.82 488.319 724.294 1717.69 539.79 529.208 1178.29 144.675 85.8857 2293.57 0 1391.19 1253.93 5509.35 2372.51 1608.11 1249.66 2349.23 2531.25 Cluster_10 0 1775.32 1406.68 1703.73 1168.16 61.7906 0 201.504 1249.7 0 1723.06 376.605 1961.33 2162 1653.13 837.274 810.55 0 1859.61 1337.51 1698.26 1445.77 1717.21 1444.15 1019.4 2490.13 230.386 1463.19 2277.4 2028.38 2049.48 1046.96 1952.54 1682.12 520.897 1835.7 1752.66 3.03991 331.803 865.525 1766.34 9685.46 0 72.3325 0 1455.8 0 1669.18 1748.08 0 2188.82 23.4298 0 1682.03 0 106.738 1480.39 1383.32 1200.47 0 0 0 0 17.3256 0 0 0 643.647 1067.32 1816.73 1449.12 0 1704.54 0 0 14.4112 2326.57 4110.52 22.3788 1080.07 1348.1 0 1624.1 1662.67 1808.52 1371 567.361 1382.98 1995.77 1475.15 1715.16 1954 0 0 0 393.108 92.1369 0 1059.61 0 1587.63 0 Cluster_100 0 1787.4 1288.79 1809.2 0 203.804 0.617404 243.918 1800.29 20.4127 1880.79 138.017 1865.87 1764.04 1910.84 1358.87 772.325 303.706 1850.54 1766.15 1926.4 1617.81 1813.5 1841.46 1040.42 2278.71 168.862 1397.44 2174 2286.63 1696.9 2039.48 1967.8 1835.68 660.908 2168.23 1472.08 3.34218 121.598 1951.97 2047.38 0 2.9218 0 0 1564.98 671.498 2041.98 1974.21 1165.22 1948.25 8.5865 0 1844.31 1016.6 0 1969.93 1360.33 989.876 0 83.3107 0 243.825 0 0 813.337 0 943.528 928.974 2022.98 1420.61 0 2065.53 0 2068.82 0 2116.92 1506.41 24.604 1278.64 1680.97 5.96794 2258.69 1655.07 1793.17 2281.66 536.34 1865.22 2099.05 1991.72 1887.63 1818.03 11.5384 444.321 1.74742 596.965 33.7661 2.56909 1334.86 0 2327.32 0 Cluster_1000 0 1726.58 4340.43 1776.75 0 385.693 0.667669 326.695 1688.15 22.0745 1764.36 74.6268 1568.36 2170.37 1778.29 1330.68 1300.99 0 1547.67 1438.77 1794.79 1305.89 1846.12 2062.19 970.905 2278.08 0 1634.22 1978.07 2136.38 1895.21 1928.29 1958.73 1740.69 640.428 2005.58 1305.73 0 0 2023.48 1854.55 0 2.36976 21.4998 0 1870.29 726.167 2198.71 1758.71 0 1909.65 9.28556 4.60705 1681.68 0 63.4522 1877.75 1219.81 1213.19 0 0 0 0 10.2996 0 0 0 382.629 1268.97 1952.3 1442.94 0 2104.25 0 3355.87 0 1990.95 0 13.3035 1286.38 1773.84 0 1831.94 1282.26 1662.13 2202.62 473.921 1834.25 1680.4 1292.32 1747.84 1713.83 28.0751 240.247 0 542.947 10.9545 4.16737 1745.36 0 1510.08 0 Cluster_1001 0 1742.53 1174.7 1638.48 0 293.861 0.333834 228.687 1700.23 0 1472.75 0 1685.3 36.3748 0 1543.99 626.402 0 1726.25 896.073 0 1476.94 1739.73 615.115 1277.16 2473.09 0 1476.07 1909.16 550.479 1624.47 0 29.0182 56.7885 670.925 788.959 0 0 0 1672.22 0 0 0 21.4998 0 1240.45 0 2002.4 1845.89 0 7.48884 4.64278 4.60705 1274.09 3298.09 126.904 828.279 0 749.325 12.1692 270.28 0 0 0 0 0 0 765.258 475.865 1744.61 1550.62 0 1379.41 17.2866 0 0 130.479 0 0 1179.93 1524.63 0 74.2677 1469.25 1569.79 389.456 1.72964 1730.15 0 1292.32 1667.52 1706.85 9.35837 840.865 1.41726 489.771 87.6362 6.25105 984.225 0 47.1899 0 Cluster_1002 0 0 0 0 0 1597.87 0 3.62995 3.01994 0 0 0 0 0 0 0 0 0 0 0 0 4.17216 0 0 104.258 0 0 0 0 0 0 0 0 0 0 0 0 0 197.247 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Cluster_1003 1495.37 7.28202 80.0097 52.0906 0 1217.79 1224.14 1119.55 57.6446 1297.34 22.1566 1049.61 0 0 0 183.688 338.855 494.928 25.6292 126.792 0 209.574 57.7779 8.89156 510.612 0 963.142 52.9608 12.2166 55.9612 0 3.72184 0 0 904.993 0 139.264 1383.41 990.801 54.6732 0 0 1340.35 1619.95 1528.12 101.434 1094.29 62.7525 2.33556 0 77.116 1497.23 1272.8 55.9718 0 191.238 9.45583 55.0766 824.489 1662.67 1493.42 1295.29 2384.07 1660.73 1601.43 0 1089.06 768.801 557.746 0 151.453 1191.34 3.71528 1467.48 0 1445.92 0 0 1283.05 306.197 0 1397.23 49.741 13.4187 22.0877 7.77336 835.807 0 4.43092 0 14.7934 9.56537 1335.04 0 1460.84 922.221 1122.53 1549.07 197.756 1202.1 71.1126 1372.99 ...
- File name:
$OUTPUT_DIR/finalized/$BASENAME_proteinfamilies_nrm.tsv
- This file includes the normalized abundance of each protein family across samples (TSV format file).
- Protein family abundance is reported in copies per million (CPM) units, which is "total sum scaling (TSS)"-style normalization: each sample is constrained to sum to 1 million. First, each protein family is normalized to RPK (reads per kilobase) units for gene length normalization; RPK units reflect relative gene (or transcript) copy number in the community. Then, RPK values are further sum-normalized (CPM) to adjust for differences in sequencing depth across samples. Further information can refer to the normalization approach in HUMAnN.
5. Clustering information for protein families
>PRISM_7861_211956;Cluster_1;length=85;size=24;cluster=1 PRISM_7861_211956 PRISM_7791_142577 PRISM_8794_132719 ... >PRISM_7855_54982;Cluster_2;length=559;size=12;cluster=2 PRISM_7855_54982 PRISM_8776_12844 PRISM_8467_139927 ...
- File name:
$OUTPUT_DIR/finalized/$BASENAME_proteinfamilies.clstr
- This file includes the clustering information for protein families, formatted using an extension-fasta style based on the version of CD-hit clustering file (extension-fasta format file).
6. Sequences of protein families
- File name:
$OUTPUT_DIR/finalized/$BASENAME_proteinfamilies.centroid.faa
- This file is the protein sequence for representatives of protein families (Fasta format file).
7. Intermediate output files
-
Clustering results
- MetaWIBELE clusters all representative sequences of gene families into protein families.
- All intermediate results are in the folder
$OUTPUT_DIR/clustering/
.
-
Global-homology based search results
- MetaWIBELE queries each sequence in protein families against the UniRef90 database by performing protein-level search.
- All intermediate results are in the folder
$OUTPUT_DIR/global_homology_annotation/
.
-
Domain-motif annotation results
- MetaWIBELE uses the local-homology approach (domain/motif search) to characterize the secondary structures of protein families.
- All intermediate results are in the folder
$OUTPUT_DIR/domain_motif_annotation/
.
-
Abundance-based annotation results
- MetaWIBELE implements non-homology based strategy compromising (i) taxonomic annotation with phylogenetic binning, (ii) abundance profiling for protein families, and (iii) association with environmental parameters or phenotypes based on differential abundance.
- All intermediate results are in the folder
$OUTPUT_DIR/abundance_annotation/
.
- File name:
-
- annotation file produced by MetaWIBELE-characterize workflow (TSV format file), e.g. demo_proteinfamilies_annotation.tsv
- annotation attribute file produced by MetaWIBELE-characterize workflow (TSV format file), e.g. demo_proteinfamilies_annotation.attribute.tsv
-
$ metawibele prioritize --input-annotation $INPUT_ANNOTATION --input-attribute $INPUT_ATTRIBUTE --output $OUTPUT_DIR
- In the command replaces
$INPUT_ANNOTATION
,$INPUT_ATTRIBUTE
with annotation and attribute files produced by MetaWIBELE-characterize workflow,$OUTPUT_DIR
with the path to the folder to write output files. - The workflow runs with the default settings for all main tool subtasks. These settings will work for most data sets. However, if you need to customize your workflow settings for the prioritization workflow to determine the optimum setting. Then apply these settings by using options for each task. You can customize your own configuration file.
- For example,
--prioritization-config $myconfig_file
will modify the default settings when running the prioritization tasks.
- For example,
- In the command replaces
-
$ metawibele prioritize --input-annotation demo_proteinfamilies_annotation.tsv --input-attribute demo_proteinfamilies_annotation.attribute.tsv --output $OUTPUT_DIR
-
1. unsupervised prioritization
TID familyID evidence value rank description note 1 Cluster_2 DNA_abundance 3976.775288 0.997474747 ranking based on single evidence 2 Cluster_2 DNA_prevalence 0.980392157 0.998737374 ranking based on single evidence 3 Cluster_2 priority_score 0.998105661 0.998105661 meta ranking based on multiple evidences 4 Cluster_1385 DNA_abundance 7579.266327 0.999368687 ranking based on single evidence 5 Cluster_1385 DNA_prevalence 0.960784314 0.994318182 ranking based on single evidence 6 Cluster_1385 priority_score 0.996837037 0.996837037 meta ranking based on multiple evidences ...
- File name:
$OUTPUT_DIR/$BASENAME_unsupervised_prioritization.rank.table.tsv
$OUTPUT_DIR
= the output folder$BASENAME
= the prefix for output files provided bymetawibele.cfg
- This file includes the results of unsupervised prioritization based on ecological properties. Each protein family has a numeric priority score based on meta ranking (TSV format file).
$BASENAME_unsupervised_prioritization.rank.tsv
is the overall ranking for all protein families.
2. supervised prioritization: numeric ranking
TID familyID evidence value rank description note 1 Cluster_459 DNA_within_phenotype_abundance 2006.049068 0.942838793 ranking based on single evidence CD_vs_nonIBD 2 Cluster_459 DNA_within_phenotype_prevalence 1 1 ranking based on single evidence CD_vs_nonIBD 3 Cluster_459 MaAsLin2_DA__mean_log -3.55885575 0.892742453 ranking based on single evidence CD_vs_nonIBD 4 Cluster_459 MaAsLin2_DA__qvalue 1.00E-05 0.942122186 ranking based on single evidence CD_vs_nonIBD 5 Cluster_459 priority_score 0.942906085 0.942906085 meta ranking based on multiple evidences CD_vs_nonIBD 6 Cluster_1254 DNA_within_phenotype_abundance 1716.567921 0.846499679 ranking based on single evidence CD_vs_nonIBD 7 Cluster_1254 DNA_within_phenotype_prevalence 1 1 ranking based on single evidence CD_vs_nonIBD 8 Cluster_1254 MaAsLin2_DA__mean_log -3.944110406 0.97430957 ranking based on single evidence CD_vs_nonIBD 9 Cluster_1254 MaAsLin2_DA__qvalue 7.56E-06 0.954662379 ranking based on single evidence CD_vs_nonIBD 10 Cluster_1254 priority_score 0.940027663 0.940027663 meta ranking based on multiple evidences CD_vs_nonIBD ...
- File name:
$OUTPUT_DIR/$BASENAME_supervised_prioritization.rank.table.tsv
-
- This file includes the results of supervised prioritization by combining ecological properties and environmental/phenotypic properties. Each protein family has a numeric priority score based on meta ranking (TSV format file).
$BASENAME_supervised_prioritization.rank.tsv
is the overall ranking for all protein families.
3. supervised prioritization: binary filtering
3.1 Select interested subset annotated with at least one of specific biochemical annotations
Setting local
$PRIORITIZE_CONF
file as following:##Binary filtering for selection subset [filtering] # Filter for interested functional vignettes type [Choices: pilin | secreted_system | other user defined | none] vignettes = none # significant associations for filtering: [required] required item, [optional] optional item, [none] ignoring MaAsLin2_DA-sig = none # biochemical annotation for filtering: [required] required item, [optional] optional item, [none] ignoring ExpAtlas_interaction = required DOMINE_interaction = none SIFTS_interaction = none Denovo_signaling = optional Denovo_transmembrane = optional PSORTb_extracellular = optional PSORTb_cellWall = optional PSORTb_outerMembrane = optional UniRef90_extracellular = optional UniRef90_signaling = optional UniRef90_transmembrane = optional UniRef90_cellWall = optional UniRef90_outerMembrane = optional UniRef90_PfamDomain = none InterProScan_PfamDomain = none InterProScan_SUPERFAMILY = none InterProScan_ProSiteProfiles = none InterProScan_ProSitePatterns = none InterProScan_Gene3D = none InterProScan_PANTHER = none InterProScan_TIGRFAM = none InterProScan_SFLD = none InterProScan_ProDom = none InterProScan_Hamap = none InterProScan_SMART = none InterProScan_CDD = none InterProScan_PRINTS = none InterProScan_PIRSF = none InterProScan_MobiDBLite = none
- Re-run prioritization workflow for filtering:
$ metawibele prioritize --prioritization-config $PRIORITIZE_CONF --bypass-mandatory --selected-output demo_prioritized.selected.tsv --input-annotation $INPUT_ANNOTATION --input-attribute $INPUT_ATTRIBUTE --output $OUTPUT_DIR
- Output file name:
$OUTPUT_DIR/demo_prioritized.selected.tsv
- This file is the results of binary filtering of protein families based on biochemical annotations (TSV format file).
- These settings require that each of prioritized protein family should 1) be annotated to domain-domain interaction with the host, and 2) have at least one of the following features: signaling, extracellular, cellWall, outerMembrane, transmembrane
3.2. Select interested subset annotated with multiple specific biochemical annotations simultaneously
Setting
$PRIORITIZE_CONF
as following:##Binary filtering for selection subset [filtering] # Filter for interested functional vignettes type [Choices: pilin | secreted_system | other user defined | none] vignettes = none # significant associations for filtering: [required] required item, [optional] optional item, [none] ignoring MaAsLin2_DA-sig = required # biochemical annotation for filtering: [required] required item, [optional] optional item, [none] ignoring ExpAtlas_interaction = required DOMINE_interaction = none SIFTS_interaction = none Denovo_signaling = required Denovo_transmembrane = optional PSORTb_extracellular = optional PSORTb_cellWall = optional PSORTb_outerMembrane = optional UniRef90_extracellular = optional UniRef90_signaling = none UniRef90_transmembrane = optional UniRef90_cellWall = optional UniRef90_outerMembrane = optional UniRef90_PfamDomain = none InterProScan_PfamDomain = none InterProScan_SUPERFAMILY = none InterProScan_ProSiteProfiles = none InterProScan_ProSitePatterns = none InterProScan_Gene3D = none InterProScan_PANTHER = none InterProScan_TIGRFAM = none InterProScan_SFLD = none InterProScan_ProDom = none InterProScan_Hamap = none InterProScan_SMART = none InterProScan_CDD = none InterProScan_PRINTS = none InterProScan_PIRSF = none InterProScan_MobiDBLite = none
- Re-run prioritization workflow for filtering:
$ metawibele prioritize --prioritization-config $PRIORITIZE_CONF --bypass-mandatory --selected-output demo_prioritized.selected.tsv --input-annotation $INPUT_ANNOTATION --input-attribute $INPUT_ATTRIBUTE --output $OUTPUT_DIR
- Output file name:
$OUTPUT_DIR/demo_prioritized.selected.tsv
- This file is the results of binary filtering of protein families based on biochemical annotations (TSV format file).
- These settings require that each of prioritized protein family should 1) significantly associated with the main phenotype, 2) be annotated to domain-domain interaction with the host, 3) predicted as signal peptides, and 4) have at least one of the following features: extracellular, cellWall, outerMembrane, transmembrane
3.3 Select interested subset based on specific functions
Setting
$PRIORITIZE_CONF
as following:[filtering] # Filter for interested functional vignettes type [Choices: pilin | secreted_system | other user defined | none] vignettes = pilin # Filter for significant associations: [required] required item, [optional] optional item, [none] ignoring [ Default: required ] MaAsLin2_DA-sig = none # biochemical annotation for filtering: [required] required item, [optional] optional item, [none] ignoring ExpAtlas_interaction = optional DOMINE_interaction = optional SIFTS_interaction = optional Denovo_signaling = optional Denovo_transmembrane = optional PSORTb_extracellular = optional PSORTb_cellWall = optional PSORTb_outerMembrane = optional UniRef90_extracellular = optional UniRef90_signaling = optional UniRef90_transmembrane = optional UniRef90_cellWall = optional UniRef90_outerMembrane = optional UniRef90_PfamDomain = optional InterProScan_PfamDomain = optional InterProScan_SUPERFAMILY = optional InterProScan_ProSiteProfiles = optional InterProScan_ProSitePatterns = optional InterProScan_Gene3D = optional InterProScan_PANTHER = optional InterProScan_TIGRFAM = optional InterProScan_SFLD = optional InterProScan_ProDom = optional InterProScan_Hamap = optional InterProScan_SMART = optional InterProScan_CDD = optional InterProScan_PRINTS = optional InterProScan_PIRSF = optional InterProScan_MobiDBLite = optional
- Re-run prioritization workflow for filtering:
$ metawibele prioritize --prioritization-config $PRIORITIZE_CONF --bypass-mandatory --vignette-config my_vignette_function_file --selected-output demo_prioritized_pilin.tsv --input-annotation $INPUT_ANNOTATION --input-attribute $INPUT_ATTRIBUTE --output $OUTPUT_DIR
- Provide your own vignette function file for filtering specific functions.
- Output file name:
$OUTPUT_DIR/demo_prioritized_pilin.tsv
- This file is the result of binary filtering of protein families based on pilin related functions (TSV format file).
- File name:
A utility workflow in MetaWIBELE package for preprocessing metagenomes reads, used for (i) metagenomic assembly, (ii) gene calling, (iii) gene families (non-redundant gene catalogs) construction, and (iv) gene abundance estimation.
$ metawibele preprocess --help
This command yields:
usage: preprocess.py [-h] [--version] [--threads THREADS]
[--extension-paired EXTENSION_PAIRED]
[--extension {.fastq.gz,.fastq}]
[--gene-call-type {prokka,prodigal,both}]
[--bypass-assembly] [--bypass-gene-calling]
[--bypass-gene-catalog]
[--output-basename OUTPUT_BASENAME] -o OUTPUT [-i INPUT]
[--config CONFIG] [--local-jobs JOBS]
[--grid-jobs GRID_JOBS] [--grid GRID]
[--grid-partition GRID_PARTITION]
[--grid-benchmark {on,off}] [--grid-options GRID_OPTIONS]
[--grid-environment GRID_ENVIRONMENT]
[--grid-scratch GRID_SCRATCH] [--dry-run]
[--skip-nothing] [--quit-early] [--until-task UNTIL_TASK]
[--exclude-task EXCLUDE_TASK] [--target TARGET]
[--exclude-target EXCLUDE_TARGET]
[--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}]
A workflow to preprocess shotgun sequencing reads of metagenomes with tasks of metagenomic assembly, gene calling, building gene catalogs and generating gene abundance for each sample.
optional arguments:
-h, --help show this help message and exit
--version show program's version number and exit
--threads THREADS number of threads/cores for each task to use
--extension-paired EXTENSION_PAIRED
provide the extension for paired fastq files using comma to separate, e.g. .R1.fastq.gz,.R2.fastq.gz | .R1.fastq,.R2.fastq
--extension {.fastq.gz,.fastq}
provide the extension for all fastq files
[default: .fastq.gz]
--gene-call-type {prokka,prodigal,both}
specify which type of gene calls will be used
[default: prodigal]
--bypass-assembly do not run assembly
--bypass-gene-calling
do not call ORFs
--bypass-gene-catalog
do not build gene catalogs
--output-basename OUTPUT_BASENAME
provide the basename for output files
-o OUTPUT, --output OUTPUT
Write output to this directory
-i INPUT, --input INPUT
Find inputs in this directory
[default: /srv/export/hutlab11_nobackup/share_root/users/yancong/metawibele_demo/output/characterization/finalized]
--config CONFIG Find workflow configuration in this folder
[default: only use command line options]
--local-jobs JOBS Number of tasks to execute in parallel locally
[default: 1]
--grid-jobs GRID_JOBS
Number of tasks to execute in parallel on the grid
[default: 0]
--grid GRID Run gridable tasks on this grid type
[default: slurm]
--grid-partition GRID_PARTITION
Partition/queue used for gridable tasks.
Provide a single partition or a comma-delimited list
of short/long partitions with a cutoff.
[default: serial_requeue,serial_requeue,240]
--grid-benchmark {on,off}
Benchmark gridable tasks
[default: on]
--grid-options GRID_OPTIONS
Grid specific options that will be applied to each grid task
--grid-environment GRID_ENVIRONMENT
Commands that will be run before each grid task to set up environment
--grid-scratch GRID_SCRATCH
The folder to write intermediate scratch files for grid jobs
--dry-run Print tasks to be run but don't execute their actions
--skip-nothing Run all tasks. Rerun tasks that have already been run.
--quit-early Stop if a task fails. By default,
all tasks (except sub-tasks of failed tasks) will run.
--until-task UNTIL_TASK
Stop after running this task. Use task name or number.
--exclude-task EXCLUDE_TASK
Don't run these tasks. Add multiple times to append.
--target TARGET Only run tasks that generate these targets.
Add multiple times to append.
Patterns with ? and * are allowed.
--exclude-target EXCLUDE_TARGET
Don't run tasks that generate these targets.
Add multiple times to append.
Patterns with ? and * are allowed.
--log-level {DEBUG,INFO,WARNING,ERROR,CRITICAL}
Set the level of output for the log
[default: INFO]
--input
: the input directory where a set of fastq (or fastq.gz) files (single-end or paired-end) passing through QC are stored. The files are expected to be named$SAMPLE.paired_R1.gz
,$SAMPLE.paired_R2.gz
,$SAMPLE.orphan_R1.gz
and$SAMPLE.orphan_R2.gz
where$SAMPLE
is the sample name or identifier corresponding to the sequences.$SAMPLE
can contain any characters except spaces or periods.--extension-paired
indicates the extension for paired fastq files using comma to separate. It should be specified as ".R1.fastq.gz,.R2.fastq.gz" if the paired fastq files are$SAMPLE.R1.fastq.gz
and$SAMPLE.R2.fastq.gz
--extension
indicates the extension for all fastq files. It should be specified as ".fastq.gz" if the fastq files are$SAMPLE.fastq.gz
--output
: the output directory.
- QC'ed shotgun sequencing metagenome file (fastq, fastq.gz, fasta, or fasta.gz format), e.g. "raw_reads" folder including:
- See the section on parallelization options to optimize the workflow run based on your computing resources.
- The workflow runs with the default settings for all main tool subtasks. If you need to customize your workflow settings for the preprocessing workflow to modify the default settings, you can change the parameter settings.
- For example,
--extension-paired "$R1_suffix,$R2_suffix"
,--extension "$fastq_suffix"
(what are the following part after$SAMPLE
in the input file names) will modify the default settings when running the assembly task.
- For example,
$ metawibele preprocess --input raw_reads/ --output $OUTPUT_DIR/ --output-basename demo --extension-paired "_R1.fastq.gz,_R2.fastq.gz" --extension ".fastq.gz"
Main output files
The following are the two main output files of the preprocessing utility that are used for MetaWIBELE:
$OUTPUT_DIR/finalized/$BASENMAE_genecatalogs.centroid.faa
$OUTPUT_DIR/finalized/$BASENMAE_genecatalogs_counts.all.tsv
1. demo_genecatalogs.centroid.faa
>PRISM_7938_21108
MKTRRKKQTKRVLAGTLAALMTVSAVPVSNSVVHAEESQDRSELKLRYSSAAPDSYAGWEKWSLPIGNSGIGASVFGGVQ
TERIQLNEKSLWSGGPSDSRPNYNGGNLEEKGKNGQTVKEIQQLFANGDNDAASSKCGELVGLSDDAGVNGYGYYLSYGN
MYLDFKDISDKDVENYERTLDLNTAIAGVEYDNGDTHYTRENFVSYPDNVLVTRLTAEGGDKLNLDVRVEPDNKKGNGSN
NPQPQSYEREWTTNVEDALISIDGQLKDNQMKFSSQTKVLTEGGTTEDGDEKVTVKDAKAVTIITSIGTDYKNDYPVYRT
GESQEQVASRVRAYVDKAADTVEKDSYDTLRQTHVDDYSSIFGRVNLDLGQVPSEKTTDKLLKAYNDGSASDQERRYLEV
...
- This file provides the amino acid sequences for each gene identified as the representative of its gene family (Fasta format file).
- Each gene is given a MetaWIBELE-specific ID (i.e. PRISM_7938_21108) based on the sample and order in which it was identified.
2. demo_genecatalogs_counts.all.tsv
ID PRISM_7122 PRISM_7147 PRISM_7150 PRISM_7153 PRISM_7184 PRISM_7238 PRISM_7406 PRISM_7408 PRISM_7421
PRISM_7122_03545 42 2 0 4 2 22 1098 117 16
PRISM_7122_03875 197 16 2 15 87 0 0 80 92
PRISM_7122_12067 216 20 6 28 2 12 2006 258 17
PRISM_7122_131770 36 6 6 2 0 70 2274 24 22
PRISM_7122_19039 6 0 0 0 0 14 750 57 5
PRISM_7122_26201 17 6 3 8 2 59 2584 199 20
PRISM_7122_32823 10 0 1 2 0 0 136 19 2
PRISM_7122_38863 16 3 2 8 2 34 905 62 12
PRISM_7122_50124 26 3 3 16 6 35 2139 191 22
...
- This file provides the counts of the number of reads mapped to each gene family (rows) in each sample (columns) (TSV format file).
Other output files
1. assembly results
$OUTPUT_DIR/finalized/$BASENMAE_contig_sequence.fasta
: contig sequences (Fasta format file).- The intermediate assembly outputs for each sample are in the
$OUTPUT_DIR/assembly/
folder.
2. gene-calling results
$OUTPUT_DIR/finalized/$BASENMAE_gene_info.tsv
: all gene calls information (TSV format file).$OUTPUT_DIR/finalized/$BASENMAE_combined_gene_protein_coding.complete.sorted.fna
: nucleotide sequences for all complete ORFs sorted by gene length (Fasta format file).$OUTPUT_DIR/finalized/$BASENMAE_combined_protein.complete.sorted.faa
: protein sequences for all complete ORFs sorted by protein length (Fasta format file).$OUTPUT_DIR/finalized/$BASENMAE_combined_gene_protein_coding.sorted.fna
: nucleotide sequences for all ORFs (including partial genes) sorted by gene length (Fasta format file).$OUTPUT_DIR/finalized/$BASENMAE_combined_protein.sorted.faa
: protein sequences for all ORFs (including partial genes) sorted by protein length.- The intermediate gene-calling outputs from prodigal are in the
$OUTPUT_DIR/gene_calls/
folder. - The intermediate gene-annotation outputs from prokka are in the
$OUTPUT_DIR/gene_annotation/
folder.
3. gene families
$OUTPUT_DIR/finalized/$BASENMAE_genecatalogs.clstr
: clustering information for non-redundant gene families (extension-fasta format file).$OUTPUT_DIR/finalized/$BASENMAE_genecatalogs_counts.all.tsv
: reads counts of gene families per sample (TSV format file).$OUTPUT_DIR/finalized/$BASENMAE_genecatalogs.centroid.fna
: nucleotide sequences of representatives for gene families (Fasta format file).$OUTPUT_DIR/finalized/$BASENMAE_genecatalogs.centroid.faa
: protein sequences of representatives for gene families.- The intermediate mapping outputs for each sample are in the
$OUTPUT_DIR/mapping/
folder.