Bonjour à tous,
Je découvre ce site, il parait très intéressant. Je suis dans la recherche biomoléculaire et j'utilise bioperl afin d'analyser des séquences d'ADN. Je suis bloquée dans un programme et j'aimerais un coup de main de votre part.
J'aimerais pouvoir accéder aux valeurs contenues dans un objet composé d'objets. La classe est get_SeqFeatures et j'ai plusieurs instances de cette classe dont j'aimerais extraire des informations à l'aide d'une boucle.
Voici un exemple d'objet obtenu par : print Dumper($Features)."\n";.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48 $VAR1 = bless( { '_gsf_tag_hash' => { 'mol_type' => [ 'mRNA' ], 'db_xref' => [ 'taxon:185431' ], 'isolate' => [ '927/4 GUTat10.1' ], 'chromosome' => [ '1' ], 'organism' => [ 'Trypanosoma brucei TREU927' ], 'note' => [ 'single VAT derivative of TREU927/4 (GPAL/KE/70/EATRO 1534)' ] }, '_source_tag' => 'EMBL/GenBank/SwissProt', '_gsf_seq' => bless( { 'display_id' => 'XM_001219120', 'primary_id' => '115504656', 'accession_number' => 'XM_001219120', '_seq_length' => '2097', '_version' => '1', 'alphabet' => 'dna', 'desc' => 'Trypanosoma brucei hypothetical protein, conserved (Tb927.1.4280) mRNA, complete cds.', '_root_verbose' => 0, 'seq' => 'ATGGAGAAGGTAGCAACAACAGCGTCTAAGGACAGTTCTGCTGTTAGGATTGTTGAACCAGTGATGTGA' }, 'Bio:: PrimarySeq' ), '_location' => bless( { '_strand' => 1, '_seqid' => 'XM_001219120', '_location_type' => 'EXACT', '_start' => '1', '_end' => '2097', '_root_verbose' => 0 }, 'Bio::Location::Simple' ), '_primary_tag' => 'source' }, 'Bio::SeqFeature::Generic' );
J'aimerais récupérer les valeurs contenues dans "'_gsf_tag_hash'", la référence ('taxon:185431') et l'isolat ('927/4 GUTat10.1'). Mais tous mes objets de classe get_seqFeatures ne possèdent pas "_gsf_tag_hash. Il faut donc que je commence par un test (if exists) et ensuite que j'extraie l'information.
Pourriez vous m'expliquer comment accéder aux informations provenant d'objets composés?
Voici ce que j'ai fait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 my($Features)= $seq->get_SeqFeatures; foreach my $k (keys %$Features) { #print "$k : $Features->{$k}\n"; if ($k eq "_gsf_tag_hash") { my $SousObjet1=($Features->{$k}); foreach my $key (keys(%$SousObjet1)) { #print "$key \t $SousObjet1->{$key}\n "; if ($key eq "db_xref") { @taxon=($SousObjet1->{'db_xref'}); print $taxon[0]; } } }
mais $taxon[0] possède une array.
Pourriez- vous m'aider?
Merci beaucoup,
Jasmine,
Partager