perl -nwi -e 'print unless /\.(?:WKP|MRP)/' your_file
Abigail | [reply] [d/l] |
I'm guessing the peptides might be in a format which spans more than one line? So you would want to skip whole entry not just the lines as Abigail-II suggests.
You can do this without external modules, but removing the newlines but if you are doing much work with biological sequences I'd humbly suggest bioperl, BioPerl, project website. If your sequences happen to be in swissprot format instead of fasta you just have to change the 'fasta' below to 'swiss'. Nifty, eh.
use Bio::SeqIO;
my $input = new Bio::SeqIO(-format => 'fasta',
-file => 'inputfile');
my $output = new Bio::SeqIO(-format => 'fasta',
-file => '>outputfile');
while( my $seq = $input->next_seq ) {
# skip the whole entry if the sequence constains the
# pattern using Abigail-II's suggestion
next if ( $seq->seq() =~ /\.(?:WKP|MRP)/);
# otherwise write the sequence out to the output file
$out->write_seq($seq);
}
| [reply] [d/l] |