BIRCH/Release To Do list

From Bioinformatics.Org Wiki

Jump to: navigation, search

Mystica Arrow set (with deep) 1.png [return to BIRCH Project]


Future Releases

Installation and Updating


Desktop setup

switch from newuser to

Make a symbolic link from newuser to The main issue is getting to find its dependencies, especially createluancher and vncsetup.

local files

no longer supported, comparable to NewLocalFiles.list

Dependencies for 3rd party programs

First, we need to begin a list of programs that have special dependencies:

program dependency
Weblogo numpy
Weblogo ghostscript (for formats other than eps)

It's probably a good idea to put this into birchdb, once the necessary fields for the table become stable.

Next, we need a way to detect each dependency during an install or update, and to somehow inform the user of the dependency.

Ideally, there would be a way to install the dependency during install or update, if the user is the BIRCH administrator. However, that would be a lot of work, and may not be stable. There could also be version dependencies, such as needing Python 3, or Java 8 or greater.


MATE Tutorial

Mate is such a great environment, we should create a MATE tutorial for setting up your desktop.


There should be a common Python directory for installed Python packages. We already have $BIRCH/python and should add $BIRCH/local/python. Added $BIRCH/local-generic/python.


Is there a way, on a script by script basis, to force use of Python3? That way, as we progress, we can focus on developing for Python3, and do 2to3 conversions that are not backward compatible with Python2.

However, since apparently we can't yet count on Python3 being available, maybe he do have to depend on Pytho2 with __future__. Can we at least count on __future__ being available? Or does that still require Python3?

Comptability issues

BIRCH Python compatibility



Python2&3 compliant:

Not yet compliant:


Python2&3 compliant:

3rd Party Python3 compatiblilty


The pip command installs Python packages from repositiores. By default, they are installed system-wide, but we want to install them in $BIRCH/python. For example, to install the package gffutils, we type

pip install --install-option="--prefix=$birch/python" gffutils

All packages installed in this manner will be in $BIRCH/python/lib/python2.7/site-packages.

We would have to add the PYTHONPATH environment variable to profile.source, cshrc.source etc.


Platform-dependent Python
In some Python packages (eg. cutadapt), platform-specific libraries (eg. C, C++) are part of the package, usually as .o files. These can be buried several directories down in the package, but they are there.

For such cases, we install in platform-specific python directories:


pip install --install-option="--prefix=$birch/lib-linux-x86_64/python"


pip install --install-option="--prefix=$birch/lib-osx-x86_64/python"

Setting PYTHONPATH then becomes



Delete old libraries, especially those associated with GDE. The best way is to rename a library using the .old extension. The libraries to try are:

Testing: The main programs of concern are acedb and treetool.



GetInfo - Colourmask: new colours don't display

Bugzilla #1201


The Update action is contained in the SequenceWindow. My guess is that we need to pass the SequenceTextArea to the SequenceWindow so that it can call the repaint function for SequenceTextArea. It is worthy of note that there are numerous calls to repaint in SequenceTextArea that specify the area to repaint. This may be for efficiency during actions like select and scroll, and may not be necessary here.

system command appears to have no effect

Bugzilla #1204


Convert menus to PCD

  1. Need to come up with an automated way to convert menus in BIRCH/local

get rid of wrappers for text editors

The BioLegato scripts call, which in turn calls either for nedit or for gedit.

Output to console

We need to decide on a standard way to run programs so that we see the progress as the program runs. Currently this is done using the command stored in $GDE_TERM, but that is not necessarily platform independent. Some possibilities include:

Table Canvas


birchadmin is a birch system administration tool.


As well, there is a GUI front end called [ RazorSQL] which may be all that we need to manage birchdb.

Quick and dirty patch/addon mechanism

We need a way to apply patches to an existing BIRCH install. This should be a very simple mechanism to start with, which will also teach us some things about exactly what it is that we want it to do. Initially, it should probably be nothing more than running a script that downloads a file and untars it, so that the files just go where they are supposed to go with permissions already set.

We need a mechanism to record in $BIRCH/local which addons are installed. This way, when a BIRCH update is installed, we can make sure to re-install any addons.

Definition of an add-on

An add-on includes:


An add-on can either be something new that is installed, or a patch that overwrites existing files, or even a script that runs and changes something. For example, a patch might be as simple as a script that changes important permissions, or changes the name of a file, or does a string substitution to correct an error.


get list of available addons/patches
user selects one or more
foreach addon selected
    cd $BIRCH
    download addon
    gunzip addon.tar.gz
    tar xvfp addon.tar
    cd xxxx.addon.d
    mv payload.tar $BIRCH
    cd $BIRCH
    tar xvfp payload.tar
    cd xxxxx.addon.d
    cat addon_spec.csv >> $BIRCH/local/admin/addons.csv


Convert FSAP and XYLEM to GNU Pascal?

GNU Pascal has a great deal features aside from the Jensen & Wirth standard, including support for most Borland features, and even abstract object types and methods. The main improvement would be that we could leave behind p2c. This should be done with great care and a lot of testing, because there could be surprises hiding in the implementation. See


Fasta3.6 has extensive improvements from 3.5, and we need to reflect that in our online documentation and in biolegato menus.

Command line options

There are many new output options, such as output to key/value pairs, that we should be able to take advantage of.


Each program can generate a man page eg. fasta36 -help. These should be saved as files and made available through the bioLegato Help button.

pairwise alignment programs - output to biolegato

Replace fastaout.csh with a script that will open the output of a pairwise alignment program in blnalign or blpalign.


In Python:

import multiprocessing
if BLASTDB not set
   prompt for directory (default $BIRCH/GenBank)
read list of database divisions currently installed
read list of database divisions to be installed
uninstall those not in the list from previous step
install all divisions in the install list

Could do this as:

    • shell script with BioLegato front end
    • Python script with BioLegato front end. This could be implemented by adapting The menu layout would look something like:
Nucleotide (nt) Installed Install O</d> Delete O</d>
Protein (nr) Installed Install O</d> Delete O</d>
RefSeq RNA (refseq_rna) Not installed Install O</d> Delete O</d>
    • Java application







The Pandas API seems ideally suited for a BioLegato front end. The data paradigm seems to be the data frame (df). Pandas does an operation on data in a data frame, and the output is another data frame. Sound familiar? See

Here's how to do this:

  1. Break out BioLegato as a standalone project, perhaps in a Git repo.
  2. Create a demo blpandas
  3. Advertise blpandas on the Pandas Stack Overflow forum. Solicit collaborators from the Pandas community.

Multiple Alignment



Calculates statistics for multiple sequence alignments. Output includes various scores for multiple alignment. This should be a good way for comparing the quality of alignments based on different methods or parameters.


Replace TCOFFEE!!!

On MacOSX, t_coffee is v8.14. It has not been possible so far to get later versions to run on albacore. It was possible to compile the generic version but that also generates errors. It is not certain whether this is a problem with albacore specificially, or MacOSX in general. I ONCE installed TCOFFEE in an account on OSX, and the binary didn't work. Nonetheless, I was unable to run any previous version of TCOFFEE. Even after removing all of the TCOFFEE environment variables from all .rc files, and from the .MacOSX directory, every time I tried to run a 8.14, it would create a new ~/tcoffee directory with the new version in it! This thing is like a virus. You just can't get rid of it. Somewhere in this account, there is a tcoffee script or settings lurking in a file.

Fortunately, the problem is limited to a single account.

There is now a Clustal Omega, which the authors claim is "The last alignment program you'll ever need". Maybe.

blnalign, blpalign

Multiple Alignment Tutorial

blnfetch, blpfetch




BioLegato for continuous data. This would be an implementation of bltable, targeted at data expressed in real numbers, such as phenotypic data. We would start out with the appropriate programs from Phylip:



It may be time to replace mrtrans with something better

Possible replacements:

Looks like the best option is to use tranalign from EMBOSS. On the downside, that will still require writing a wrapper to check sequence names and reorder the DNA into the same order as the protein sequences. As well, it will require setting up a skeleton install of EMBOSS. But that puts us in a position to add other EMBOSS programs as we see fit.

On that subject, it probably would not be worth the effort and space to do a complete install of EMBOSS. In most cases, there are better programs to do each job.

Basic Genomics Tools

It should be possible to identify a set of basic genomics tools that are used by common 3rd party packages.


Hisat, Bowtie2, Cufflinks, StringTie

Current state of Tuxedo tools (Hisat supersedes TopHat)

BIRCHv3.60 (Future Development Version)

BIRCHv3.50 (Current Development Version, UNSTABLE)

BIRCHv3.40 (Current Production Release, STABLE)








Personal tools
wiki navigation