Ler uma sequências fasta e separar por tamanho [Bioinformática]

Publicado por José Cleydson Ferreira da Silva (última atualização em 03/06/2017)

[ Hits: 3.207 ]

Homepage: geminivirus.org

Download get_by_length.pl




O presente script lê um arquivo no formato fasta e separa por tamanhos < 9000; < 18000; >18000 em três arquivos diferentes.

Como utilizar?

1) Após download é preciso alterar a permissão do arquivo:

chmod +x get_by_length.pl

2) O script pode ser executado assim:

./get_by_length.pl arquivo.fasta
ou
perl get_by_length.pl arquivo.fasta

O resultado será direcionado para três arquivos diferentes:

arquivo.fasta_9000.fasta
arquivo.fasta_9000_18000.fasta
arquivo.fasta_18000_20504.fasta

  



Esconder código-fonte

#!/usr/bin/perl

open in,"<$ARGV[0]";
$i=0;
while($line = <in>){
   chomp $line;
   if($line =~ m/>/){
         $key = $line;      
   }else{
      $fasta{$key} .= $line;
   }
}

$i=0;
while( ($key,$seq) = each %fasta){
      if( $i < 9000){
         open out,">>1000/$key_9000.fasta";
         print out $key,"\n";
         print out $seq,"\n";
         close out;
      }elsif($i < 18000){
         open out,">>1000/$key_9000_18000.fasta";
         print out $key,"\n";
         print out $seq,"\n";
         close out;         
         
      }else{
         open out,">>1000/$key_18000_20504.fasta";
         print out $key,"\n";
         print out $seq,"\n";
         close out;   
         
      }
   
}
close in;

Scripts recomendados

Image Loader

Sem Queda

Verificação de IP em blacklists

Monitoração Web com Perl

lol


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts