Welcome! This is the main website for the TRANSIT and TPP tools developed by the Ioerger lab at Texas A&M.


TRANSIT Version 3.1.0 (Released Mar 8, 2020) TRANSIT Version 3.0.2 (Released Dec 21, 2019) TRANSIT Version 3.0.1 (Released Aug 1, 2019) TRANSIT Version 3.0.0 (Released July 18, 2019) TRANSIT Version 2.5.2 (Released May 16, 2019) TRANSIT Version 2.5.1 (Released Apr 25, 2019) TRANSIT Version 2.5.0 (Released Mar 28, 2019) TRANSIT Version 2.4.2 Released (Mar 15, 2019) TRANSIT Version 2.4.1 Released (Mar 4, 2019) TRANSIT Version 2.4.0 Released (Feb 28, 2019)

TRANSIT Version 2.3.4 2019-01-14

TRANSIT Version 2.3.3 2018-12-06 TRANSIT Version 2.3.2 2018-11-09 TRANIST Version 2.3.1 2018-10-19 TRANSIT Version 2.3.0 Released (Oct 10, 2018)
Changes: TRANSIT 2.2.0 Released (June 4, 2018)
Changes: TRANSIT 2.1.2 Released (May 8, 2018)
Changes: TRANSIT 2.0.2 Released (August 19th, 2016)

Source Code

TRANSIT can be downloaded from the public GitHub repository, http://github.com/mad-lab/transit. It is released under a GPL License. You can download a zip file with the latest code or use git to clone the repository:

git clone https://github.com/mad-lab/transit/


Make sure all prequisites are installed (see Documentation). Extract files into a single directory and in a terminal type:
python <PATH>/src/transit.py
Note: this command installs the source files locally in your directory, so you can run it from the command-line as above. Alternatively, you can use 'pip install' (see Documentation) to install a copy of transit in a global location on your system, like /usr/local/bin/transit. (transit becomes a command; you don't have to say 'python' before it) For detailed instructions, please see the documentation included with the source-code distribution or visit the following page:


In order for TRANSIT and TPP to run, various packages installed, like BWA, Numpy, Scipy, wxPython, matplotlib, etc.
See the documentation for full requirements and installation instructions.

Genome Annotation Files

Transit uses a custom file format for genome annotations called a 'prot_table', which is just a tab-separated file with a line for each ORF and specific columns of info. Examples of prot tables are available below.

If the annotation of your genome is in .gff (or .gff3) format, there is a command available in Transit to convert them to .prot_table format for use by all the analytical methods. Conversion of .gff files can also be done through the GUI (as a menu option).

> python transit.py convert gff2prot_table <.gff> <.prot_table>

Example Data

Example datasets (.wig) format at provided in the data/ directory included in the distribution. The accompanying genome (.fna) and annotation file (.prot_table) are included in the genomes/ directory. Additional genomes to be used with TRANSIT and TPP are available on the following site:


Here is a Tn5 dataset from Salmonella (Langridge et al., 2009):

Command-line Examples:

Here are examples of some of my favorite commands...

> python ../transit/src/tpp.py -bwa ../bwa-0.7.12/bwa -ref H37Rv.fna -reads1 sample667_R1.fastq -reads2 sample667_R2.fastq -output sample667

You can combine multiple wig files into one file (which can be viewed as a spreadsheet). In this example, I specify '-n TTR' at the end of the line for normalizing the insertion counts between datasets, but you could also use '-n nonorm' if you want to look at the raw counts. Make sure you are using the annotation (*.prot_table) corresponding to the genome that was used as the reference for creating the wig files (using TPP).

> python ../transit/src/transit.py export combined_wig Rv_1_H37RvRef.wig,Rv_2_H37RvRef.wig,Rv_3_H37RvRef.wig H37Rv.prot_table clinicals_combined_TTR.wig -n TTR

If you want to just normalize a specific dataset, there is a command for that...

> python src/transit.py normalize <input.wig> <output.wig> [-n TTR|betageom]
> python src/transit.py normalize Rv_1_H37RvRef.wig Rv_1_H37RvRef_TTR.wig -n TTR
> python src/transit.py normalize Rv_1_H37RvRef.wig Rv_1_H37RvRef_BG.wig -n betageom

Here is an example of doing resampling from the command-line. It applies TTR normalization by default. The '-a' at the end is for adaptive, which gives approximately the same p-values but is much faster.

> python ../../transit/src/transit.py resampling /pacific/home/mdejesus/TRASH/invitro/Cara_WT.wig,/pacific/home/mdejesus/TRASH/invitro/CS_TraCS053.wig BBM_c3h-1_raw_templates.txt,BBM_c3h-2_raw_templates.txt H37Rv.prot_table resamp_invitro_BBM_c3h_TTR.dat -a

Here is an example of evaluating genetic interactions among 2 strains (H37Rv wt and a knockout of SecA2) and 2 conditions (in_vitro vs in_vivo). There are 4 groups of wig files; each group is a comma-separated list of replicates. The arguments at the end specify truncation of TA sites in the N- and C-terminal 5% of each ORF.

> python ../transit/src/transit.py GI TnSeq_H37Rv_invitro_A.wig,TnSeq_H37Rv_invitro_B.wig,TnSeq_H37Rv_invitro_C.wig H37Rv_in_vivo_rep1.wig,H37Rv_in_vivo_rep2.wig,H37Rv_in_vivo_rep3.wig TnSeq_SecA2_invitro_A.wig,TnSeq_SecA2_invitro_BC.wig SecA2_in_vivo_rep1.wig,SecA2_in_vivo_rep2.wig,SecA2_in_vivo_rep3.wig H37Rv.prot_table SecA2_GI3.dat -iN 5 -iC 5

Don't forget that you can get some help on command-line args by typing '--help', such as:

> python ../transit/src/tpp.py --help
usage: python PATH/src/tpp.py -bwa <EXECUTABLE_WITH_PATH> -ref <REF_SEQ> -reads1 <FASTQ_OR_FASTA_FILE> [-reads2 <FASTQ_OR_FASTA_FILE>] -output <BASE_FILENAME> [-maxreads <N>] [-mismatches <N>] [-flags "<STRING>"] [-tn5|-himar1] [-primer <seq>] [-barseq_catalog_in|_out <file>]

> python ../../transit/src/transit.py resampling <comma-separated .wig control files> <comma-separated .wig experimental files> <annotation .prot_table or GFF3> <output file> [Optional Arguments]
        Optional Arguments:
        -s <integer>    :=  Number of samples. Default: -s 10000
        -n <string>     :=  Normalization method. Default: -n TTR

> python ../transit/src/transit.py GI --help
python /pacific/home/ioerger/transit/src/transit.py GI <comma-separated_.wig_control_files_for_condition_A> <comma-separated_.wig_control_files_for_condition_B> <comma-separated_.wig_experimental_files_condition_A> <comma-separated_.wig_experimental_files_condition_B> <annotation_.prot_table_or_GFF3> <output_file> [Optional Arguments]
        Optional Arguments:
        -s <integer>    :=  Number of samples. Default: -s 10000
        --rope <float>  :=  Region of Practical Equivalence. Area around 0 (i.e. 0 +/- ROPE) that is NOT of interest. Can be thought of similar to the area of the null-hypothesis. Default: --rope 0.5
        -n <string>     :=  Normalization method. Default: -n TTR
        -iz             :=  Include rows with zero accross conditions.
        -l              :=  Perform LOESS Correction; Helps remove possible genomic position bias. Default: Turned Off.
        -iN <float>     :=  Ignore TAs occuring at given fraction of the N terminus. Default: -iN 0.0
        -iC <float>     :=  Ignore TAs occuring at given fraction of the C terminus. Default: -iC 0.0

Here a command we recently added for determining which genes exhibit statistically significant variability across a set of conditions using ANOVA. Note that this command take a combined_wig file and samples_metadata file as input. Mutiple wig files can be combined together for convenience using the command above. The samples_metadata file identifies the samples and how they are grouped by condition; it is created manually by the user (e.g. using Excel) and saved in tab-separated text format. Running "python transit.py anova --help" will show you the input arguments and flags. By default ANOVA automatically applies TTR normalization to the datasets.

python src/transit.py anova -n nonorm --wig anova-data/combined_wig_macrophages.dat --prot anova-data/H37RvBD1.prot_table --meta anova-data/samples_metadata.txt --ignore-conditions Unknown,Tcell -o output_nonorm.txt

If you want to perform pathway enrichment analysis on the output of resampling, you can use the following command. There are 2 annotation files provided for H37Rv (for Sanger roles, and for GO terms, in src/pytransit/data/). However, you can make your own in the same format for other strains/organisms. There are two methods for calculating enrichment: hypergeometric (Fisher's exact test), and GSEA. GSEA, as originally defined, is very slow. GSEA-Z and GSEA-CHI are faster approximations. (see documentation for references)

> python src/transit.py pathway_enrichment <resampling files> <annotation file> <output file> [-p .-S -M < GSEA, HYPE, Z, CHI >]


If you use TRANSIT, please cite this paper:

DeJesus, M.A., Ambadipudi, C., Baker, R., Sassetti, C., and Ioerger, T.R. (2015). TRANSIT - a Software Tool for Himar1 TnSeq Analysis. PLOS Computational Biology, 11(10):e1004401.

Papers on the Statistical Methods in Transit:

Subramaniyam, S., DeJesus, M.A., Zaveri, A., Smith, C.M., Baker, R.E., Ehrt, S., Schnappinger, D., Sassetti, C.M., and Ioerger, T.R. (2019). Statistical analysis of variability in TnSeq data across conditions using Zero-Inflated Negative Binomial Regression. BMC Bioinformatics, 20(1):603. pubmed

DeJesus, M.A., Nambi, S., Smith, C.M., Baker, R.E., Sassetti, C.M., and Ioerger, T.R. (2017). Statistical Analysis of Genetic Interactions in TnSeq Data. Nucleic Acids Research, 45(11):e93. pubmed

DeJesus, M.A. and Ioerger, T.R. (2016). Normalization of transposon-mutant library sequencing datasets to improve identification of conditionally essential genes. Journal of Bioinformatics and Computational Biology, 14(3):1642004. pubmed

DeJesus, M.A., Ambadipudi, C., Baker, R., Sassetti, C., and Ioerger, T.R. (2015). TRANSIT - a Software Tool for Himar1 TnSeq Analysis. PLOS Computational Biology, 11(10):e1004401. pubmed

DeJesus, M.A. and Ioerger, T.R. (2015). Reducing type I errors in Tn-Seq experiments by correcting the skew in read count distributions. 7th International Conference on Bioinformatics and Computational Biology (BICoB 2015). PDF.

DeJesus, M.A. and Ioerger, T.R. (2014). Capturing uncertainty by modeling local transposon insertion frequencies improves discrimination of essential genes. IEEE Transactions on Computational Biology and Bioinformatics, 12(1):92-102. pubmed

DeJesus, M.A. and Ioerger, T.R. (2013). A Hidden Markov Model for identifying essential and growth-defect regions in bacterial genomes from transposon insertion sequencing data. BMC Bioinformatics, 14:303. pubmed

DeJesus, M.A. and Ioerger, T.R. (2013). Improving discrimination of essential genes by modeling local insertion frequencies in transposon mutagenesis data. ACM Conference on Bioinformatics, Computational Biology, and Biomedical Informatics (ACM-BCB), Washington, DC, Sept 22-25, 2013. pdf

DeJesus, M.A., Zhang, Y.J., Sassettti, C.M., Rubin, E.J., Sacchettini, J.C., and Ioerger, T.R. (2013). Bayesian analysis of gene essentiality based on sequencing of transposon insertion libraries. Bioinformatics, 29(6):695-703. pubmed

Biology papers from our group using TnSeq and Transit:

Zhang, L., Hendrickson, R.C., Meikle, V., Lefkowitz, E.J., Ioerger, T.R., and Niederweis, M. (2020). Comprehensive analysis of iron utilization by Mycobacterium tuberculosis. PLoS Pathogens, accepted.

Dragset, M., Ioerger, T.R., Loevenich, M., Haug, M., Sivakumar, N., Marstad, A., Cardona, P., Klinkenberg, G., Rubin, E.J., Steigedal, M., and Flo, T. (2019). Global assessment of Mycobacterium avium subspecies hominissuis genetic requirement for growth and virulence. mSystems, 4(6):e00402-19.

Dragset, M.S., Ioerger, T.R., Zhang, Y.J., Zekarias, Maerk, M., Ginbot, Z., Sacchettini, J.C., Flo, T.H., Rubin, E.J., Steigedal, M. (2019). Genome-wide phenotypic profiling identifies and categorizes genes required for mycobacterial low iron fitness. Scientific Reports, 9(1):11394. pubmed

Rego, H., Baranowski, C., Welch, M., Sham, L.-T., Eskandarian, H., Lim, H., Kieser, K., Wagner, J., McKinney, J., Fantner, G., Ioerger, T.R., Walker, S., Berhardt, T., and Rubin, E.J. (2018). Maturing Mycobacterium smegmatis peptidoglycan requires non-canonical crosslinks to maintain shape. eLife, e37516. pubmed

Carey, A.F., Rock, J.M., Krieger, I.V., Chase, M.R., Fernandez-Suarez, M., Gagneux, S., Sacchettini, J.C., Ioerger, T.R, and Fortune, S.M. (2018). TnSeq of Mycobacterium tuberculosis clinical isolates reveals strain-specific antibiotic liabilities. PLOS Pathogens, 14(3):e1006939. pubmed

Xu, W., DeJesus, M.A., Rucker, N., Engelhart, C., Wright, M.G., Healy, C., Lin, K., Wang, R., Park, S.W., Ioerger, T.R., Schnappinger, D., and Ehrt, S. (2017). Chemical genomic interaction profiling reveals determinants of antibiotic susceptibility in Mycobacterium tuberculosis. Antimicrobial Agents and Chemotherapy, 61(12):e01334-17. pubmed

DeJesus, M.A., Gerrick, E.R., Xu, W., Park, S.W., Long, J.E., Boutte, C.C., Rubin, E.J., Schnappinger, D., Ehrt, S., Fortune, S.M., Sassetti, C.M., and Ioerger, T.R. (2017). Comprehensive essentiality analysis of the Mycobacterium tuberculosis genome via saturating transposon mutagenesis. mBio, 8(1):e02133-16. pubmed

Korte, J., Alber, M., Trujullo, C.M., Syson, K. Koliwer-Brandl, H., Deenen, R., Köhrer, K., DeJesus, M.A., Hartman, T., Jacobs, W.R. Jr., Bornemann, S., Ioerger, T.R., Ehrt, S., Kalscheuer, R. (2016). Trehalose-6-phosphate-mediated toxicity determines essentiality of OtsB2 in Mycobacterium tuberculosis in vitro and in mice. PLOS Pathogens, 12(12):e1006043. pubmed

Kieser, K.J., Baranowski, C., Chao, M.C., Long, J.E., Sassetti, C.M., Waldor, M.K., Sacchettini, J.C., Ioerger, T.R, and Rubin, E.J. (2015). Peptidoglycan synthesis in Mycobacterium tuberculosis is organized into networks with varying drug susceptibility. PNAS, 112(42):13087-92. pubmed

Zhang, Y.J., Reddy, M.C., Ioerger, T.R., Rothchild, A.C., Dartois, V., Schuster, B.M., Trauner, A., Wallis, D.E., Galaviz, S., Huttenhower, C., Saccettini, J.C., Behar, S.M., and Rubin, E.J. (2013). Tryptophan biosynthesis protects mycobacteria from CD4 T cell-mediated killing. Cell, 155(6):1296-308. pubmed

Zhang, Y.J., Ioerger, T.R., Huggenhower, C., Chen, X., Mohaideen, N., Long, J., Sassetti, C.M., Sacchettini, J.C. and Rubin, E.J. (2012). Global assessment of genomic regions required for growth in Mycobacterium tuberculosis. PLoS Pathogens, 8(9):e1002946. pubmed

Griffin, J.E., Gawronski, J.D., DeJesus, M.A., Ioerger, T.R., Akerley, B.J., Sassetti, C.M. (2011). High-resolution phenotypic profiling defines genes essential for mycobacterial survival and cholesterol catabolism. PLoS Pathogens, 7(9):e1002251. pubmed

Long, J.E., DeJesus, M., Ward, D., Baker, R.E., Ioerger, T.R. and Sassetti, C.M. (2015). Identifying essential genes in Mycobacterium tuberculosis by global phenotypic profiling. in: Methods in Molecular Biology: Gene Essentiality, (Long Jason Lu, ed.), vol. 1279.


Email questions to Tom Ioerger (ioerger@cs.tamu.edu).

© Copyright 2015 - . Michael A. DeJesus and Thomas R. Ioerger.