diff precursors.pl @ 46:ca05d68aca13 draft

Uploaded
author big-tiandm
date Thu, 13 Nov 2014 22:43:35 -0500
parents 4c0b1a94b882
children
line wrap: on
line diff
--- a/precursors.pl	Thu Oct 30 21:29:35 2014 -0400
+++ b/precursors.pl	Thu Nov 13 22:43:35 2014 -0500
@@ -9,7 +9,7 @@
 
 use strict;
 use Getopt::Long;
-use RNA;
+#use RNA;
 
 my %opts;
 GetOptions(\%opts,"map=s","g=s","d:i","f:i","o=s","e:f","s=s","h");
@@ -17,6 +17,7 @@
 &usage;
 }
 
+my $checkno=1;
 my $filein=$opts{'map'};
 my $faout=$opts{'o'};
 my $strout=$opts{'s'};
@@ -237,8 +238,14 @@
 	$tag2_end=$tag2_beg+length($tag2)-1;
 
 	# fold
-	my ($struct,$mfe)=RNA::fold($seq);
-	$mfe=sprintf "%.2f", $mfe;
+	#my ($struct,$mfe)=RNA::fold($seq);
+		my $rnafold=`perl -e 'print "$seq"' | RNAfold --noPS`;
+		my @rawfolds=split/\s+/,$rnafold;
+		my $struct=$rawfolds[1];
+		my $mfe=$rawfolds[-1];
+		$mfe=~s/\(//;
+		$mfe=~s/\)//;
+	#$mfe=sprintf "%.2f", $mfe;
 	if ($mfe > $MAX_ENERGY) {return 0;}
 
 	# tag1
@@ -331,8 +338,14 @@
 	
 	
 	# fold
-	my ($struct,$mfe)=RNA::fold($seq);
-	$mfe=sprintf "%.2f",$mfe;
+	#my ($struct,$mfe)=RNA::fold($seq);
+		my $rnafold=`perl -e 'print "$seq"' | RNAfold --noPS`;
+		my @rawfolds=split/\s+/,$rnafold;
+		my $struct=$rawfolds[1];
+		my $mfe=$rawfolds[-1];
+		$mfe=~s/\(//;
+		$mfe=~s/\)//;
+	
 	if ($mfe > $MAX_ENERGY) {
 		$pass=0;
 		return $pass;