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.049 ]

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

chpasswd.cgi

Introdução a Persistência de Estrutura de Dados em Perl

Image Loader

Tratando Exceções com o Perl

Biblioteca CGI-LIB.PL


  

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