Extraer secuencias usando un archivo con los ID
Publicado: 2016-10-18 17:05 @754
Hola, buenos días. Tengo este código en Perl que modifiqué de acuerdo a lo que requiero de uno ya existente, para extraer secuencias usando el ID en un archivo .txt. Sin embargo, el archivo de salida me arroja las secuencias con los ID del archivo.txt y yo lo que quiero es que salga todo el nombre original de cada secuencia.
Lo que obtengo es
Sin embargo, lo que quiero es (con el nombre original: >Z85.T_1177507 Z85s 9PG0M:00018:00019 orig_bc= new_bc= bc_diffs=0)
Este es el código que modifiqué:
¡¡¡ Muchas Gracias !!!!
Using text Syntax Highlighting
>Z85.T_1177507 Z85s 9PG0M:00018:00019 orig_bc= new_bc= bc_diffs=0
ACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATGGGTTGTAAAGCACTTTCAGTAGGGAGGAAAACTTGGGAATTAATACCCCCCAA
>X89.T_24577341 X89s 9PG0M:00022:00033 orig_bc= new_bc= bc_diffs=0
CGATTACTAGCGATTCCGACTGAATTGCAGACTCCAATCCGGATTTGCTTCCCCTCGCGGGCTTGCGACCCTCTGTGCCGACCATTGTAGCACGTGAGTA
>D89.T_36577341 D89s 9PG0M:00027:00047 orig_bc= new_bc= bc_diffs=0
CCAGCAGCCGCGGTAAGGATGAGGTGAAATTCGTAGATATCTGGAGGAACACCAGTGGCGAAGGCGGCCATCTGGACGGTGACTGACGCTCAGACGCGTG
>F106.T_4177341 F106s 9PG0M:00031:00045 orig_bc= new_bc= bc_diffs=0
ACAAGCGGTGGAGCATGTGGTTTAATTCGATTCGGGAATCCAGTGACAGGTGCTGCATGGCAACGAGCGCAACCCTTATCCTTAGTTGCCAGCACGTAATC
>Z79.T_1177341 Z79s 9PG0M:00018:00028 orig_bc= new_bc= bc_diffs=0
CCAGCAGCCGCGGTAATACAGAGGGGGCAAGCGTTGTTCGTCTGTTTAGTCAGGCGTGAAATCCCTGGGGGGAGAGGAGAGTGGAATTCCCAGTGTAGAGGT
ACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATGGGTTGTAAAGCACTTTCAGTAGGGAGGAAAACTTGGGAATTAATACCCCCCAA
>X89.T_24577341 X89s 9PG0M:00022:00033 orig_bc= new_bc= bc_diffs=0
CGATTACTAGCGATTCCGACTGAATTGCAGACTCCAATCCGGATTTGCTTCCCCTCGCGGGCTTGCGACCCTCTGTGCCGACCATTGTAGCACGTGAGTA
>D89.T_36577341 D89s 9PG0M:00027:00047 orig_bc= new_bc= bc_diffs=0
CCAGCAGCCGCGGTAAGGATGAGGTGAAATTCGTAGATATCTGGAGGAACACCAGTGGCGAAGGCGGCCATCTGGACGGTGACTGACGCTCAGACGCGTG
>F106.T_4177341 F106s 9PG0M:00031:00045 orig_bc= new_bc= bc_diffs=0
ACAAGCGGTGGAGCATGTGGTTTAATTCGATTCGGGAATCCAGTGACAGGTGCTGCATGGCAACGAGCGCAACCCTTATCCTTAGTTGCCAGCACGTAATC
>Z79.T_1177341 Z79s 9PG0M:00018:00028 orig_bc= new_bc= bc_diffs=0
CCAGCAGCCGCGGTAATACAGAGGGGGCAAGCGTTGTTCGTCTGTTTAGTCAGGCGTGAAATCCCTGGGGGGAGAGGAGAGTGGAATTCCCAGTGTAGAGGT
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Using text Syntax Highlighting
Z85.T_1177507
Z79.T_1177341
Z79.T_1177341
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Using text Syntax Highlighting
>Z85.T_1177507
ACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATGGGTTGTAAAGCACTTTCAGTAGGGAGGAAAACTTGGGAATTAATACCCCCCAA
>Z79.T_1177341
CCAGCAGCCGCGGTAATACAGAGGGGGCAAGCGTTGTTCGTCTGTTTAGTCAGGCGTGAAATCCCTGGGGGGAGAGGAGAGTGGAATTCCCAGTGTAGAGGT
ACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATGGGTTGTAAAGCACTTTCAGTAGGGAGGAAAACTTGGGAATTAATACCCCCCAA
>Z79.T_1177341
CCAGCAGCCGCGGTAATACAGAGGGGGCAAGCGTTGTTCGTCTGTTTAGTCAGGCGTGAAATCCCTGGGGGGAGAGGAGAGTGGAATTCCCAGTGTAGAGGT
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Using text Syntax Highlighting
>Z85.T_1177507 Z85s 9PG0M:00018:00019 orig_bc= new_bc= bc_diffs=0
ACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATGGGTTGTAAAGCACTTTCAGTAGGGAGGAAAACTTGGGAATTAATACCCCCCAAGCTTGACGTCACCTACAGAAGA
ACTGAGACACGGTCCAGACTCCTACGGGAGGCAGCAGTGGGGAATGGGTTGTAAAGCACTTTCAGTAGGGAGGAAAACTTGGGAATTAATACCCCCCAAGCTTGACGTCACCTACAGAAGA
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4
Este es el código que modifiqué:
¡¡¡ Muchas Gracias !!!!
Using perl Syntax Highlighting
- #!/usr/bin/perl -w
- use strict;
- use Getopt::Long;
- my ($id_file, $fasta_fie, $output_file);
- GetOptions (
- 'id=s' =>\$id_file, #archivo con id
- 'fa=s' =>\$fasta_fie, # archivo fasta
- 'ou=s' =>\$output_file #archivo de salida
- );
- if (!$id_file or !$fasta_fie or !$output_file){
- print "error";
- exit;
- }
- my @list = ();
- open (LIST,$id_file) or die "Cannot open file $id_file: $!\n";
- while (my $id = <LIST>) {
- chomp $id;
- $id =~ s/\s//g;
- push @list, $id
- }
- close LIST;
- my %seq = ();
- my $sid = ();
- open (IN, $fasta_fie) or die "Cannot open file $fasta_fie: $!\n";;
- while (<IN>) {
- if (/^\>(\S+)/) {
- $sid = $1;
- my @w = split /\|/, $sid;
- if (@w > 2) {
- $sid = $w[2];
- } else {
- $sid = $w[0];
- }
- } else {
- $seq{$sid} .= $_;
- }
- }
- close IN;
- open (OUT, ">$output_file") or die "Cannot create file $output_file: $!\n";
- foreach my $id (@list) {
- print OUT ">$id\n";
- print OUT $seq{"$id"};
- }
- close OUT;
- exit;
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4