comparison quantify.pl @ 46:ca05d68aca13 draft

Uploaded
author big-tiandm
date Thu, 13 Nov 2014 22:43:35 -0500
parents 0c4e11018934
children
comparison
equal deleted inserted replaced
45:2cb6add23dfe 46:ca05d68aca13
10 use File::Path; 10 use File::Path;
11 use strict; 11 use strict;
12 use File::Basename; 12 use File::Basename;
13 #use Getopt::Std; 13 #use Getopt::Std;
14 use Getopt::Long; 14 use Getopt::Long;
15 use RNA; 15 #use RNA;
16 16
17 my %opts; 17 my %opts;
18 GetOptions(\%opts,"r=s","p=s","m=s","mis:i","t:i","e:i","f:i","tag:s","o=s","time:s","h"); 18 GetOptions(\%opts,"r=s","p=s","m=s","mis:i","t:i","e:i","f:i","tag:s","o=s","time:s","h");
19 if (!(defined $opts{r} and defined $opts{p} and defined $opts{m} and defined $opts{o} ) || defined $opts{h}) { #necessary arguments 19 if (!(defined $opts{r} and defined $opts{p} and defined $opts{m} and defined $opts{o} ) || defined $opts{h}) { #necessary arguments
20 &usage; 20 &usage;
295 } 295 }
296 296
297 sub structure{ 297 sub structure{
298 foreach my $key (keys %pre_mature) { 298 foreach my $key (keys %pre_mature) {
299 if (!(defined $pre{$key})){die "!!!!! No precursor sequence $key, please check it!\n";} 299 if (!(defined $pre{$key})){die "!!!!! No precursor sequence $key, please check it!\n";}
300 my ($str,$mfe)=RNA::fold($pre{$key}); 300 #my ($str,$mfe)=RNA::fold($pre{$key});
301 my $rnafold=`perl -e 'print "$pre{$key}"' | RNAfold --noPS`;
302 my @rnafolds=split/\s+/,$rnafold;
303 my $str=$rnafolds[1];
304 my $mfe=$rnafolds[-1];
305 $mfe=~s/\(//;
306 $mfe=~s/\)//;
307
301 $struc{$key}{"struc"}=$str; 308 $struc{$key}{"struc"}=$str;
302 $struc{$key}{"mfe"}=sprintf ("%.2f",$mfe); 309 #$struc{$key}{"mfe"}=sprintf ("%.2f",$mfe);
310 $struc{$key}{"mfe"}=$mfe;
303 311
304 foreach my $id (keys %{$pre_mature{$key}}) { 312 foreach my $id (keys %{$pre_mature{$key}}) {
305 ($pre_mature{$key}{$id}{"star"}[0],$pre_mature{$key}{$id}{"star"}[1])=&other_pair($pre_mature{$key}{$id}{"mature"}[0],$pre_mature{$key}{$id}{"mature"}[1],$str); 313 ($pre_mature{$key}{$id}{"star"}[0],$pre_mature{$key}{$id}{"star"}[1])=&other_pair($pre_mature{$key}{$id}{"mature"}[0],$pre_mature{$key}{$id}{"mature"}[1],$str);
306 } 314 }
307 =cut 315 =cut