Skip to content

Commit 257abf9

Browse files
committed
v4.0.5 update
Speedup for MariaDB.
1 parent f1adbe6 commit 257abf9

File tree

26 files changed

+413
-272
lines changed

26 files changed

+413
-272
lines changed

Ext/README

Lines changed: 20 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,7 @@ All external software used by TCW have open source licenses.
44
Contents of the TCW_4.tar.gz /Ext directory:
55
The /linux directory are either downloaded as a linux executable or compiled on a linux x86_63.
66
The /mac directory are either downloaded as a MacOS executable or compiled on a version 10.15 (Catalina).
7-
The /mac0 directory contain executables that run on a MacOS 10.9 (Maverick); if you need to use these, see Trouble.html#ext.
8-
The /macM4 directory contains executables for Mac M4 ((aarch64))
9-
10-
jri/
11-
Used by runDE for differential expression to provide the interface to R.
12-
This may be an older version than your R installation (it is v3.0), in which case it will need to be replaced.
13-
https://cran.r-project.org/bin/macosx/
14-
15-
CAP3/
16-
Used for runSingleTCW assembler.
17-
VersionDate: 12/21/07
18-
Also provided: cap3.linux.i686_xeon64 "an old version (2009) of 64-bit Linux system with an Intel processor".
19-
http://seq.cs.iastate.edu/cap3.html
7+
The /macM4 directory is for MacOS M4 (aarch64); it is missing CAP3, OrthoMCL, Muscle, which are no longer necessary.
208

219
diamond/
2210
Used by both singleTCW and multiTCW.
@@ -28,15 +16,11 @@ Used by both singleTCW and multiTCW.
2816
ncbi-blast-2.10.0+
2917
https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/
3018

31-
OrthoMCL/
32-
Used by runMultiTCW to create clusters.
33-
mcl-14-137
34-
http://www.micans.org/mcl/src/mcl-latest.tar.gz
35-
orthomclSoftware-v2.0.9
36-
https://orthomcl.org/common/downloads/software/v2.0/
37-
Note: this requires the Perl-MySQL module. The following changes were made:
38-
-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.
39-
-Also, orthoBlastParser was edited to accept ".fa" suffixes
19+
CAP3/
20+
Used for runSingleTCW assembler.
21+
VersionDate: 12/21/07
22+
Also provided: cap3.linux.i686_xeon64 "an old version (2009) of 64-bit Linux system with an Intel processor".
23+
http://seq.cs.iastate.edu/cap3.html
4024

4125
mafft/
4226
Used by multiTCW to align clusters.
@@ -58,3 +42,17 @@ KaKs_Calcutor 1.2
5842
Used by runMultiTCW to score KaKs
5943
https://bigd.big.ac.cn/tools/kaks/download
6044

45+
------------------------------
46+
The following is in /linux and /mac, but disabled. Change to the /OrthoMCL directory and
47+
read README.TCW to enable it.
48+
49+
OrthoMCL/
50+
Used by runMultiTCW to create clusters.
51+
mcl-14-137
52+
http://www.micans.org/mcl/src/mcl-latest.tar.gz
53+
orthomclSoftware-v2.0.9
54+
https://orthomcl.org/common/downloads/software/v2.0/
55+
Note: this requires the Perl-MySQL module. The following changes were made:
56+
-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.
57+
-Also, orthoBlastParser was edited to accept ".fa" suffixes
58+

docs/Install.html

Lines changed: 23 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ <h2>Software Requirements</h2>
117117
</table>
118118
<sup>1</sup><small>MacOS M4: Cap3, OrthoMCL and Muscle are not supplied for this machine.
119119
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
120-
The user can supply Cap3 in the <tt>Ext/macM4/cap3</tt> directory if they want assembly to work.</small>
120+
The user can supply cap3 in the <tt>Ext/macM4/CAP3</tt> directory if they want assembly to work.</small>
121121
<br><sup>2</sup><small>Linux/Linode: <tt>rJava</tt> did not install successfully,
122122
so the <ttp>runDE</ttp> could not be tested.</small>
123123

@@ -179,14 +179,15 @@ <h2>Installation</h2>
179179
Add your database username and password to the two lines <tt>DB_user</tt> and <tt>DB_password</tt>
180180

181181
<p><u><i><b>Step 4:</b></i></u> Test external programs
182-
Check that the external programs have executable permissions. On linux, check <tt>Ext/linux</tt>; on MacOS, check <tt>Ext/mac</tt>.
182+
Check that the external programs have executable permissions.
183+
On linux, check <tt>Ext/linux</tt>; on MacOS x86_64, check <tt>Ext/mac</tt>; on MacOS M4 (aarch64), check <tt>Ext/macM4</tt>.
183184
You may want to run the compiled programs at the command line to see if they execute, e.g.
184185
<pre>
185186
./diamond
186187
Error: Syntax: diamond COMMAND [OPTIONS]. To print help message: diamond help
187188
</pre>
188189

189-
The diamond error indicates it ran. If are running on MacOS 10.15,
190+
The diamond error indicates it ran. If are running on MacOS,
190191
see <a href="./Mac-OSX.html#ext" class="ext" target="_blank">MacOS - External</a>.
191192
<p>Please read the section below on "Supplied external software.
192193

@@ -207,40 +208,31 @@ <h2>Optional software</h2>
207208
<td>Used for the TCW <ttp>runDE</ttp> to compute differential expression (DE).
208209
</td>
209210
</tr>
210-
211-
<tr><td >Perl and DBD::mysql</td>
212-
<td><a href="https://metacpan.org/pod/DBD::mysql::INSTALL" class="ext" target="_blank">Meta::cpan</a></td>
213-
<td>Necessary to run <ttp>orthoMCL</ttp> within <ttp>runMultiTCW</ttp>. Perl is typically on all Linux and MacOS
214-
machines, but the DBD::mysql (Perl-MySQL interface) is not.
215-
</tr>
216-
217211
</table>
218212
<a id="R"></a>
219-
<h4>RJava for DE</h4>
220-
<u>Step 1.</u> TCW runs R using the RJava (jri) package, which is provided in the <tt>/Ext</tt> directory. However, the <tt>/Ext/.../jri</tt> does not
221-
work on all machines.
222-
If the supplied jri package does not work when running <ttp>runDE</ttp>, start R and type:
213+
<h4>RJava for DE (differential expression)</h4>
214+
215+
<u>Step 1.</u> Start R and type:
223216
<pre>
224217
>install.packages("rJava")
218+
>system.file("jri", package="rJava")
225219
</pre>
226-
<u>Step 2.</u> Edit the <tt>runDE</tt> script, uncomment the correct path or change to the correct path:
220+
The 2nd command states where the jri package is. Enter it for the JPATH in the next step.
221+
222+
<p><u>Step 2.</u> Edit the <tt>runDE</tt> script, uncomment the correct path or <i>change to the correct path</i>:
227223
<pre>
228-
#JPATH=/usr/lib64/R/library/rJava/jri
229-
#JPATH=Ext/linux/jri
230-
#echo Using Linux path
224+
#JPATH=/usr/lib64/R/library/rJava/jri # e.g. linux
231225

232-
#JPATH=Ext/mac/jri
233-
#JPATH=/Library/Frameworks/R.framework/Resources/library/rJava/jri
234-
#echo Using MAC-OS path
226+
#JPATH=/Library/Frameworks/R.framework/Resources/library/rJava/jri # e.g. Mac
235227
</pre>
236-
If using your installed rJava, confirm the path is correct.
237228

238-
<p><u>Step 3.</u> You must set the R_HOME environment variable (confirm the path on your machine):
229+
<p><u>Step 3.</u> You must set the R_HOME environment variable, e.g.
239230
<pre>
240-
setenv R_HOME /usr/lib64/R # for Linux using tcsh
241-
setenv R_HOME /Library/Frameworks/R.framework/Resources # for MacOS using tcsh
231+
export R_HOME=/usr/lib64/R # for Linux using bash or zsh
232+
233+
export R_HOME=/Library/Frameworks/R.framework/Resources # for MacOS using bash or zsh
242234
</pre>
243-
The above commands use <tt>tcsh</tt>, adjust if your using a different Unix shell.
235+
244236
<h4>R packages for DE</h4>
245237
In order to use <ttp>edgeR</ttp>, <ttp>DEseq2</ttp> and <ttp>GOseq</ttp>, start R and type:
246238
<pre>
@@ -281,30 +273,13 @@ <h2>Suppled external software</h2>
281273
<br><ttp>viewMultiTCW</ttp>: Comparing a sequence against AA sequences.
282274
</td></tr>
283275
<tr><td colspan=4><i>Supplied packages for singleTCW</i></td>
284-
<tr>
285-
<td>rJava</td><td>0.9-4</td>
286-
<td><a href="http://www.rforge.net/JRI/" class="ext" target="_blank">www.rforge.net/JRI</a></td>
287-
<td><ttp>runDE</ttp>: Provides the Java interface to R. Discussed above.</td>
288-
</tr>
289276
<tr><td><ttp>CAP3</ttp></td><td>2007 </td>
290277
<td><a href="http://seq.cs.iastate.edu/cap3.html" class="ext" target="_blank">
291278
seq.cs.iastate.edu/cap3.html</a></td>
292279
<td><ttp>runSingleTCW</ttp>: Optional assembly. </td>
293280
</tr>
294281

295282
<tr><td colspan=4><i>Supplied packages for multiTCW</i></td>
296-
<tr>
297-
<td><ttp>OrthoMCL</ttp><sup>1</sup></td><td>2.0.3</td>
298-
<td><a href="http://orthomcl.org" class="ext" target="_blank">
299-
orthomcl.org</a></td>
300-
<td>One of four available methods for clustering</td>
301-
</tr>
302-
<tr>
303-
<td>&nbsp;&nbsp;<ttp>MCL</ttp></td><td>10-201</td>
304-
<td><a href="http://micans.org/mcl/" class="ext" target="_blank">
305-
micans.org/mcl</a></td>
306-
<td>Used by <ttp>OrthoMCL</ttp></td>
307-
</tr>
308283
<tr>
309284
<td><ttp>MAFFT</ttp></td><td>v7.407</td>
310285
<td><a href="https://mafft.cbrc.jp/alignment/software/" class="ext" target="_blank">
@@ -323,27 +298,18 @@ <h2>Suppled external software</h2>
323298
github.com/gcollet/MstatX</a></td>
324299
<td>Scoring multiple alignment of clusters</td>
325300
</tr>
326-
327301
<tr><td><ttp>KaKs_Calculator</ttp></td>
328302
<td>v.1.2
329303
<td><a href="http://bigd.big.ac.cn/tools/kaks/download" class="ext" target="_blank">
330304
bigd.big.ac.cn/tools/<br>kaks/download</a></td>
331305
<td>KaKs analysis in <ttp>runMultiTCW</ttp>.</td>
332306
</tr>
333307
</table>
334-
<sup>1</sup> <ttp>OrthoMCL</ttp>:
335-
<ul>
336-
<li><ttp>OrthoMCL</ttp> is still available from <ttp>TCW</ttp>, but takes some effort on the user to install DBI:MySQL.
337-
There could be additional new dependency problems. I could not install DBI:MySQL on MacOS 10.15, and did not try
338-
it on anything else for a long time.
339-
<p>
340-
<li>If <ttp>OrthoMCL</ttp> does not work on your machine and
341-
you want an alternative to the TCW supplied clustering algorithms, you may download and run a ortholog computing program
342-
and then import the clusters using the <ttp>runMultiTCW</ttp> "User Supplied" option.
343-
<p>
344-
<li>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.
345-
Also, orthoBlastParser was edited to accept ".fa" suffixes
346-
</ul>
308+
<p><ttp>OrthoMCL</ttp> is also supplied for <ttp>runMultiTCW</ttp>, but disabled. The <tt>/Ext/mac</tt> and <tt>/Ext/linux</tt> directories
309+
have the code with a README.TCW on how to make them work within TCW.
310+
311+
<p>By default, <tt>/Ext/macM4</tt> does not have <ttp>CAP3</ttp> or <ttp>Muscle</ttp>.
312+
These programs will not be available from the interface unless the user provides them.
347313

348314
<p><font color=red>MacOS Verify</font> Catalina and later versions require verification of external software. See
349315
(see <a href="Mac-OSX.html#ext" class="ext" target="_blank">Running Ext/mac external programs</a>).

docs/Mac-OSX.html

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ <h4>
114114
R and R-Java interface
115115
</h4>
116116
<ol>
117-
<li>Download from <a href="//cran.r-project.org/bin/macosx>cran.r-project.org/bin/macosx"></a> the
117+
<li>Download from <a href="http://cran.r-project.org">cran R</a> the
118118
file R-4.0.0.pkg. Click to install.
119119
<p>
120120
<li>Type 'R' at the terminal prompt, then the following:
@@ -161,7 +161,7 @@ <h4>
161161
<h3>
162162
Running /Ext/mac external programs
163163
</h3>
164-
<font color=red>MacOS 10.15 has made it difficult to run programs downloaded from the web unless its been
164+
<font color=red>Since the release of MacOS 10.15, it is difficult to run programs downloaded from the web unless its been
165165
authenticated by Apple.</font> Running external programs from TCW,
166166
you will either get popup that states "xxx cannot be opened because developer cannot be verified", or
167167
the program will just fail. Do the following:
@@ -185,7 +185,7 @@ <h3>
185185
dvtditr
186186
f2cl
187187
</pre>
188-
There is a way to allow any downloaded program to execute by using:
188+
Supposedly, there is a way to allow any downloaded program to execute by using:
189189
<pre>
190190
sudo spctl --master-disable
191191
</pre>

docs/Release.html

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,20 @@
5959
<!---- START BODY -->
6060
You must have Java v17.0.11 or later, starting with TCW v4.0.5.
6161

62-
6362
<a id=v405></a>
64-
<h4>v4.0.5 24-July-2025</h4>
65-
The released code was compiled with Java 17.0.10.
63+
<h4>v4.0.5 27-July-2025</h4>
64+
27-July-2025 release:
65+
<ul>
66+
<li>Building some of the GO tables on MariaDB was very slow; this has been fixed.
67+
<li>mTCW Summary: The exact number of annotations and GOs has been added.
68+
<li>Removed the <tt>/Ext/../jri</tt> directories as that is too out-of-date.
69+
The user should update the <ttp>runDE</ttp> script with the correct jri path.
70+
<li>Disable <ttp>OrthoMCL</ttp>. The <tt>/Ext/mac</tt> and <tt>/Ext/linux</tt> directories still have the code with a README on
71+
how to make them work within TCW.
72+
<li>CAP3, OrthoMCL, or Muscle will not be available from the interface unless it is available from <tt>/Ext</tt>.
73+
</ul>
74+
75+
24-July-2025 release: The released code was compiled with Java 17.0.10.
6676
<ul>
6777
<li>Updated the MySQL connection library.
6878
<li>Updated the code to work with Java 24 and MySQL.

docs/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
TCW uses Java, mySQL, optionally R, and various <a href="./External.html">External</a> packages.
6161
It has been tested on Linux and Mac.
6262
<ul>
63-
<li>Last release: TCW v4.0.5 (24-July-25). See <a href="./Release.html">Release Notes</a>.
63+
<li>Last release: TCW v4.0.5 (27-July-25). See <a href="./Release.html">Release Notes</a>.
6464
Published in <a href="https://doi.org/10.1101/733311" class="ext" target="_blank">BioRxiv</a> (02-May-2022).
6565

6666

docs/mtcw/UserGuide.html

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,8 @@ <h2>Contents</h2>
9797
<li><a href="#bbh">BBH</a>
9898
<li><a href="#close">Closure</a>
9999
<li><a href="#ht">BestHit</a>
100-
<li><a href="#omcl">OrthoMCL</a>
101100
<li><a href="#selfclust">User-defined clusters</a>
101+
<li><a href="#omcl">OrthoMCL</a> (disabled)
102102
</ul>
103103
<li><a href="#best">Majority hit per cluster</a>
104104
</ul>
@@ -158,7 +158,7 @@ <h2>Overview </h2>
158158
<li>Compare the AA sequences using <ttp>diamond</ttp> or <ttp>blast</ttp>,
159159
and the NT sequences with <ttp>blastn</ttp>.
160160
<li>Compute one or more sets of clusters using the following methods:
161-
BBH (bi-directional best hit), Closure, Best hit, orthoMCL<sup>1</sup>,
161+
BBH (bi-directional best hit), Closure, Best hit,
162162
and/or user-supplied clusters.
163163
<li>For a NT-mTCW database created from only NT-sTCW databases,
164164
statistics such as Ka/Ks<sup>2</sup>, synonymous, etc are computed.
@@ -432,7 +432,7 @@ <h3>3. Cluster Sets</h3>
432432

433433
<h4>Methods</h4>
434434
Click <ttc>Add</ttc> in the <ttl>Cluster Sets</ttl> section to add a new clustering method; this brings up the
435-
Method panel. The drop-down beside <ttl>Method</ttl> shows BBH, Closure, BestHit, OrthoMCL, and User defined.
435+
Method panel. The drop-down beside <ttl>Method</ttl> shows BBH, Closure, BestHit, User defined and OrthoMCL (if enabled).
436436
You can add any number of cluster methods. You can add the same method multiple times with different parameters,
437437
where only the "Prefix" has to be different.
438438
All methods need a unique prefix, which is used to prefix the cluster names, e.g.
@@ -543,27 +543,6 @@ <h4>Best Hit</h4>
543543
The <a href="#best">representative hit</a> for the cluster may be different than the hit that
544544
created the clusters, as it includes more rules, such as the #GOs.
545545

546-
<a id=omcl></a>
547-
<table style="width: 100%"><tr><td style="text-align: left">
548-
<h4>OrthoMCL</h4>
549-
<td style="text-align: right"><a href="#top">Go to top</a></td></tr></table>
550-
551-
<table class="tx">
552-
<tr>
553-
<td class="top">
554-
<ttp>OrthoMCL</ttp> requires numerous steps to run, and uses a temporary MySQL database;
555-
TCW organizes all these details. DBD::mysql must be installed for the Perl-MySQL interface.
556-
<p><ttp>OrthoMCL</ttp> uses the hit file <tt>hitsAA.tab</tt>. It does not guarantee that
557-
all sequences in a cluster have a hit with each other.
558-
<p><ttp>OrthoMCL</ttp> occasionally fails -- every time this has happened to me, I rerun and it works.
559-
<p>Mac M4 (aarch64): <ttp>OrthoMCL</ttp> is not supplied for Mac M4; this option will not be available.
560-
561-
<td>
562-
<a href="img/methodOL.png"><img src="img/methodOL.png" alt="" style="border: 1px solid black; width: 350px"></a>
563-
</td>
564-
</tr>
565-
</table>
566-
567546
<a id=selfclust></a>
568547
<table style="width: 100%"><tr><td style="text-align: left">
569548
<h4>User-defined clusters</h4>
@@ -589,6 +568,27 @@ <h4>User-defined clusters</h4>
589568
</tr>
590569
</table>
591570

571+
<a id=omcl></a>
572+
<table style="width: 100%"><tr><td style="text-align: left">
573+
<h4>OrthoMCL</h4>
574+
<td style="text-align: right"><a href="#top">Go to top</a></td></tr></table>
575+
<ttp>OrthoMCL</ttp> has been disabled because it requires extra work to get it to run.
576+
However, it can be enabled. See <tt>/Ext/linux/OrthoMCL/README.TCW</tt> or
577+
<tt>/Ext/mac/OrthoMCL/README.TCW</tt>. It is not available in <tt>/Ext/macM4</tt>.
578+
<table class="tx">
579+
<tr>
580+
<td class="top">
581+
<p><ttp>OrthoMCL</ttp> requires numerous steps to run, and uses a temporary MySQL database;
582+
TCW organizes all these details. DBD::mysql must be installed for the Perl-MySQL interface.
583+
<p><ttp>OrthoMCL</ttp> uses the hit file <tt>hitsAA.tab</tt>. It does not guarantee that
584+
all sequences in a cluster have a hit with each other.
585+
<p><ttp>OrthoMCL</ttp> occasionally fails -- every time this has happened to me, I rerun and it works.
586+
<td>
587+
<a href="img/methodOL.png"><img src="img/methodOL.png" alt="" style="border: 1px solid black; width: 350px"></a>
588+
</td>
589+
</tr>
590+
</table>
591+
592592
<a id="best"></a>
593593
<table style="width: 100%"><tr><td style="text-align: left">
594594
<h4>Majority hit per cluster</h4>

0 commit comments

Comments
 (0)