POY
Version
Versions 4.0.2870 and 4.1.2.1 available on Murska
Versions 4.1.2.1 and 5.0.1.alpha available on Vuori
Description
POY is a program for cladistic and phylogenetic analysis using sequence and/or morphological data. Most of the commonly used DNA-sequence based phylogenetics analysis methods are based on static multiple sequence alignments. Thus, these methods are dependent of the quality of the alignment, a feature that is often difficult to estimate, as well as of the heuristics of applying a gap model for insertions and deletions.
The POY program uses alternative methods, e.g., direct optimization and fixed character states optimization, to construct phylogenetic trees. These methods are able to assess directly the number of DNA sequence transformations, evolutionary events, required by a tree topology without the use of multiple sequence alignment.
Usage
The software needs to be initialized before use. On both Murska and Vuori it is done with:
module load poy
If a specific version is desired it can be specified in the module load command:
module load poy/5.0.1.alpha
Both Serial and parallel version are provided on Murska and Vuori. the binaries are called:
poy.serial
poy.mpi
On Vuori there are also version for longer sequences. These accept sequences longer than 16383 elements, but require more memory and may take longer to run:
poy.long.serial
poy.long.mpi
There is also a serial version for interactive work. It uses the ncurses interface unlike the batch job versions that use a "flat" interface:
poy.interactive
Parallel Batch jobs in Murska
You can run parallel batch jobs in Murska. Note that you need to copy your data and batch script to $WRKDIR, since computing nodes do not see $HOME or $METAWRK directories. You should also start the run from the $WRKDIR.
You need three different files. The first contains the sequences, let's call it seqs.fas here. The next one lists all POY command you want to perform, one command on a line. Here's a working example, let's call the file tuto1.txt:
set(log:"poylogfile.txt")
read("seqs.fas")
build(100)
swap()
select()
report(asciitrees)
report(trees:(total, newick))
exit()
Last, you need to create a batch job file. You can modify the following example script to match your analysis. This script runs POY on eight cores using two nodes.
#!/bin/sh
# System message output file
#BSUB -o prog.o.%J
# how long a job takes, wallclock time hh:mm
#BSUB -W 1:00
# Required memory
#BSUB -M 1048576
# Number of processes (number of cores)
#BSUB -n8
# On Murska there is 4 cores per node, so there could be 4 mpi-processes per node
# This just minimizes the number of nodes in your job.
#BSUB -ext "SLURM[nodes=2]"
module load poy
mpirun -srun poy.mpi < tuto1.txt > tuto1.out
To submit the job (where "my_job_script" is the name of your batch job script):
bsub < my_job_script
Parallel batch jobs in Vuori
To run parallel batch jobs in Vuori, follow the instructions for Murska. The batch job file, however, needs to be formatted a little differently.Here is an example batch job script for Vuori. It runs the job on 12 cores using one node.
#!/bin/csh
## system message output file
#SBATCH -o my_output_%j
## how long a job takes, wallclock time hh:mm:ss
#SBATCH -t 01:00:00
## memory requested
## limit is specified in MB
## example: 1 GB is 1000
#SBATCH --mem-per-cpu=1000
##the number of processes (number of cores)
#SBATCH -n 12
## On Vuori there is 12 cores per node, so there could be 12 mpi-processes per node
## This just minimizes the number of nodes in your job.
#SBATCH --ntasks-per-node=12
##parallel queue
#SBATCH -p parallel
## run my MPI executable
## Modify the command line as necessary
module load poy
srun poy.mpi < tuto1.txt > tuto1.out
To submit the job (where "my_job_script" is the name of your batch job script):
sbatch my_job_script
Interactive jobs
POY can be run in interactive mode, but interactive sessions are limited to a maximum of four hours of computational time. It is mostly useful for checking you input files and parameters before a run.
For more information on how to run interactive jobs, see the user manuals for each server:
Running programs (batch and interactive) on Murska
Running programs (batch and interactive) on Vuori
Please note that for compatibility reasons batch job version of POY have been compiled with the "flat" user interface on CSC servers, not with the standard "ncurses" interface and may thus appear different than screen shots in some manuals.
Manual and support information
A detailed description of POY command options and file formats can be found from the POY manual.You might also want to read the worked-out examples in Molecular systematics - material for practicals.
References and links
Related articles
Aloysius Phillips, Daniel Janies, and Ward Wheeler, REVIEW: Multiple Sequence Alignment in Phylogenetic Analysis, Molecular Phylogenetics and Evolution, Vol. 16, No. 3, September, pp. 317-330, 2000
Distribution
User support
| Saren Ari-Matti | +358 9 457 2282 | Ari-Matti.Saren at csc.fi |