G::Seq
FreeEnergy
G::Seq::FreeEnergy - Perl extension for blah blah blah
|
Globals (from use vars definitions) |
@EXPORT |
$VERSION |
@EXPORT_OK |
use G::Seq::FreeEnergy; blah blah blah
|
Stub documentation for G::Seq::FreeEnergy was created by h2xs. It looks like the author of the extension was negligent enough to leave the stub unedited.
Blah blah blah.
|
DESTROY | No description | Code |
RNAfold | No description | Code |
foreach_RNAfold | No description | Code |
new | No description | Code |
Methods description
Methods code
sub DESTROY
{ my $self = shift;
}
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);
$rna_fold_result=qx!echo $sq | RNAfold!;
$num++;
$result=(split(/\s\(\s/,$rna_fold_result))[1];
$result=~tr/\)\n//d;
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;
}
sub new
{ my $pkg = shift;
my $filename = shift;
my $option = shift;
my $this;
return $this;
}
General documentation