http://www.perlmonks.org?node_id=833659


in reply to simple perl script to trim a FASTA file

Generally, FASTA files contain multiple sequence lines (wrapped at n? chars), per header line, which means your example could be misleading. If that is the case, then something like this may be needed:

#! perl -slw use strict; my( $x, $y ) = ( 3, 5 ); while( <DATA> ) { chomp; print ">$_"; local $/ = '>'; $_ = <DATA>; chomp; tr[\n][]d; print for unpack '(A36)*', substr $_, $x, length() - $x - $y; } __DATA__ >HWI-EAS158_40_3_1_46_535 GTGAATGCGTGATACAGGAATGTTCGTTGTGACCAT >HWI-EAS158_40_3_1_47_579 AAAGTGAATGCGTGATACAGGAATGTTCGTTGTGAC AAAGTGAATGCGTGATACAGGAATGTTCGTTGTGAC AAAGTGAATGCGTGATACAGGAATGTTCGTTGTGAC AAAGTGAATGCGTGATACAGGAATGTTCGTTGTGAC >HWI-EAS158_40_3_1_46_731 GTGTCATGCGTGATACAGGAATGTTCGTTGTGAAAA GTGTCATGCGTGATACAGGAATGTTCGTTGTGAAAA GTGTCATGCGTGATACAGGAATGTTCGTTGTGAAAA

Produces:

c:\test>junk46 >>HWI-EAS158_40_3_1_46_535 AATGCGTGATACAGGAATGTTCGTTGTG >HWI-EAS158_40_3_1_47_579 GTGAATGCGTGATACAGGAATGTTCGTTGTGACAAA GTGAATGCGTGATACAGGAATGTTCGTTGTGACAAA GTGAATGCGTGATACAGGAATGTTCGTTGTGACAAA GTGAATGCGTGATACAGGAATGTTCGTT >HWI-EAS158_40_3_1_46_731 TCATGCGTGATACAGGAATGTTCGTTGTGAAAAGTG TCATGCGTGATACAGGAATGTTCGTTGTGAAAAGTG TCATGCGTGATACAGGAATGTTCGTTGT

Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.