BIRCHv3.86

From Bioinformatics.Org Wiki

Jump to: navigation, search

Mystica Arrow set (with deep) 1.png [return to Release To Do List]


Contents

BIRCH Launcher in OSX

The main purpose of this incremental release is to fix a problem with the BIRCH launcher in OSX.

In OSX, the desktop app to launch the BIRCH BioLegato application is in $BIRCH/admin/launchers/birch.app. Although BioLegato is a 64-bit Java application, the launcher is an old one generated when apps were 32-bit. Beginning with OSX Catalina, 32-bit apps will no longer run. This app has been regenerated using Platypus on a High Sierra Mac.

bldna

blreads

tests of Java applications

On Fedora 35, it was discovered that the latest versions of some Java applications didn't work. Therefore a successive regime of testing was done on many platforms until a way was found to get each program to run. In some cases, it was necessary to use a particular version of Java. In particular, the only cross-platform solution for Jalview was to use a Java 8 JRE distributed with Jalview. Even other Java 8 JREs didn't work in some environments.

Jalview - launches but endless call to download a zip file. DONE

Running jalview.bin.Jalview with memory setting -Xmx9469377536
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by jalview.bin.Jalview (file:/home/frist/BIRCH/java/jalview-all-2.11.1.5-j1.8/jalview-all-2.11.1.5-j1.8.jar)
WARNING: Please consider reporting this to the maintainers of jalview.bin.Jalview
WARNING: System::setSecurityManager will be removed in a future release
Java version: 17.0.2
...

Jalview 2.11.2.0 requires Java8 or Java11. Since Jalview is good at finding what it considers a compatible Java, nothing further is needed other than just installing Java8 or 11. The next release should support Java17.
MesquiteDONE
Wrote wrapper to check for Java 8 and run Mesquite if successful.missing components
Current version is 3.70 Aug. 2021. Authors state that it requires JDK8 and will not run with newer Java.

Cutadapt - This is a Python program that suffers from the dreaded version dependency. Rather than asking the end user to install this separately, Created a standalone binary using pyinstaller. Pyinstaller copies all of the dependencies imported by a Python package, generates C code for the Python (I kid you not!) and links it into a single standalone binary. The only dependency is the presence of glibc, so you have to do this on a system with the oldest glibc that you expect to have to support, and then it will work as a binary on later versions of glibc.

To get pyinstaller to work,

1. On your "old" machine, install your desired package using pip. 2. Run pyinstaller using the following script

#!/bin/bash
ENTRYFILE=/usr/local/bin/cutadapt
pyinstaller $ENTRYFILE --name cutadapt --onefile

3. The standalone binary is written to the dist directory as cutadapt.

Pyinstaller isn't perfect. I was able to get it to create a binary for Weblogo, but upon execution there was an error message saying something to the effect that there was no parent package for some of the imports. This never worked despite days or experimentation and consulting sources on the web.

Trinity - On Fedora35, "can't find threads.pm". Can we add this to the installed package?

fastqc - missing Perl module?
DONE

Can't locate FindBin.pm in @INC (you may need to install the FindBin module) (@INC contains: /usr/local/lib64/perl5/5.34 /usr/local/share/perl5/5.34 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at /home/frist/BIRCH/script/fastqc line 4.
BEGIN failed--compilation aborted at /home/frist/BIRCH/script/fastqc line 4.

Updating fastqc to v0.11.9 (current 0.11.5) did not fix the problem. Had to modify fastqc to remove use of FindBin module.
bandage - not found. Is this actually part of BIRCH, or is it just in the BIRCH menu?.
No longer supported. Delete from BIRCH.

mauve
DONE - requires Java8. Added code to Mauve script to get path to Java8 from JAVA8_CMD environment variable.
cytoscape DONE - starts with errors. Upgrade to latest version. Fix: Install JDK11. In cytoscape.sh, get JAVA_HOME from JAVA11_HOME set in local.profile.source.
ArrayNorm

java.lang.NoClassDefFoundError: org/w3c/dom/ls/DocumentLS
	at java.base/java.lang.ClassLoader.defineClass1(Native Method)

May be time to remove this. It has probably not been supported for years.
DELETED

TESTING

The strategy is to get things working first on CCL, and then test them on cutting edge Linux distributions in virtual machines. These are done first so that we break things as soon as possible and find out what surprises are in store in new Linux releases.

host system status
CCL - BIRCHDEV RHEL7 OK
brassica - Fedora35 VM fedora35 OK
brassica - Ubuntu22 VM Ubuntu 22.0.4 LTS OK
brassica MATE Ubuntu 18.0.4 LTS OK
peacock MacOSX OK
maui Ubuntu MATE 20.0.4 LTS OK
wotan Scientific Linux 7 OK
flamingo Ubuntu MATE 18.0.4 LTS OK
rm335 (Li's lab) Ubuntu MATE 20.04.2 LTS OK
triticum Ubuntu MATE 20.04.2 LTS OK
CCL - psgendb RHEL7
Personal tools
Namespaces
Variants
Actions
wiki navigation
Toolbox