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 :

Fichier GenBank de gènes


Sujet :

Bioinformatique Perl

  1. #1
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Fichier GenBank de gènes
    Salut à vous tous
    Desolée de deranger avec mon histoire de genbank mais je suis vraiment dans une impasse
    j'ai pu recuperer les accesion des transcrits du gène à partir de son nom et extraire par la suite les fichiers genbank correspondants mais je ne peux pas extraire le fichier qui contient toute la sequence du gène correspondant comme celui du lien:

    http://www.ncbi.nlm.nih.gov/entrez/v...rand=2&dopt=gb

    Toutes les suggestions seront les bienvenues.

    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
    Tu veux donc récupérer les séquences correspondant à tes accessions. Généralement, je fais cela très facilement via les modules Bio:B::GenBank ou Bio:B::RefSeq

    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
    use strict;
    use Bio::DB::GenBank;
     
     
    my @request = qw(liste acc);
     
    my $gb = new Bio::DB::GenBank;
     
    foreach my $acc (@request){
        # Recherche dans Genbank
        #--------------------------
        my $info = $gb->get_Seq_by_acc($acc);
        my $seq = $info->seq();
        print $seq;
    }
    L'ennui est que j'obtiens le message suivant
    MSG: NT_ contigs are whole chromosome files which are not part of regulardatabase distributions. Go to ftp://ftp.ncbi.nih.gov/genomes/.
    STACK Bio:B::NCBIHelper::_check_id C:/Perl/site/lib/Bio/DB/NCBIHelper.pm:380
    STACK Bio:B::NCBIHelper::get_Stream_by_acc C:/Perl/site/lib/Bio/DB/NCBIHelper.pm:357
    STACK Bio:B::WebDBSeqI::get_Seq_by_acc C:/Perl/site/lib/Bio/DB/WebDBSeqI.pm:172
    ... ce qui m'étonne car je retrouve bien cet accession dans la base de données nucléotide d'NCBI.

    Dans la doc de ce module il est indiqué
    Note that when querying for GenBank accessions starting with 'NT_' you will need to call $gb->request_format('fasta') beforehand, because in GenBank format (the default) the sequence part will be left out (the reason is that NT contigs are rather annotation with references to clones).
    ... j'ai essayé mais sans succès.


    J'ai essayé avec les modules Bio:B::NCBIHelper et Bio:B::WebDBSeqI permettant de fournir l'url de la DB à utiliser
    Provides core set of functionality for connecting to a web based database for retriving sequences
    mais j'obtiens l'erreur comme quoi $self n'est pas n'est pas déclaré
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    use Bio::DB::NCBIHelper;
     
    my $db = new Bio::DB::NCBIHelper;
    my $address = 'ftp://ftp.ncbi.nih.gov/genomes/';
    $self->url_base_address($address);


    Il y a certainement moyen de récupérer ta séquence via un de ces modules mais n'ayant jamais travaillé avec des contig, je ne sais pas comment régler les paramètres.
    -- Jasmine --

  3. #3
    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
    Regarde un peu ce qui suit

    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
    #!/usr/bin/perl
     
    use strict;
    use Bio::DB::GenBank;
     
    use Time::localtime;
    my $start= ctime();
     
     
    my $acc =  'NT_011109'; # NT_011109
    my $query = Bio::DB::Query::GenBank->new(-db=>"nucleotide",
    				    -query=> $acc,
    				    );
     
    my $gb = new Bio::DB::GenBank;
    $gb->request_format('fasta');
    my $stream = $gb->get_Stream_by_query($query);
     
    while (my $info= $stream->next_seq){
    	my $seq = $info->seq;
    	my $gi = $info->primary_id;
    	my $def = $info->description;
    	print "$acc\t$gi\tL:".length($seq)."\t$def\n";
    }
     
     
     
    #BILAN
    #------
    my $end = ctime();
    print "\n Départ\t=>".$start."\n Fin\t=>".$end."\n";
    NT_011109 gi|29800594|ref|NT_011109.15|Hs19_11266 L:31383029 Homo sapiens chromosome 19 genomic contig, reference assembly

    Départ =>Fri Aug 29 10:53:18 2008
    Fin =>Fri Aug 29 10:57:17 2008
    sans la ligne $gb->request_format('fasta');
    NT_011109 29800594 L:31383029 Homo sapiens chromosome 19 genomic contig, reference assembly.

    Départ =>Fri Aug 29 10:39:01 2008
    Fin =>Fri Aug 29 10:50:41 2008
    Sur http://www.ncbi.nlm.nih.gov/entrez/v...rand=2&dopt=gb la longueur est de 18984 bp
    -- Jasmine --

  4. #4
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 9
    Points
    9
    Par défaut Biopython et GenBank
    Merci Jasmine pour ton coup de pouce.

    J'ai pensé à récuperer le contig NT_011109 en entier et repêcher la sequence totale du gène par la suite, mais je n'ai pas su comment avoir les coordonnées de ce gènes sur ce contig. J'ai aussi pensé que si j'avais le debut et la fin de ce gène, je pourrai recuperer la page web grâce à l'url et l'enregistrer puis la parser pour récuperer l'information(mais je crois que c'est une idée farfelue et une tonne de boulo).
    Bref, puisque je ne parle que python sur ce forum et je suis la seule à l'être, je laisse mon bout de code en python, en espérant qui'l va servir à ce qui ont débuté la programmation en python comme moi.

    En fait, j'ai une question bêtte; comment la séquence d'un gène est identifiée dans GenBank et Nucleotide? Je sais bien que celle de l'ARNm commence par 'NM_xxxxxx', le contig par 'NT_xxxxxx', mais la séquence d'ADN du gène s'identifie comment?



    #!/usr/bin/python
    from Bio import GenBank
    from string import *
    from Bio import SeqIO

    gene_name=[('GeneID:2068','ERCC2'),('GeneID:2072', 'ERCC4'),('GeneID:103', 'ADAR'),('GeneID:8481', 'OFD1')]

    for gene in gene_name:
    requete='Homo sapiens AND '+ gene[0] +' AND '+gene[1]
    gi_liste=GenBank.search_for(requete)
    print gi_liste
    handle=GenBank.download_many(gi_liste)
    file_name= gene[0] + '.gb'
    gb_dict=SeqIO.to_dict(SeqIO.parse(handle,"genbank"))#stocke en memoire les fichiers genbank dans un dictionnaire
    handle.close()
    liste_accesion=[]
    for accesion in gb_dict.keys():
    if 'NM_' in accesion: #les accesions numbers des transcrits commencent par 'NM_'
    liste_accesion.append(accesion)
    print 'les accesions des transcrits sont: ', liste_accesion
    handle=GenBank.download_many(liste_accesion)
    f=open(file_name,'w')
    for ligne in handle:
    f.write(ligne)
    f.close()
    handle.close()

  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
    comment la séquence d'un gène est identifiée dans GenBank et Nucleotide? Je sais bien que celle de l'ARNm commence par 'NM_xxxxxx', le contig par 'NT_xxxxxx', mais la séquence d'ADN du gène s'identifie comment?
    Il y a deux identifiants, l'accession et le gi. Tout est très bien expliquer sur ces liens
    http://www.ncbi.nlm.nih.gov/Sitemap/sequenceIDs.html
    http://www.ncbi.nlm.nih.gov/Sequin/acc.html
    -- Jasmine --

  6. #6
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Points : 1 491
    Points
    1 491
    Par défaut
    Bonjour,

    Ton idée de récupérer la page web de la séquence NT qui t'intéresse et ensuite de la parser n'est pas mauvaise. Tout est fonction de tes besoins ...
    J'ai utilisé cette méthode pour récupérer les séquences NC_, car les assemblages ne sont pas disponibles par ftp.
    Cela ne nécessite pas forcément une tonne de boulot. Il existe des modules BioPerl qui permettent de parser les fichiers GenBank. L'important est alors de bien connaître la structure du fichier et les informations auxquelles tu peux accéder.

    Exemple : NC_000021
    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
     
         mRNA         complement(join(9928612..9928911,9930696..9930766,
                         9932178..9932270,9936234..9936313,9938241..9938346,
                         9941955..9942035,9943805..9943866,9955723..9955811,
                         9955910..9955991,9956808..9956868,9963779..9963843,
                         9964582..9964645,9964792..9964891,9966539..9966658,
                         9973137..9973298,9974784..9974834,9991880..9991933,
                         9993163..9993216,9995594..9995647,10006916..10006973,
                         10009640..10009748,10012634..10012791))
                         /gene="TPTE"
                         /product="transmembrane phosphatase with tensin homology"
                         /exception="unclassified transcription discrepancy"
                         /note="Derived by automated computational analysis using
                         gene prediction method: BestRefseq. Supporting evidence
                         includes similarity to: 1 mRNA"
                         /transcript_id="NM_199260.2"
                         /db_xref="GI:109689709"
                         /db_xref="GeneID:7179"
                         /db_xref="HGNC:12023"
                         /db_xref="MIM:604336"
    Au niveau du champ mRNA des annotations, il y a donc par exemple le gène TPTE qui a pour mRNA de référence NM_199260.2, avec sa description et les identifiants classiques. Tu as aussi les positions des exons sur la séquence complémentaire. Tu peux ainsi reconstruire la structure de ton gène et le localiser sur le génomique de référence.

    Je te conseille de lire le lien suivant.

    Voilà, j'espère que ces petites informations t'aideront à avancer ...
    Cela demande du courage d'en tirer du plaisir
    Quand on n'a qu'un marteau, tous les problèmes ressemblent à un clou

  7. #7
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 11
    Points : 9
    Points
    9
    Par défaut
    Enfin le bonheur,
    j'ai pu enfin récuperer mes fichiers. je n'ai pas utilisé de module biopython mais j'ai construit des urls que j'ouvre dans mon programme que je parse par la suite pour avoir l'information dont j'en ai besoin
    Merci pour le coup de pouce

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/07/2010, 15h35
  2. Réponses: 4
    Dernier message: 10/05/2009, 10h18
  3. Taille et séquence totales du gène dans un fichier GenBank
    Par myosotis29 dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 26/08/2008, 00h26
  4. Récuperation de champs sur fichier GenBank
    Par shenz dans le forum Bioinformatique
    Réponses: 9
    Dernier message: 23/06/2008, 19h11
  5. Comment convertir un fichier genbank en format xml
    Par kargero dans le forum Bioinformatique
    Réponses: 0
    Dernier message: 11/02/2008, 16h26

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