[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