comparison snpEff_2_1a/scripts/fastaSplit.pl @ 0:f8eaa3f8194b default tip

Uploaded snpEff_v2_1a_core.tgz from Pablo Cingolani
author greg
date Fri, 20 Apr 2012 14:47:09 -0400
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:f8eaa3f8194b
1 #!/usr/bin/perl
2
3 #------------------------------------------------------------------------------
4 # Split a fasta file (create one file per sequence)
5 #
6 #
7 #------------------------------------------------------------------------------
8
9 use strict;
10
11 #------------------------------------------------------------------------------
12 # Write fasta file
13 #------------------------------------------------------------------------------
14 sub writeSeq($$) {
15 my($name, $seq) = @_;
16 $name = "chr" . $name . ".fa";
17 print "Writing to $name\n";
18 open OUT, "> $name";
19 print OUT $seq;
20 close OUT;
21 }
22
23 #------------------------------------------------------------------------------
24 # Main
25 #------------------------------------------------------------------------------
26
27 my($seq, $name) = ('', '');
28 my($lineNum, $l, $newName);
29 #---
30 # Read fasta file
31 #---
32 for($lineNum=0 ; $l = <STDIN> ; $lineNum++ ) {
33 if( $l =~/^>\s*(.*?)\s+.*/ ) {
34 $newName = $1;
35 if( $seq ne "" ) { writeSeq($name, $seq); }
36 # New sequence
37 $name = $newName;
38 $seq = $l;
39 } else { $seq .= $l; }
40 }
41
42 if( $seq ne "" ) { writeSeq($name, $seq); }