[Bioperl-l] Bio::Tools::Run::TribeMCL

Sean O'Keeffe limericksean at gmail.com
Fri Sep 9 07:58:44 EDT 2005


Hi,
I'm running the following code to cluster a protein set into families:

use Bio::Tools::Run::TribeMCL;
use Bio::SearchIO;

my $usage = "run_tribe.pl blastfile";
my $blastfile = $ARGV[0]; 
open (IN, $blastfile) || die $usage;

my $sio = Bio::SearchIO->new(-format=>'blast',
                               -file=>$blastfile);
my @params=('inputtype'=>'searchio',I=>'2.0',
	'mcl'=>'/home/sean/tribemcl/src/shmcl/mcl',
	'matrix'=>'/home/sean/tribemcl/src/contrib/tribe/tribe-matrix');

my $fact = Bio::Tools::Run::TribeMCL->new(@params);

my $fam = $fact->run($sio);

for (my $i = 0; $i <scalar(@{$fam}); $i++){
	print "Cluster $i \t ".scalar(@{$fam->[$i]})." members\n";
	foreach my $member (@{$fam->[$i]}){
		print "\t$member\n";
	}
}

It seems to run fine until the last part. The output from the command line is:

[mclIO] reading </tmp/zKQ6iThFot/viMIxVV864> ....................___
[mclvFromIvps_x] <323> found <1> repeated entries within vector
___ [mclvFromIvps_x] <323> vector went from <0> to <11> entries
....___ [mclvFromIvps_x] <387> found <3> repeated entries within vector
___ [mclvFromIvps_x] <387> vector went from <0> to <4> entries
.___ [mclvFromIvps_x] <414> found <2> repeated entries within vector
___ [mclvFromIvps_x] <414> vector went from <0> to <2> entries
.___ [mclvFromIvps_x] <425> found <2> repeated entries within vector
___ [mclvFromIvps_x] <425> vector went from <0> to <4> entries
..___ [mclvFromIvps_x] <455> found <2> repeated entries within vector
___ [mclvFromIvps_x] <455> vector went from <0> to <4> entries
.......___ [mclvFromIvps_x] <575> found <1> repeated entries within vector
___ [mclvFromIvps_x] <575> vector went from <0> to <8> entries
.___ [mclvFromIvps_x] <589> found <2> repeated entries within vector
___ [mclvFromIvps_x] <589> vector went from <0> to <8> entries
.___ [mclvFromIvps_x] <593> found <1> repeated entries within vector
___ [mclvFromIvps_x] <593> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <596> found <1> repeated entries within vector
___ [mclvFromIvps_x] <596> vector went from <0> to <6> entries
___ [mclvFromIvps_x] <605> found <6> repeated entries within vector
___ [mclvFromIvps_x] <605> vector went from <0> to <42> entries
___ [mclvFromIvps_x] <606> found <4> repeated entries within vector
___ [mclvFromIvps_x] <606> vector went from <0> to <8> entries
___ [mclvFromIvps_x] <607> found <6> repeated entries within vector
___ [mclvFromIvps_x] <607> vector went from <0> to <11> entries
.___ [mclvFromIvps_x] <608> found <1> repeated entries within vector
___ [mclvFromIvps_x] <608> vector went from <0> to <3> entries
___ [mclvFromIvps_x] <611> found <9> repeated entries within vector
___ [mclvFromIvps_x] <611> vector went from <0> to <8> entries
___ [mclvFromIvps_x] <612> found <11> repeated entries within vector
___ [mclvFromIvps_x] <612> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <613> found <10> repeated entries within vector
___ [mclvFromIvps_x] <613> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <614> found <10> repeated entries within vector
___ [mclvFromIvps_x] <614> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <615> found <9> repeated entries within vector
___ [mclvFromIvps_x] <615> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <616> found <9> repeated entries within vector
___ [mclvFromIvps_x] <616> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <617> found <10> repeated entries within vector
___ [mclvFromIvps_x] <617> vector went from <0> to <10> entries
___ [mclvFromIvps_x] <618> found <3> repeated entries within vector
___ [mclvFromIvps_x] <618> vector went from <0> to <2> entries
___ [mclvFromIvps_x] <619> found <2> repeated entries within vector
___ [mclvFromIvps_x] <619> vector went from <0> to <2> entries
___ [mclvFromIvps_x] <620> found <2> repeated entries within vector
___ [mclvFromIvps_x] <620> vector went from <0> to <3> entries
___ [mclvFromIvps_x] <621> found <5> repeated entries within vector
___ [mclvFromIvps_x] <621> vector went from <0> to <3> entries
___ [mclvFromIvps_x] <622> found <9> repeated entries within vector
___ [mclvFromIvps_x] <622> vector went from <0> to <4> entries
___ [mclvFromIvps_x] <623> found <8> repeated entries within vector
___ [mclvFromIvps_x] <623> vector went from <0> to <5> entries
.___ [mclvFromIvps_x] <624> found <5> repeated entries within vector
___ [mclvFromIvps_x] <624> vector went from <0> to <2> entries

[mclIO] read native ascii 625x625 matrix with 7731 entries
[mcl] pid 3353

 ite -----------------------------  chaos  time
  1  .............................   8.81  0.01
  2  .............................  14.76  0.01
  3  .............................  12.61  0.02
  4  .............................  11.41  0.01
  5  .............................   3.10  0.00
  6  .............................   4.16  0.00
  7  .............................   3.86  0.00
  8  .............................   2.36  0.00
  9  .............................   1.65  0.00
 10  .............................   1.03  0.01
 11  .............................   0.75  0.00
 12  .............................   0.38  0.00
 13  .............................   0.56  0.00
 14  .............................   0.69  0.01
 15  .............................   0.99  0.00
 16  .............................   0.49  0.00
 17  .............................   0.18  0.00
 18  .............................   0.01  0.00
 19  .............................   0.00  0.00
[mclIO] writing </tmp/zKQ6iThFot/EdurhN5sGW>
.......................................
[mclIO] wrote native ascii 625x195 matrix with 625 entries to stream
</tmp/zKQ6iThFot/EdurhN5sGW>
[mcl] jury pruning marks (worst 100 cases): <99,99,99>, out of 100
[mcl] jury pruning synopsis: <99 or perfect> (cf -scheme, -do log)
[mcl] 195 clusters found
[mcl] output is in /tmp/zKQ6iThFot/EdurhN5sGW
Can't use string ("195") as an ARRAY ref while "strict refs" in use at
../../../../scripts/run_tribe.pl line 21, <IND> line 625.

It seems to run ok but fails in the result stage ( line 21 is: "for
(my $i = 0; $i <scalar(@{$fam}); $i++){" ). Why is it failing?

Also I am curious where the output is sent - it's not contained in the
/tmp directory as it says,  zKQ6iThFot directory doesn't exist. How
can I make it put the output in the directory the program was called -
is there a flag I can add to the @params ??

Thanks in advance for any help,
Sean.



More information about the Bioperl-l mailing list