Mercurial > repos > greg > snpeff_v2_from_pablo
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); } |