/usr/lib/python2.7/dist-packages/metastudentPkg/lib/groupC/validate.pl is in metastudent 1.0.11-2.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | #!/usr/bin/perl
use Carp;
use Archive::Extract;
$test=$ARGV[0];
$train=$ARGV[1];
$outfolder=$ARGV[2];
$outfolder.="/";
$fhin="FHIN";
$fh2="FHIN";
$fhout="FHOUT";
$outfile=$outfolder."temp.blast";
@cat=();
$c=0;
%hash;
open($fhin,$test);
@testsetfile=<$fhin>;
foreach (@testsetfile){
next if !/^(>.*)/;
#print $1."\n";
$hash{$1}=1;
}
$cnt=scalar(keys %hash);
foreach (@testsetfile){
next if !(/^(>.*)/);
$topush = "Query= $1\n";
#print $1."\n";
print ((++$c*100/$cnt)."%\n");
$_=~/^>(.*):.*/;
$blast=$1;
$blast =~ s/\|/-/;
#print $blast."\n";
$blast1="/mnt/opt/data/pp2_exercise/blasts/".$blast.".blast.gz";
$ae=Archive::Extract->new( archive => $blast1);
$ok = $ae->extract( to => "$outfolder" );
$blast=$outfolder.$blast.".blast";
open($fh2,$blast)|| die"file $blast not found";
@what=<$fh2>;
$i = 0;
foreach (@what) {
#print $_;
if (/^Results/ && /2/) {$true=1; push(@cat,"Results from round 2\n");}
if ($true==1){
#$tempQuery = $_ if /^Query=/;
if (/^(>.*)/) {
#print "what $1\n";
push(@cat,$topush) if ($topush);
$topush = "";
if (not $hash{$1}) {
#print "NOT found $1\n";
my $i2 = $i;
#push(@cat,$tempQuery);
#$tempQuery="";
while ($i2 < $i+5) {
push(@cat,$what[$i2++]);
}
}
else {
# print "found $1\n";
}
}
}
$i++;
}
close($fh2);
unlink($blast);
}
close($fhin);
open($fhout,"> $outfile");
foreach $line (@cat) {
print $fhout $line;
}
close $fhout;
my @cmd = qq|/mnt/opt/data/pp2_exercise/groups/groupC/CafaWrapper3.pl $train $outfile $outfolder|;
system(@cmd) && confess("@cmd failed: ".($?>>8));
#unlink($outfile);
|