Crimson

Crimson

Description

Crimson is a simulation component of CIPRES. It facilitates the extraction of sub-trees from very large phylogenetic trees.

Crimson is written in JAVA. It provides both a graphic user interface (GUI) and a command line interface (CLI). The GUI provides comprehensive ways to manage and query trees in the database. The CLI is based on the python scripting language and will accept most valid Python commands. It can also run in batch mode with python script. The output of query is in nexus format.

The application has been tested on Windows and Linux systems and should run on any system that contains Java 1.5 or later. Both Oracle and MySQL databases can be used.

Crimson has ability to handle very large tree. It needs to build an internal representation of the tree structure, the first time a tree is queried. It loads and keeps the topology of the tree with minimal connection in newick format in memory. Other meta data associated with nodes are retrieved from relational database with node id as the key. This approach takes 30 to 40 Mb memory and makes the process fast. The tree buidling only happens once per tree per session.

Testing experience

I downloaded the Version 2.1.3 from their web site and installed on my laptop. The installation is easy (actually I just unzipped it). I followed its documentation and did some tesing. I connected to SDSC oracle database through the GUI. It took about half minutes just like the documentation said. I loaded a testing set containing 1 million leaf tree and ran 3 queries to randomly select subtrees with 1000 leaves without selecting any sequence data. The initial run of the process took about 4 minutes. I repeated the same queries through its query manager and the second run took just a few seconds. So the tree building might not be as fast as the documentaion said but I feel it is fast enough for me to use on my laptop.

The documentation is thorough and easy to follow. The GUI and CLI both behave well and fill the needs for different users.

Notice

Stephen Fisher who developed Crimson has offered to collaborate and share code. People can contact him through Val Tannen or directly.

Resources