1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#!/usr/bin/perl
#------------------------------------------------------------------------------
# Transform a fasta file to a TXT (tab-separated) table
#
# Pablo Cingolani
#------------------------------------------------------------------------------
use strict;
#------------------------------------------------------------------------------
# Main
#------------------------------------------------------------------------------
my($seq, $name) = ('', '');
my($lineNum, $l, $newName);
#---
# Read fasta file
#---
for($lineNum=0 ; $l = <STDIN> ; $lineNum++ ) {
chomp $l;
if( $l =~/^>\s*(.*)\s*$/ ) {
$newName = $1;
if( $seq ne "" ) { print "$name\t$seq\n"; }
# New sequence
$name = $newName;
$seq = "";
} else { $seq .= $l; }
}
if( $seq ne "" ) { print "$name\t$seq\n"; }
|