Indiana University
University Information Technology Services
  
What are archived documents?

Using PHYLIP on Libra at IU

PHYLIP is a set of programs for estimating phylogenies and making inferences about them. Documentation for the programs is available online, including information about what the programs do, the options they take, and the data formats they accept. Below is information about using PHYLIP on the Libra Cluster at Indiana University.

Programs in PHYLIP were designed to be run interactively, but if you run them from the command line on Libra, the programs are limited to 20 minutes of processor time. For longer runs, you need to submit your program as a job to the batching and queuing system. It will wait its turn to run, and when it finishes, you'll receive mail announcing that your job has finished. Following are instructions for passing options to PHYLIP programs when you run them interactively, and how to submit jobs that run PHYLIP programs.

Note that the idea of running a program interactively has two different meanings. To most people, it means interacting with the program as it runs. The program prompts them for information, and they provide it. That is the sense in which interactive is used here. To supercomputer administrators, it means typing the name of the program on the command line and having it run immediately, regardless of whether you interact with the running program. The alternative is to submit a job that waits its turn to run. That meaning is not used here.

Configuring your account on Libra

The commands you use to place PHYLIP programs on your path on the Libra cluster depend on your shell. To find out which shell you are using, at the command line, enter ps . The commands alter your path permanently and you need to run them only once. Note the use of single quotes.

  • If your shell is bash, bsh, or ksh, run: echo 'PATH=$PATH:/miscapps/phylip/bin; export PATH' >> ~/.profile source ~/.profile
  • For csh , run: echo 'setenv PATH ${PATH}:/miscapps/phylip/bin' >> ~/.cshrc source ~/.cshrc

Passing options to PHYLIP programs

You can pass options to PHYLIP programs in two ways: create a file that contains the options you want to pass, or echo options to the program when it runs. This section describes both methods. These methods can be used both when running PHYLIP programs from the command line and when submitting batch jobs to run them.

A file that contains options for PHYLIP programs should be a plain text file that contains one entry per line. Each entry is a response to a menu or query that you would enter when running PHYLIP interactively. For example, if you wanted to used the default options, all you would do in the program is press  y  and Return. The option file for such a run would be a single line containing the letter Y. A more sophisticated run might be a file with the contents: D G I T 15 2 Y

PHYLIP accepts options on its standard input; to pass them from a file, use Unix redirection, using either of the following commands:

dnadist < my_option_file cat my_option_file | dnadist

The second way of passing options to PHYLIP programs from the command line is to use echo to pipe them to the program's standard input. If you want to use default options with a program, all you need to echo is  y :

echo Y | dnaml

To pass a series of options, echo must output each option on a separate line. You can do this by enclosing the options in quotes, separating them with a \n that will be expanded into new-line characters, and by explicitly requesting /bin/echo rather than using the built-in echo command. The options presented above for DNADIST can be passed as:

/bin/echo "D\nG\nI\nT\n15\n2\nY" | dnadist

Here, each option is separated from the next by \n.

Running PHYLIP programs as batch jobs

PHYLIP programs can be submitted to run as batch jobs by prefixing the command line with the word serialjob and by quoting redirection symbols. The following commands can be used to run the previous examples as batch jobs:

serialjob dnadist "<" my_option_file serialjob /bin/echo "D\nG\nI\nT\n15\n2\nY" "|" dnadist

serialjob is really a script that submits the rest of the command line as a job. The quotes prevent your shell from interpreting the redirection symbols < and | (the pipe) so that they will be part of the job that is submitted. You can find more information about serialjob on its Unix man page.

The script will print a message indicating that your job has been submitted. On the Libra cluster, you can check the status of your job with the command:

llq -u your_user_id

The mail you receive when your job completes will be sent you on the cluster. To have this mail forwarded to your usual mailbox, put your email address in a file named .forward in your home directory. User hoagyc would create this file as follows:

echo hoagyc@indiana.edu > ~/.forward

Also see:

This is document awwd in domain all.
Last modified on May 16, 2008.
Please tell us, did you find the answer to your question?