Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use Bio::DB::GenBank;
- #Almacenamiento de IDs (hasta un máximo de 10) en un array (comienza desde 0!!!)
- open (INPUT, "input.txt");
- @IDs = split(" ", <INPUT>);
- close (INPUT);
- chomp @IDs;
- $numOfIDs = @IDs;
- # $gb_obj será quien tome los datos de GenBank.
- $gb_obj = Bio::DB::GenBank->new;
- for (my $j = 0; $j < $numOfIDs; $j++) {
- # Descargamos datos desde GenBank.
- # Almacenamos los datos en forma de objetos, dentro de un array.
- $resMatx[$j] = $gb_obj -> get_Seq_by_acc($IDs[$j]);
- if ($j == 0 || length($resMatx[$j] -> seq()) < $shortestLength) {
- # En el primer ciclo guardaremos la primera secuencia que nos encontremos como si fuera la más corta.
- # 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".
- $shortestLength = length($resMatx[$j] -> seq());
- $winnerID = $resMatx[$j] -> accession_number();
- }
- }
- $result = $gb_obj -> get_Seq_by_acc($winnerID);
- #Presentamos los datos en formato FASTA:
- print(">" . $winnerID . "." . $result -> version() . " " . $result -> desc() . "\n" . $result -> seq());
- # Miguel Román 1459368
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement