Bonjour,
J'ai un objet
---SeqFeatures---
------------------
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 $VAR1 = bless( { '_gsf_tag_hash' => { 'mol_type' => [ 'genomic DNA' ], 'db_xref' => [ 'taxon:1502' ], 'country' => [ 'Japan:Kanagawa' ], 'strain' => [ 'MC18' ], 'serotype' => [ 'type C' ], 'organism' => [ 'Clostridium perfringens' ] }, '_source_tag' => 'EMBL/GenBank/SwissProt', '_gsf_seq' => bless( { 'display_id' => 'AB262081', 'primary_id' => '124377416', 'accession_number' => 'AB262081', '_seq_length' => '7192', '_version' => '1', 'alphabet' => 'dna', 'desc' => 'Clostridium perfringens gene for TpeL, complete cds.', '_root_verbose' => 0, 'seq' => 'GATCTTAATGA ...GACAAGCTTT' }, 'Bio::PrimarySeq' ), '_location' => bless( { '_strand' => 1, '_seqid' => 'AB262081', '_location_type' => 'EXACT', '_start' => '1', '_end' => '7192', '_root_verbose' => 0 }, 'Bio::Location::Simple' ), '_primary_tag' => 'source' }, 'Bio::SeqFeature::Generic' );
J'arrive à accéder aux valeurs
à l'aide demol_type
db_xref
country
strain
serotype
organism
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 my @Features= $seq->get_SeqFeatures; for my $f (@Features) { my $PrimTag = $f->primary_tag; if ($PrimTag eq('source') ) { my @Tags = $f->get_all_tags; foreach (@Tags) { print $_."\n"; } } }
Cela ne me donne que les valeurs du tag '_gsf_tag_hash'
Y a-t'il moyen d'arriver de façon aussi simple à accéder aux valeurs contenues dans les autres 'tags' tel que '_gsf_seq' par exemple?
J'y arrive mais c'est assez lourd
Connaissez-vous une façon plus simple?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 my @Features= $seq->get_SeqFeatures; ... my $Features = $Features[$s]; # avance block par block grâce à $s foreach my $k (keys %$Features) { if ($k eq "_gsf_seq") { ... } }
Merci,
Jasmine,
Partager