Los ejemplos previos pueden ser de utilidad en diferentes aplicaciones; los siguientes se orientan ya a tareas habituales en la Bioinformática, y algunas se inspiran en cádigo del repositorio Scriptome:
grep -c "^>" archivo.fasta | wc -l
:
perl -lne 'if(/^>/){ $total++ } END{ print "secuencias=$total"}'
perl -lne 'if(/^(>.*)/){ $head=$1 } else { $fa{$head} .= $_ } END{ foreach $s (sort(keys(%fa))){ print "$s\n$fa{$s}\n" }}'
perl -lne 'if(/^(>.*)/){ $head=$1 } else { $fa{$head} .= $_ } END{ foreach $s (keys(%fa)){ print "$s\n$fa{$s}\n" if(!$uniq{$fa{$s}}); $uniq{$fa{$s}}=1 }}'
perl -lne 'if(/^(>.*)/){ $head=$1 } else { $fa{$head} .= $_ } END{ foreach $s (keys(%fa)){ print "$s\n$fa{$s}\n" if(length($fa{$s})>100) }}'
$ perl -MBio::Perl -e '$gb=get_sequence("genbank","CP000524"); write_sequence(">CP000524.gb","genbank",$gb)'
$ perl -MSOAP::Lite -e '$soap=SOAP::Lite->service("http://www.ebi.ac.uk/Tools/webservices/wsdl/WSDbfetch.wsdl");print $soap->fetchData("uniprot:Q06546","fasta","raw")'
$ perl -MBio::SeqIO -e '$in=Bio::SeqIO->newFh(-file=>$ARGV[0],-format=>"genbank"); $out=Bio::SeqIO->newFh(-format=>"fasta"); while(<$in>){ print $out $_ }'
$ perl -lne 'if(/^>(\S+)/){$h=$1} else {$l=length($_);$TL+=$l;$L{$h}+=$l} \ END{ foreach $s (sort {$L{$b}<=>$L{$a}} keys(%L)){ $t+=$L{$s}; \ if($t>$TL/2){ print "N50=$L{$s}";exit }}}' ensamblaje.fasta
$ perl -lane '$F[3]=~s/,/./; print $F[3]' all.blast | Rscript -e 'data=scan(file="stdin"); hist(data)'
$ perl -lne 'tr/\x40-\xff\x00-\x3f/\x21-\xe0\x21/ if($.%4==0); print' reads.fq > reads.sanger.fq