diff snpEff_2_1a/snpEff_2_1a/scripts/fastaSample.pl @ 3:c052639fa666 default tip

Uploaded
author pcingola
date Fri, 20 Apr 2012 11:22:59 -0400
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/snpEff_2_1a/snpEff_2_1a/scripts/fastaSample.pl	Fri Apr 20 11:22:59 2012 -0400
@@ -0,0 +1,41 @@
+#!/usr/bin/perl
+
+#---
+# Initialize parameters
+#---
+$sampleStart = $ARGV[0];
+$sampleEnd = $ARGV[1];
+if(( $ARGV[0] eq '' ) || ($ARGV[1] eq ''))	{ die "Usage: fastaSample sampleStart sampleEnd\n"; }
+
+$sampleStart--;
+$sampleEnd--;
+$sampleLen = $sampleEnd - $sampleStart + 1;
+
+#---
+# Read fasta file
+#---
+for($lineNum=0 ; $l = <STDIN> ; $lineNum++ ) {
+	if( $l =~/^>/ ) {
+		# Sample if not empty
+		if( $seq ne "" ) { 
+			$s = substr( $seq, $sampleStart, $sampleLen);
+			print "$s\n";
+		}
+		# New sequence
+		$seq = "";
+	} else {
+		chomp($l);
+		$seq .= $l;
+	}
+}
+
+# Sample if not empty
+if( $seq ne "" ) { 
+	$s = substr( $seq, $sampleStart, $sampleLen);
+	print "$s\n";
+}
+
+$len = length($seq);
+print STDERR "Lines: $lineNum\n";
+print STDERR "Sequence size: $len\n";
+print STDERR "Sample size: $sampleLen\n";