None available.
sub RNAfold
{ &opt_default(output=>"stdout",filename=>'FreeEnergy.csv');
my @args=opt_get(@_);
my $seq=shift @args;
my $start=shift @args;
my $end=shift @args;
my $filename=opt_val("filename");
my $rna_fold_result;
my $sq;
my $num;
my $result;
$sq = substr($seq,$start,$end-$start + 1);
$rna_fold_result=qx!echo $sq | RNAfold!;
$num++;
$result = (split(/\(/, $rna_fold_result))[-1];
chomp($result);
$result =~ s/\)//;
if(&opt_val("output") eq "stdout"){
&msg_send($result,"\n");
}
if(&opt_val("output") eq "f"){
open(FILE,">>$filename");
print FILE $result,"\n";
close(FILE);
}
mkdir("graph",0777);
system('mv','rna.ps','graph/');
return $result;} |
sub foreach_RNAfold
{ &opt_default(window=>50,output=>"show",filename=>"FreeEnergy.csv");
my @args=opt_get(@_);
my $seq=shift @args;
my $start=shift @args;
my $end=shift @args;
my $number=opt_val("window");
my $printer=opt_val("output");
my $filename=opt_val("filename");
my $i;
my $cut;
my $array;
my $rna_fold_result;
my $sq;
my $num;
my $x;
my $y;
my @y;
my @RNA;
if($printer=~/f/){
open(FILE,">$filename");
}
$cut = substr($$seq,$start,$end-$start);
for($i=0 ; $i<=length($cut)-$number ; $i=$i+1){
$y=$i+$start;
$sq = substr($$seq,$y,$number);
$rna_fold_result=qx!echo $sq | RNAfold!;
$num++;
$rna_fold_result=~tr/()//d; $rna_fold_result=~tr/[A-Z]\n//d; $rna_fold_result=~s/\.\.//g; $rna_fold_result=~s/\.\ //g; $rna_fold_result=~tr/ //d; push(@RNA,$rna_fold_result);
if($printer=~/f/){
print FILE $y,",",$y+$number,",",$rna_fold_result,"\n";
}
if($printer!~/[fn]/){
&msg_send($y,"..",$y+$number,"\t",$rna_fold_result,"\n");
}
push(@y,$y);
}
unlink("rna.ps");
if($printer=~/g/ || $printer=~/show/){
&G::Tools::Graph::_UniMultiGrapher(\@y,\@RNA,-filename=>"FreeEnergy.png",-x=>"position",-y=>"free energy",-title=>"free energy");
}
msg_gimv('graph/FreeEnergy.png') if($printer=~/show/);
return\@ RNA;} |