The University of Arizona
TCW Installation
  AGCoL | TCW Home | Doc Index | singleTCW Guide | DE Guide | multiTCW Guide | Tour

Software Requirements

TCW is written in Java and was developed under Linux and Mac (see Mac Installation). A 64-bit multi-processor is needed to build the TCW database(s). TCW was compiled into a jar file using Java version 1.7 (Linux) or 1.8 (MacOS), so should work on any subsequent Java release.


Software Version Source Additional info
MySQL5.0 or later MariaDB also works.
Java 1.8 or later OpenJDK Java
Oracle Java
Get the Java JRE or JDK

It has been tested on:

Linux x86.64 (Centos 7) 3.2 Ghz AMD 24-Core, 128Gb2011MariaDB v10.4.12v1.8Build and View
Linux x86.64 (Centos 7) 2.0 Ghz AMD 4-Core, 20Gb2008MariaDB v5.5.60v1.7View
MacOS (Catalina 10.15.4)3.2 GHz Intel 6-Core i7, 64Gb2020MySQL v8.0.17v14.0Build and View
MacOS (Maverick 10.9.5) 2.4 Ghz Intel 2-Core i5, 16Gb2012MySQL v5.6.21v1.7View

See Summary for timings.


Go to top
Step 1: Decide where you want the main TCW directory to go, and untar the package in that location.
	tar -xvf TCW_4.tar.gz
The untar will create a TCW_4 directory, with the following content:
		 execLoadLib     execAssm        execAnno
		 runAS           runDE           runSingleTCW    runMultiTCW
		 viewSingleTCW   viewSingleTCW
		 java/jars     Ext/mac    Ext/linux     doc
		 R-scripts     scripts    projects 
	Text files:
Step 2: MySQL must be installed and running with read AND write access. To verify, type:
	mysql -h server -u username -p
where "server" and "username" are the values given by your system administrator. The program should prompt you for the password, and then display the "mysql>" prompt. Type "exit" to return to the shell command line.


  • The user must have sufficient privileges to create a new database.
  • If you will be using the optional assembly feature, Innodb table must be enabled.
  • Execute "./runSingletTCW -v", which will check some variable that can influence execution times.
    Also see Trouble MySQL.

Step 3: Open the HOSTS.cfg file in an editor.

Add your database username and password to the two lines DB_user and DB_password

Step 4: Test external programs Check that the external programs have executable permissions. On linux, check Ext/linux; on MacOS, check Ext/mac. You may want to run the compiled programs at the command line to see if they execute, e.g.

	Error: Syntax: diamond COMMAND [OPTIONS]. To print help message: diamond help
The diamond error indicates it ran. If are running on MacOS 10.15, see MacOS - External.

Please read the section below on "Supplied external software.

Step 5: Run runAS (see Annotation Setup) to obtain UniProt files and GO database. Other annotation databases can also be used, but TCW provides GO support with UniProt.

Optional software

Go to top
Software Source Additional info
RR Project Used for the TCW runDE to compute differential expression (DE).
Perl and DBD::mysql Meta::cpan Necessary to run orthoMCL within runMultiTCW. Perl is typically on all Linux and MacOS machines, but the DBD::mysql (Perl-MySQL interface) is not.

RJava for DE

Step 1. TCW runs R using the RJava (jri) package, which is provided in the /Ext directory. However, the /Ext/.../jri does not work on all machines. If the supplied jri package does not work when running runDE, start R and type:
Step 2. Edit the runDE script, uncomment the correct path or change to the correct path:
	#echo Using Linux path

	#echo Using MAC-OS path
If using your installed rJava, confirm the path is correct.

Step 3. You must set the R_HOME environment variable (confirm the path on your machine):

	setenv R_HOME /usr/lib64/R                              # for Linux using tcsh
	setenv R_HOME /Library/Frameworks/R.framework/Resources # for MacOS using tcsh
The above commands use tcsh, adjust if your using a different Unix shell.

R packages for DE

In order to use edgeR, DEseq2 and GOseq, start R and type:
	>if (!requireNamespace("biocManager", quietly=TRUE))
	>BiocManager::install(version = "3.11")
As R changes, there may be changes to the above: see Bioconductor for the latest instructions.

Suppled external software

Go to top
You do not need to do anything to use the supplied packages. They are in the release directories /Ext/linux and /Ext/mac; TCW determines which to use.
SoftwareVersionSourceUsed For
Supplied packages for singleTCW and multiTCW
BLAST2.10 runSingleTCW: Assembly and annotation.
viewSingleTCW: Comparing a sequence against others.
runMultiTCW: Comparing all sequences against themselves.
viewMultiTCW: Comparing a sequence against others.
DIAMOND v2.0.6.144
runSingleTCW: Annotation.
viewSingleTCW: Comparing a sequence against AA sequences.
runMultiTCW: Comparing all AA sequences against themselves.
viewMultiTCW: Comparing a sequence against AA sequences.
Supplied packages for singleTCW
rJava0.9-4 runDE: Provides the Java interface to R. Discussed above.
CAP32007 runSingleTCW: Optional assembly.
Supplied packages for multiTCW
OrthoMCL12.0.3 One of four available methods for clustering
MCL10-201 Used by OrthoMCL
MAFFTv7.407 Computing multiple alignment of clusters for scoring and viewing
MUSCLE23.8.31 Computing multiple alignment of clusters for scoring and viewing
MstatX11-Nov-18 Scoring multiple alignment of clusters
KaKs_Calculator2 v.1.2
KaKs analysis in runMultiTCW.
1OrthoMCL worked on Linux with MySQL, but is not working with MariaDB.
It works on MacOS 10.9, but has not been tested on MacOS 10.15 (problems with installing DBI:MySQL).
If OrthoMCL does not work on your machine and you want an alternative to the TCW supplied clustering algorithms, you may download and run a ortholog computing program and then import the clusters using the runMultiTCW "User Supplied" option.

2MUSCLE and KaKs_Calculator in the /Ext/mac directory work for MacOS 10.15, but not for MacOS 10.9. For 10.9, move the MUSCLE and KaKS_Calculator from /Ext/mac0 to /Ext/mac, as these work. If your using MacOS 10.10 to 10.14, try them from the command line to see what works.

MacOS Verify Catalina and later versions require verification of external software. See (see Running Ext/mac external programs).

The references for all TCW external software are provided in external references

Replacing external software

Go to top
If any of the supplied executables do not work, you will need to download the software and compile them on your own machine. You will need to replace the existing executables in the /Ext/linux or /Ext/mac directory.

The only external source code supplied is MstatX because a file had to be changed for it to work.

Blast and Diamond

There are three options for the search programs, where the following are ordered according to precedence:
  1. You can define where the executables are in the HOSTS.cfg file using the blast_path and diamond_path parameters, e.g.
    	blast_path = /Users/cari/Workspace/bin/blast
    	diamond_path = /Users/cari/Workspace/bin/diamond
  2. Use the default ones in /Ext.

  3. If you have Blast and/or Diamond in a bin that is accessed by your PATH environmental variable, and want to use them, just remove the existing directory from /Ext/linux or /Ext/mac.
If you are going to use the runSingleTCW assembler, you MUST specify the full path of where the Blast executables reside, even if your going to use the default executables, e.g
	blast_path = /Users/cari/Workspace/TCW_4/Ext/mac/blast
To verify what diamond and blast paths are being used, run
	./runSingleTCW -v

Go to top

Email Comments To: