G::Seq FreeEnergy
SummaryIncluded librariesPackage variablesSynopsisDescriptionGeneral documentationMethods
Summary
G::Seq::FreeEnergy - Perl extension for blah blah blah
Package variables
No package variables defined.
Included modules
G::Messenger
G::Tools::Graph
SelfLoader
SubOpt
Inherit
AutoLoader Exporter
Synopsis
  use G::Seq::FreeEnergy;
  blah blah blah
Description
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.
Methods
DESTROY
No description
Code
RNAfold
No description
Code
foreach_RNAfold
No description
Code
Methods description
None available.
Methods code
DESTROYdescriptionprevnextTop
sub DESTROY {
    my $self = shift;
}
RNAfolddescriptionprevnextTop
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(/\s\(\s/,$rna_fold_result))[1];
# $result=~tr/\)\n//d;
# unable to retrive sequence over 58 letters
# suggested by Atsuko Kisi and Hayataro Kouchi
$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;
}
foreach_RNAfolddescriptionprevnextTop
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;
}
General documentation
AUTHORTop
A. U. Thor, a.u.thor@a.galaxy.far.far.away
SEE ALSOTop
perl(1).