[m]piBlast [D]atabase [U]pdater (mdu)
[m]piBlast [D]atabase [U]pdater, written in Python, is a small command line based application used to update or install (since the process is identical in both cases) of databases for use with mpiBLAST. It attempts to streamline the process, so that mdu can be submitted as a job to a cluster machine and run unattended.
The difference between using mdu and doing manual updates is that with mdu, you can set which databases should be updated, decide how it should be carried out and start the application. Then let mdu do all the work (and tedious waiting for downloads and formatting), while you watch an episode of Seinfeld. You can even set mdu to run as a cron job.
mdu is distributed under the GPL licence.
Martin Matusiak - mdu project manager
Download
Dependencies
- Linux [could probably work on a POSIX operating system with gnu]
- Python
- mpiBLAST (preferably 1.4+)
- BLAST
mdu also depends on a range of gnu tools, like..
- cp, mv, rm
- bash
- curl
- gunzip
- sed
- tar
- wget
Download
Download a release:
To download the latest version of mdu, use subversion to check out the files from the repository.
$ svn checkout https://svn.sourceforge.net/svnroot/grid-portal/code/mdu/src/mdu
Source code repository
To browse the source code repository, use one of the following methods:
Documentation
README
# $File: src/mdu/README
Q. What is mdu all about?
A. mdu is a shell-driven application, which allows you to easily install and/or
update a set of databases for use with mpiBLAST. It sets out to automate the
process of updating databases, requiring no user intervention, whether you
choose to monitor the update process or submit it to the cluster as a PBS job.
Q. How do I get started?
A. Open conf_user.py and follow the instructions. Have a quick look at
conf_sys.py to see if maybe there are some system specific options you should
set.
Q. How do I run mdu?
A. mdu is nothing more than a glorified shell script, so you can run it any
way you would run a shell script. Invoked without any flags, it will print
the help on usage. A typical invokation would look something like:
$ python mdu.py --debug --start
A pbs job script is included with mdu, you can submit that as a job like so:
$ qsub job.pbs
Q. What do the runtime flags mean?
A. This is what the flags mean:
--debug
Recommended, prints verbose output from mdu and every command mdu executes.
--dry-run
mdu will download, unpack and format the database, but not install it. And it
will preserve the working directory (which is otherwise cleared). Useful for
debugging.
--help
Displays help on usage.
--keep-downloaded
After a database is downloaded and unpacked, it will be formatted and
installed. With this flag, the unpacked files will not be removed and can be
used to run mdu again.
--no-color
Turns off color output in the terminal. Recommended for batch execution when
you wish to capture the output in a log file for later review.
--skip-reorder
mpiformatdb will reorder a database before segmenting it, to ensure that the
segments will be roughly equal in size. This process takes a long time
(relative to the whole process of updating a database,) and skipping it saves
both time and the temporary space required to process a database. When set, this
flag may cause mpiformatdb to output segments of varying size (depending on the
database itself).
--start
mdu will not do anything unless you include this flag.
--use-downloaded
If downloaded files are found in the workdir from a previous run of mdu, they
will be used. Otherwise any existing files will be overwritten. (This pertains
to the workdir, not the mpiBLAST shared directory, where the databases are
installed.)