Traitar is a software for characterizing microbial samples from nucleotide or protein sequences. It can accurately phenotype 67 diverse traits.
Installation
Basic usage
Results
Docker
Citing Traitar
Please see INSTALL.md for installation instructions.
traitar phenotype <in dir> <sample file> from_nucleotides <out_dir>
will trigger the standard workflow of Traitar, which is to predict open reading frames with Prodigal, annotate the coding sequences provided as nucleotide FASTAs in the <in_dir> for all samples in <sample_file> with Pfam families using HMMer and finally predict phenotypes from the models for the 67 traits.
The sample file has one column for the sample file names and one for the names as specified by the user. You can also specify a grouping of the samples in the third column, which will be shown in the generated plots. The template looks like following - The header row is mandatory; please also take a look at the sample file for the packaged example data:
sample_file_name{tab}sample_name{tab}category
sample1_file_name{tab}sample1_name[{tabl}sample_category1]
sample2_file_name{tab}sample2_name[{tabl}sample_category2]
traitar phenotype <in dir> <sample file> from_genes <out_dir>
assumes that gene prediction has been conducted already externally. In this case analysis will start with the Pfam annotation. If the output directory already exists, Traitar will offer to recompute or resume the individual analysis steps. This option is only available if the process is run interactively.
Traitar can benefit from parallel execution. The -c
parameter sets the number of processes used e.g. -c 2
for using two processes
traitar phenotype <in dir> <sample file> from_nucleotides out_dir -c 2
This requires installing GNU parallel as noted above.
Traitar can be used to inspect the protein families in each phenotype model:
traitar show 'Glucose fermenter
will show the majority features i.e. the Pfam families that contribute to the assignment of the trait Glucose fermenter with phypat classifier to some genome sequence. Via --predictor the user may specify the classifier (phypat, phypat+PGL).
traitar phenotype <traitar_dir>/data/sample_data <traitar_dir>/data/sample_data/samples.txt from_genes <out_dir> -c 2
will trigger phenotyping of Listeria grayi DSM_20601 and Listeria ivanovii WSLC3009. Computation should be done within 5 minutes. You can find out <traitar_dir>
by running
python
>>> import traitar
>>> traitar.__path__
Traitar provides the gene prediction results in <out_dir>/gene_prediction
, the Pfam annotation in <out_dir>/pfam_annotation
and the phenotype prediction in<out_dir>/phenotype prediction
.
The phenotype prediction is summarized in heatmaps individually for the phyletic pattern classifier in heatmap_phypat.png
, for the phylogeny-aware classifier in heatmap_phypat_ggl.png
and for both classifiers combined in heatmap_comb.png
and provide hierarchical clustering dendrograms for phenotypes and the samples.
These heatmaps are based on tab separated text files e.g. predictions_majority-vote_combined.txt
. A negative prediction is encoded as 0, a prediction made only by the pure phyletic classifier as 1, one made by the phylogeny-aware classifier by 2 and a prediction supported by both algorithms as 3. predictions_flat_majority-votes_combined.txt
provides a flat version of this table with one prediction per row. The expert user might also want to access the individual results for each algorithm in the respective sub folders phypat
and phypat+PGL
.
Traitar will link the protein families and predicted phenotypes. The results can be found in phypat/feat_gffs
and ``phypat+PGL/feat_gffs`. If the user picked the 'from nucleotides' option, Traitar will also generate GFF files that link the genes called by Prodidgal with the important protein families. The phenotype-specific protein family annotations tracks can be visualized via GFF files in a genome browser of choice.
If the from_genes option is set, the user may specify gene GFF files via an additional column called gene_gff in the sample file. As gene ids are not consistent across gene GFFs from different sources e.g. img, RefSeq or Prodigal the user needs to specify the origin of the gene gff file via the -g / --gene_gff_type parameter. Still there is no guarantee that this works currently. Using samples_gene_gff.txt as the sample file in the above example will generate phenotype-specific Pfam tracks for the two genomes.
traitar phenotype . samples_gene_gff.txt from_genes traitar_out -g refseq
There is a Docker container available for Traitar. Pull by
docker pull aweimann/traitar
To run traitar for the sample data execute
docker run -v <traitar_dir>/data/sample_data:/mnt 1445e6c01992 bash -c 'traitar phenotype /mnt/ /mnt/samples.txt from_nucleotides /mnt/traitar_out'
,
which will take ~30 minutes. Note there is a problem with parallel usage so -c option is not guaranteed to work. The output will be owned by root. So currently you still need root access to your machine to inspect the traitar_out folder.
If you use Traitar in your research, please cite our paper:
From genomes to phenotypes: Traitar, the microbial trait analyzer
Aaron Weimann, Kyra Mooren, Jeremy Frank, Phillip B Pope, Andreas Bremges, Alice C McHardy
mSystem (2016) doi:10.1101/043315