AGCoL TCW Installation UA
BIO5
TCW Home | Download | Docs | Tour
Contents:

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 17.0.10, so should work on any subsequent Java release.

Required:

Software Version Source Additional info
MySQLTested with v8 www.mysql.com MariaDB also works.
Java 17.0.10 or later OpenJDK Java
Oracle Java
Get the Java JRE or JDK

 

TCW v4.0.5 (July 2025): Test all TCW programs using the demo files, plus downloaded a UniProt database and GO with runAS and verified it worked. RunDE was tested with edgeR and goSeq.

MachineMySQLJavaCore (CPU)MemoryPurchased
  1. MacOS M4 (aarch64)1 MySQL v8.0.42 24 from Oracle M4 12-Core 48Gb2025
  2. MacOS x86_64 MySQL v8.0.33,
MariaDB 11.0.2
17, 20, 24 from
Adoptium and Oracle
3.2 GHz 6-Core 64Gb2018
  3. Linode2 (Ubuntu 22.04.2 LTS) MySQL 8.0.3317Nanode  1Gb2023
1MacOS M4: Cap3, OrthoMCL and Muscle are not supplied for this machine.
             The user can supply Cap3 in the Ext/macM4/cap3 directory if they want assembly to work.

2Linux/Linode: rJava did not install successfully, so the runDE could not be tested.

TCW v4.0.4 (July 2022): Used to create multiple large TCW comparative projects with expression levels.

MachineMySQLJavaCore (CPU)MemoryPurchased
Linux x86.64 (Centos 7) MariaDB v10.4.12 v1.8 3.2 Ghz AMD 24-Core 128Gb 2011

See Summary for timings.

Installation

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:
   Executables:
       execLoadLib     execAssm        execAnno
       runAS           runDE           runSingleTCW    runMultiTCW
       viewSingleTCW   viewSingleTCW
   Directories:
       java/jars     Ext/mac    Ext/linux     doc
       R-scripts     scripts    projects
   Text files:
       HOSTS.cfg     README     LICENSE
	
Step 2: MySQL must be installed and running with read AND write access. To verify, type:
   mysql -u <username> -p
The program should prompt you for the password, and then display the "mysql>" prompt. Type "exit" to return to the shell command line.

Note:

  • 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.

   DB_host=localhost
   DB_user=
   DB_password=
	
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.

   ./diamond
   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:
   >install.packages("rJava")
Step 2. Edit the runDE script, uncomment the correct path or change to the correct path:
   #JPATH=/usr/lib64/R/library/rJava/jri
   #JPATH=Ext/linux/jri
   #echo Using Linux path

   #JPATH=Ext/mac/jri
   #JPATH=/Library/Frameworks/R.framework/Resources/library/rJava/jri
   #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))
   >install.packages("BiocManager")
   >BiocManager::install("edgeR")
   >BiocManager::install("goseq")
   >BiocManager::install("DESeq2")
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 blast.ncbi.nlm.nih.gov/ 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.11.149 github.com/bbuchfink/diamond 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 www.rforge.net/JRI runDE: Provides the Java interface to R. Discussed above.
CAP32007 seq.cs.iastate.edu/cap3.html runSingleTCW: Optional assembly.
Supplied packages for multiTCW
OrthoMCL12.0.3 orthomcl.org One of four available methods for clustering
  MCL10-201 micans.org/mcl Used by OrthoMCL
MAFFTv7.407 mafft.cbrc.jp/alignment/software/ Computing multiple alignment of clusters for scoring and viewing
MUSCLE3.8.31 www.drive5.com/muscle Computing multiple alignment of clusters for scoring and viewing
MstatX11-Nov-18 github.com/gcollet/MstatX Scoring multiple alignment of clusters
KaKs_Calculator v.1.2 bigd.big.ac.cn/tools/
kaks/download
KaKs analysis in runMultiTCW.
1 OrthoMCL:
  • OrthoMCL is still available from TCW, but takes some effort on the user to install DBI:MySQL. There could be additional new dependency problems. I could not install DBI:MySQL on MacOS 10.15, and did not try it on anything else for a long time.

  • 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.

  • It did not work with MariaDB v10.4.12. It was fixed by editing the orthoLoadBlast script to set the MySQL local_infile from within the script. Also, orthoBlastParser was edited to accept ".fa" suffixes

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 and OrthoMCL because files 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
Email Comments To: tcw@agcol.arizona.edu