LabKey – manage shared lists of reagents, oligos, strains

LabKey is a very friendly system for lab scale, or larger, sharing of common data. In our own hands, LabKey replaced a series of spreadsheets giving a much better way to edit and view things; mostly lists of reagents. The software can be obtained from:

Nelson EK, Piehler B, Eckels J, Rauch A, Bellew M, Hussey P, Ramsay S, Nathe C, Lum K, Krouse K, Stearns D, Connolly B, Skillman T, Igra M. LabKey Server: An open source platform for scientific data integration, analysis and collaboration. BMC Bioinformatics 2011 Mar 9; 12(1): 71.

LabKey works on on an Apache tomcat java server and it’s mostly Java on server side with some JavaScript enhanced pages on the user side. A working relational database server is also required. Not perfect but better than shared Excel files.

The installation we use is on a Windows machine with VirtualBox on which a Ubuntu 12.04 is installed. Installation was not painless but I followed the steps detailed in the python file: I had some problems with showing the Apache server to the outside world from within the virtual machine. A short description of how to install a Ubuntu machine on a Mac is here:

I just found a few notes on steps taken to configure a working LabKey on Linux (Ubuntu). These are useful especially if you are doing the install in a VirtualBox machine:

sudo apt-get install build-essential 
#installs compilers
>sudo usermod -G vboxsf -a yourusername 
#adds a user to the group -vboxsf to allow sharing of a folder
#install the server and database system (adjust numbers to actual versions)
>sudo apt-get install sendmail tomcat6 postgresql xvfb graphviz r-base
>cd /usr/local/
>sudo cp -R ~/Downloads/jre1.7.0_21 ./
>sudo ln -s /usr/local/jre1.7.0_21/ /usr/local/java
#configure the database user
>sudo -s -u postgres
>createuser -P
>sudo service tomcat6 stop
#help labkey user get access to the configuration in the tomcat server folder
>sudo chown -R tomcat6:tomcat6 labkey/
#make logs position a little bit easier to find.
>sudo ln -s /var/log/tomcat6/ /usr/share/tomcat6/logs

I’ve updated the LabKey server to the latest version (14.2, as of July 2014). While I thought it would be easy, I ended up by upgrading:
– Java (to 1.7 OpenJDK and Sun – I don’t really know which one is used – the system reports Oracle but the tomcat7 user has apparently a mind on its own),

– PostgreSQL (to 9.3 from 9.1 and kept the database safe using a script from postgres-contrib, pg_update, and indications from this blog post). The update failed if launched from the home directory. Worked if started from the /var directory because the script wants to write a log file and needs write permissions.
– Tomcat from 6 to 7 (relatively painless). Works very nicely as a service and can be stopped started at will with >sudo tomcat7 start (or stop or restart).
With the update, I changed also the way I remotely backup the data from the labkey database. Getting json files is good, but a pg_dump is much better. The only problem was that I did not know how to talk to the database – two configuration files needed to be changed to allow remote connection (postgresql.conf and pg_hba.config, as explained here.) In addition, another port forwarding needs to be added to the VirtualBox configuration.
The new LabKey version is improved compared to the older one. I feel more confident now about upgrading the thing.


ApE, a plasmid editor, installation on Linux (Debian)

UPDATE 2017-06: The easiest way to have a running ApE under Linux, which became critical for me after switching permanently to Linux at work, is to recover a Mac App bundle from the author’s web site:

After unzipping to a local folder, just launch the application (in my case):

wish /home/username/thefolder/ApeMac/

Tcl/Tk need to be installed to have the wish command available.

You can even alter the preferences of your file manager to open .ape files by using the same command followed by “%F” (on Ubuntu 17.04, MATE, Caja file manager).

UPDATE 2018-04: For portability among Linux installations, the `AppMain.tcl` can be packed with the `tclkit`, making it a single executable file (Starkit, for StandAlone Runtime). It takes about five minutes to follow the instructions from the tcl/tk wiki. It needs the sdx (Starkit Developer eXtension) application and a tclkit.

The first command creates a compressed folder containing the script and the associated tclkit resources. The second command unzips the folder, which allows the third command to create the runnable application file.

tclkit sdx.kit qwrap example.tcl
tclkit sdx.kit unwrap example.kit
tclkit sdx.kit wrap example -runtime tclkitcopy

OLDER CONTENT – safe to ignore follows:

ApE is the most useful DNA editor I know of. Although installation on Windows and Mac OS X is easy through pre-packaged binaries, Linux installation may be a little bit more complex. Don’t be discouraged – nice people, with the help from the ApE author himself, discovered all that is there to know about how to do it properly. Some useful information comes from the Ape wiki:

Information from about how to install Ape on Linux (you might get some error results from wget, standard browser pointing to the address should work better):

# download latest windows version/package
 # download & setup tclkit (
 >gunzip tclkit-linux-x86.gz 

 #make the binary executable:
 >chmod +x tclkit-linux-x86
 # download SDX (Starkit Developer eXtension)
 # unwrap & run ApE
 ./tclkit-linux-x86 sdx.kit unwrap ApE.exe
 ./tclkit-linux-x86 ApE.vfs/main.tcl

A recent version of the Tclkit can be recovered from:

Two i386 libraries were required for ApE  to work on a Debian install (wheezy, 7.7, 64 bit version):

>su - root
>apt-get install libxss1:i386
>apt-get install libxft2:i386

The old Ape version for Linux works with base Tcl/Tk, but lacks some of the nice features of the ApE 2 series.
Newer versions require some extensions from the tclkit.

Don’t forget to chmod +x the tclkit binary

Proof that it works:

ApE screen shot
ApE screen shot

🙂    🙂


EDIT: The 2.0.7 version is in fact available and works directly with wish. Once unzipped, just ‘cd’ to the ‘ApE Linux’ directory and from there > wish AppMain.tcl  . This even works under Mac OS X Mavericks with Tcl/Tk 8.5.9!

Inkscape and system fonts on MacOS X

For the last year, one of the biggest trouble with using Inkscape on MacOS X was that some of the system fonts were not available in the drawings, especially Helvetica. I’m just pasting information found on the InkscapeForum with the solution:

Re: Font trouble in 0.48 on Mac

by Ufdah » Sat Oct 13, 2012 11:13 am

I registered on the forum just so that I could answer your question because I was having the same issue and I know how frustrating it is…
Right click on the and “Show Package Contents”
From there go to: ‘’
Using (or another nice text editor), open ‘fonts.conf’ and edit:
Remove the comments so that it looks like this:
This allows Inkscape to use all the installed system fonts in the FontBook app…
I would add that it is a good idea to keep a copy of the fonts.conf file, just in case.