IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bioinformatique Perl Discussion :

obtenir la classification phylogenetique à partird'un rapport GenBank


Sujet :

Bioinformatique Perl

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut obtenir la classification phylogenetique à partird'un rapport GenBank
    bonjour

    En parsant un rapport GenBank j'ai reussi à obtenir un tableau contenant la classification de mon espece.Maintenant j'aimerai classer mes résultats par ordre ,classe et sous embranchement.
    Pour cela j'ai essayer d'utiliser bio::species et bio::taxon mais impossible d'obtenir ce que je cherche la seule chose que j'arrive à obtenir c'est le genre (qui ne m'interesse pas) si quelqu'un vois une solution je suis preneuse car là je suis complètement bloquée

    Merci

  2. #2
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Bonjour Marie,



    En parsant un rapport GenBank j'ai reussi à obtenir un tableau contenant la classification de mon espece.Maintenant j'aimerai classer mes résultats par ordre ,classe et sous embranchement.
    La classification selon quel critère?
    Peux-tu me donner un accession pour lequel tu dois retrouver l'ordre, la classe et le sous-embranchement?

    La taxonomie n'est pas mon domaine et je n'ai qu'une seule fois travailler sur les taxons. J'avais écrit un script récupérant l'organisme, l'isolat et le taxon. Celui-ci pourra peut-être t'aider pour te donner des pistes.


    entrée :
    -------------

    my $query_string = "DQ426532 [Accession]";




    sortie :
    -----------

    description : Aspergillus versicolor isolate YNLF-29 18S ribosomal RNA gene, partial sequence; internal transcribed spacer 1, 5.8S ribosomal RNA gene, and internal transcribed spacer 2, complete sequence; and 28S ribosomal RNA gene, partial sequence.
    organism : Aspergillus_versicolor
    accession : DQ426532
    gi number : 89348008
    seq_length : 521

    ==> division : Plants
    organism : Aspergillus_versicolor
    isolate : YNLF-29
    mol_type : genomic DNA
    db_xref : taxon:46472
    isolation_source : air in hospital laboratory environment
    note : PCR_primers=fwd_name: ITS1, rev_name: ITS4




    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    #!/usr/local/bin/perl
     
    use strict;
    use warnings;
     
     
     
    #------------- Feature2.pl 
    # Bio::SeqFeatureI - Abstract interface of a Sequence Feature
     
     
     
    use Bio::DB::GenBank;
    use Bio::DB::Taxonomy;
     
    my $tax = Bio::DB::Taxonomy->new(-source => 'entrez');
     
     
    my $db="nucleotide";
    my $gb = new Bio::DB::GenBank;
     
     
    my $query_string = "DQ426532 [Accession]";
     
    my $query = Bio::DB::Query::GenBank->new(-db=>$db,
    				    -query=>$query_string,
    				  );
     
     
     
    eval { $gb->get_Stream_by_query($query)};
     
    if ($@) {
    	print "0\n";
    }
     
    else{
    	my $stream = $gb->get_Stream_by_query($query);
     
    	while (my $gb_data = $stream->next_seq){
     
    		use Data::Dumper;
    		# print Dumper $gb_data;
     
    		my $description = $gb_data->desc();
    		print "\ndescription : $description\n";
    		my ($orga) = $description =~ m/(\w+\s\w+)/;
    		$orga =~ s/\s/_/;
    		print "organism : $orga\n";
     
    		my $accession = $gb_data->accession_number();
    		print "accession : $accession\n";
    		my $gi = $gb_data->primary_id();
    		print "gi number : $gi\n";
     
    		my $sequence = $gb_data->seq();
    		my $ref_sequence = \$sequence;
    		my $seq_length = length($sequence);
    		print "seq_length : $seq_length\n\n";
     
     
     
    		my $taxon = $tax->get_taxon(-gi => $gi);
    		my $division = $taxon->division();
     
    		print "==> division : $division\n";
     
     
    		my ($organism, $strain, $isolate, $mol_type, $chromosome, $db_xref, $isolation_source, $note);				
    		my ($product, $len, $strand, $start, $end, $sous_seq);
     
     
    		# Returns an array of sub Sequence Features
    		foreach my $feat ( $gb_data->get_SeqFeatures() ) {
     
    			if($feat->has_tag('organism') ){
    				($organism) = $feat->get_tag_values('organism');
    				$organism =~ s/\s/_/;
    				print "organism : ", $organism, "\n";
    			}
     
    			if($feat->has_tag('strain') ){
    				($strain) = $feat->get_tag_values('strain');
    				print "strain : ", $strain, "\n";
    			}
     
    			if($feat->has_tag('isolate') ){
    				($isolate) = $feat->get_tag_values('isolate');
    				print "isolate : ", $isolate, "\n";
    			}
     
    			if($feat->has_tag('mol_type') ){
    				($mol_type) = $feat->get_tag_values('mol_type');
    				print "mol_type : ", $mol_type, "\n";
    			}
     
    			if($feat->has_tag('chromosome') ){
    				($chromosome) = $feat->get_tag_values('chromosome');
    				print "chromosome : ", $chromosome, "\n";
    			}
     
    			if($feat->has_tag('db_xref') ){
    				($db_xref) = $feat->get_tag_values('db_xref');
    				print "db_xref : ", $db_xref, "\n";
    			}
     
    			if($feat->has_tag('isolation_source') ){
    				($isolation_source) = $feat->get_tag_values('isolation_source');
    				print "isolation_source : ", $isolation_source, "\n";
    			}
     
    			if($feat->has_tag('note') ){
    				($note) = $feat->get_tag_values('note');
    				print "note : ", $note, "\n\n";
    			}
     
    		}
     
    	}
    }


    NB : lorsque je dois récupérer des informations sur Genbank, lors de l'utilisation de leur objet, le module Data:umper m'a toujours été d'une grande aide afin de voir les informations contenues dans ces objets souvent très complexes.
    -- Jasmine --

  3. #3
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    bonjour
    tout d'abord merci pour ta réponse mais mon problème reste le même parceque j'ai l' impression que le module bio::taxon ne permet pas de faire ce que je veux
    Je te donne une exemple pour le numéro d'accession HM385133.1 je souhaite afficher juste Crustacea Malocostra Isopoda . J’espère que j'ai été claire.
    Merci d'avance

    Marie

  4. #4
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    C'est très clair.


    Voici comment utiliser Data::Dumper :
    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
    #!/usr/local/bin/perl
     
    use strict;
    use warnings;
     
     
    use Bio::Taxon;
    use Data::Dumper;
     
     
    #------------- bio_taxon.pl
    # Bio::Taxon - A node in a represented taxonomy
     
     
    # recherche de Crustacea Malocostra Isopoda
     
     
    my $entrez_dbh = Bio::DB::Taxonomy->new(-source => 'entrez');
     
    my $gi = 300223465;
     
    my $taxon = $entrez_dbh->get_taxon(-gi => $gi);
     
    print Dumper $taxon;

    Voici ce qui est renvoyé :
    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
    $VAR1 = bless( {
                     '_id' => '829779',
                     'create_date' => '2010/06/17',
                     'db_handle' => bless( {
                                             '_entrez_params' => {
                                                                   'retmode' => 'xml',
                                                                   'report' => 'xml',
                                                                   'db' => 'taxonomy',
                                                                   'tool' => 'Bioperl'
                                                                 },
                                             'requests_redirectable' => [
                                                                          'GET',
                                                                          'HEAD'
                                                                        ],
                                             'from' => undef,
                                             'timeout' => 180,
                                             'parse_head' => 1,
                                             'max_redirect' => 7,
                                             'protocols_forbidden' => undef,
                                             'no_proxy' => [],
                                             'protocols_allowed' => undef,
                                             'use_eval' => 1,
                                             '_entrez_url' => 'http://www.ncbi.nih.gov/entrez/eutils/',
                                             'agent' => 'libwww-perl/5.806',
                                             'def_headers' => undef,
                                             '_root_verbose' => 0,
                                             'proxy' => {},
                                             'max_size' => undef
                                           }, 'Bio::DB::Taxonomy::entrez' ),
                     '_desc' => {},
                     '_ncbi_tax_id_provided' => 1,
                     '_creation_id' => 1,
                     'update_date' => '2010/06/17',
                     '_names_hash' => {
                                        'scientific' => [
                                                          'Isopoda sp. BOLD:AAH4108'
                                                        ],
                                        'division' => [
                                                        'Invertebrates'
                                                      ]
                                      },
                     'genetic_code' => '1',
                     'mitochondrial_genetic_code' => '5',
                     'rank' => 'species',
                     'pub_date' => '2010/07/12'
                   }, 'Bio::Taxon' );
    Tu peux donc via Bio::Taxon récupérer Isopoda, mais pas Crustacea Malocostra.
    -- Jasmine --

  5. #5
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    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
                                           'db_handle' => bless( {
                                                                   'db' => {
                                                                             'node_data' => {
                                                                                              'list2' => [
                                                                                                           'Metazoa',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list9' => [
                                                                                                           'unclassified Isopoda',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list5' => [
                                                                                                           'Malacostraca',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list8' => [
                                                                                                           'Isopoda',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list4' => [
                                                                                                           'Crustacea',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list10' => [
                                                                                                            'Isopoda sp. BOLD:AAH4108',
                                                                                                            'no rank'
                                                                                                          ],
                                                                                              'list3' => [
                                                                                                           'Arthropoda',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list7' => [
                                                                                                           'Peracarida',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list1' => [
                                                                                                           'Eukaryota',
                                                                                                           'no rank'
                                                                                                         ],
                                                                                              'list6' => [
                                                                                                           'Eumalacostraca',
                                                                                                           'no rank'
                                                                                                         ]
                                                                                            },
    Les informations dont tu as besoin sont bien là (cf mon premier script), sans passer par Bio::Taxon.
    -- Jasmine --

Discussions similaires

  1. [BO 6.5] Obtenir des rapports vides
    Par atoffoli75 dans le forum Deski
    Réponses: 1
    Dernier message: 16/06/2008, 12h17
  2. [MSSQL] Obtenir un rapport détaillé sur le volume des taille
    Par jowsuket dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/06/2008, 13h38
  3. Réponses: 5
    Dernier message: 11/10/2007, 12h29
  4. Réponses: 1
    Dernier message: 29/01/2007, 10h41
  5. Réponses: 7
    Dernier message: 22/11/2006, 09h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo