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.
It has been tested on:
|Linux x86.64 (Centos 7) ||3.2 Ghz AMD 24-Core, 128Gb||2011||MariaDB v10.4.12||v1.8||Build and View
|Linux x86.64 (Centos 7) ||2.0 Ghz AMD 4-Core, 20Gb||2008||MariaDB v5.5.60||v1.7||View
|MacOS (Catalina 10.15.4)||3.2 GHz Intel 6-Core i7, 64Gb||2020||MySQL v8.0.17||v14.0||Build and View
|MacOS (Maverick 10.9.5) ||2.4 Ghz Intel 2-Core i5, 16Gb||2012||MySQL v5.6.21||v1.7||View
See Summary for timings.
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
java/jars Ext/mac Ext/linux doc
R-scripts scripts projects
HOSTS.cfg README LICENSE
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.
|Software ||Source ||Additional info|
||Used for the TCW runDE to compute differential expression (DE).
|Perl and DBD::mysql
||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.
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.
1OrthoMCL worked on Linux with MySQL, but is not working with MariaDB.
|Supplied packages for singleTCW and multiTCW
||runSingleTCW: Assembly and annotation.
viewSingleTCW: Comparing a sequence against others.
runMultiTCW: Comparing all sequences against themselves.
viewMultiTCW: Comparing a sequence against others.
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
||runDE: Provides the Java interface to R. Discussed above.
||runSingleTCW: Optional assembly.
|Supplied packages for multiTCW
||One of four available methods for clustering
||Used by OrthoMCL
||Computing multiple alignment of clusters for scoring and viewing
||Computing multiple alignment of clusters for scoring and viewing
||Scoring multiple alignment of clusters
|KaKs analysis in runMultiTCW.
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
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:
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
- 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
- Use the default ones in /Ext.
- 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.
blast_path = /Users/cari/Workspace/TCW_4/Ext/mac/blast
To verify what diamond and blast paths are being used, run
Go to top