[Bioperl-l] Query about Hyphy wrapper module "SLAC.pm"

Johan Nilsson johan.nilsson at sh.se
Wed Dec 5 06:35:58 EST 2007


I have a bunch of multiple sequence alignments of protein coding genes,
which I would like to analyse with the SLAC method of the HyPhy package. I
tried using the SLAC.pm module in bioperl-run, but I could not get it to
work properly.

Basically, for each MSA file, I create the Bio::Tree::Tree and
Bio::SimpleAlign objects ($tree and $aln, respectively) required as
arguments to SLAC, and call the method with: "($rc,$result) =
$slac->run($aln,$tree)" in a loop procedure in my script.

When I choose not to save the tmp files (the default option in SLAC.pm),
the program complains that it cannot find the file
"$whatevertmpdir/wrapper.bf", and returns $rc=0 for all but the first MSA
(which works fine). Apparently, it looks for the wrapper.bf file in the
first tmp dir created, which is deleted in the end of the first SLAC call.

If instead I choose to save the tempfiles ($slac->save_tempfiles('TRUE')),
all calls to SLAC give returncode 1, and no error message is received.
However, when I look at the resulting $result hashref, it turns out that
all results are for the FIRST alignment read. I've made sure there is
nothing strange with my loop procedure, and I checked that the tree and
alignment objects look OK for each MSA. Apparently, it does create new
"results.tsv" files in the tmp directory after each run, but it is
identical each time it's created. Also, it only creates ONE tmp directory,
no matter how many times SLAC is executed (I would imagine it was supposed
to save each result in separate tmp dirs?)

Thus, it seems to me like the errors occur because something goes wrong in
the creation of temporary files. Have I done something wrong here, or have
any other of you experienced the same problem?

Best regards

Johan Nilsson, Ph.D.
School of Life Sciences
Södertörns University College
S-141 89 Huddinge, Sweden
E-mail: johan.nilsson at sh.se
Phone: +46 8 608 47 05, +46 70 456 10 51

More information about the Bioperl-l mailing list