Advertisement
Guest User

Untitled

a guest
Oct 11th, 2018
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 1.21 KB | None | 0 0
  1. #!/usr/bin/perl
  2. use Bio::DB::GenBank;
  3.  
  4. #Almacenamiento de IDs (hasta un máximo de 10) en un array (comienza desde 0!!!)
  5. open (INPUT, "input.txt");
  6.     @IDs = split(" ", <INPUT>);
  7. close (INPUT);
  8. chomp @IDs;
  9. $numOfIDs = @IDs;
  10.  
  11.  
  12. # $gb_obj será quien tome los datos de GenBank.
  13. $gb_obj = Bio::DB::GenBank->new;
  14.  
  15. for (my $j = 0; $j < $numOfIDs; $j++) {
  16.     # Descargamos datos desde GenBank.
  17.     # Almacenamos los datos en forma de objetos, dentro de un array.
  18.     $resMatx[$j] = $gb_obj -> get_Seq_by_acc($IDs[$j]);
  19.  
  20.     if ($j == 0 || length($resMatx[$j] -> seq()) < $shortestLength) {
  21.         # En el primer ciclo guardaremos la primera secuencia que nos encontremos como si fuera la más corta.
  22.         # Si la longitud de la secuencia actual es menor a la que se registró como más corta ("ganadora"), actualizaremos el ID de la secuencia "ganadora".
  23.         $shortestLength = length($resMatx[$j] -> seq());
  24.         $winnerID = $resMatx[$j] -> accession_number();
  25.     }
  26. }
  27.  
  28. $result = $gb_obj -> get_Seq_by_acc($winnerID);
  29. #Presentamos los datos en formato FASTA:
  30. print(">" . $winnerID . "." . $result -> version() . " "  . $result -> desc() . "\n" . $result -> seq());
  31.  
  32. #   Miguel Román 1459368
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement