[Python] Récupération d'une séquence de banque de données
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

[Python] Récupération d'une séquence de banque de données



  1. #1
    MaliciaR

    [Python] Récupération d'une séquence de banque de données


    ------

    Hello, tout le monde,

    Voilà, ce soir, j'en ai eu marre de Perl et j'ai essayé de faire un pitit script en python. Mais j'ai bugué à un moment donné...
    Donc, j'ai ça qui fonctionne :
    Code:
    #!/usr/bin/python
    
    #-*- coding: utf-8 -*-
    
    from Bio import GenBank
    from Bio import SeqIO
    handle = GenBank.download_many (['AB088224.2'])
    for seqrecord in SeqIO . parse (handle, "genbank" ) :
    	print seqrecord.id, seqrecord.description [:50] + "..."
    	print "Sequence length %i," %len ( seqrecord.seq )
    	print "%i features," %len ( seqrecord.features )
    	print "from: %s" %seqrecord.annotations ['source']
    handle . close ()
    La sortie :
    -desktop:~$ python Desktop/essai2.py
    AB088224.2 Streptomyces rochei plasmid pSLA2-L DNA, complete ...
    Sequence length 210614,
    230 features,
    from: Streptomyces rochei
    -desktop:~$

    Mais dès que j'essaie avec une autre banque (SwissProt en l'occurrence) en faisant pareil que ci-dessus, il râle et j'ai tout oublié pour décoder comment faire
    Donc, le code :
    Code:
    #!/usr/bin/python
    
    #-*- coding: utf-8 -*-
    
    from Bio.SwissProt import SProt
    from Bio import SeqIO
    print dir(SProt)
    handle = SProt.read_and_call(['P08874'])
    for seqrecord in SeqIO . parse (handle, "swissprot" ) :
    	print seqrecord.id, seqrecord.description [:50] + "..."
    	print "Sequence length %i," %len ( seqrecord.seq )
    	print "%i features," %len ( seqrecord.features )
    	print "from: %s" %seqrecord.annotations ['source']
    handle.close ()
    L'erreur :

    -desktop:~$ python Desktop/essai4.py
    ['AbstractConsumer', 'AbstractParser', 'Alphabet', 'BooleanType', 'BufferType', 'BuiltinFunctionType', 'BuiltinMethodType', 'ClassType', 'CodeType', 'ComplexType', 'DictProxyType', 'DictType', 'Dictionary', 'DictionaryType', 'EllipsisType', 'EventGenerator', 'ExPASy', 'ExPASyDictionary', 'File', 'FileType', 'FloatType', 'FrameType', 'FunctionType', 'GeneratorType', 'GetSetDescriptorType', 'Index', 'InstanceType', 'IntType', 'Iterator', 'LambdaType', 'ListType', 'LongType', 'MemberDescriptorType', 'MethodType', 'ModuleType', 'NoneType', 'NotImplementedType', 'ObjectType', 'Record', 'RecordParser', 'Reference', 'RequestLimiter', 'SGMLStrippingConsumer', 'Seq', 'SeqRecord', 'SequenceParser', 'SliceType', 'StringType', 'StringTypes', 'TaggingConsumer', 'TracebackType', 'TupleType', 'TypeType', 'UnboundMethodType', 'UnicodeType', 'XRangeType', '_CHOMP', '_RecordConsumer', '_Scanner', '_SequenceConsumer', '__builtins__', '__doc__', '__file__', '__name__', 'attempt_read_and_call', 'handler', 'index_file', 'is_blank_line', 'os', 'read_and_call', 'read_and_call_until', 'read_and_call_while', 'safe_peekline', 'safe_readline', 'string', 'sys', 'traceback', 'xml_support']
    Traceback (most recent call last):
    File "Desktop/essai4.py", line 8, in <module>
    handle = SProt.read_and_call(['P08874'])
    TypeError: read_and_call() takes exactly 2 arguments (1 given)
    -desktop:~$
    Et là, je bloque J'ai laissé le print pour le tas d'options.
    Mais je ne sais pas du tout quel est le second argument... Quelqu'un a une pitite idée?

    Pour ceux qui voudraient (sait-on jamais ) le tester chez eux, il faut avoir biopython. Pour ça (Ubuntu) :
    Code:
    sudo apt-get install python-biopython
    Merci pour les idées

    -----
    An expert is one who knows more and more about less and less.

  2. #2
    Philou67

    Re : [Python] Récupération d'une séquence de banque de données

    Salut Malicia,
    Sauf erreur, read_and_call demande 2 paramètres et ligne 8 de essai4.py, tu n'en fournis qu'un, non ?
    :'( Plus j'apprends, et plus je mesure mon ignorance

  3. #3
    Towl

    Re : [Python] Récupération d'une séquence de banque de données

    Il manque effectivement 1 argument :
    la methode read_and_call (handle, method) fait tout simplement :
    -> je prends mon flux (par son handle) et je lit 1 ligne que je stocke dans line
    -> j'execute method(line).

    Ainsi si tu fais un read_and_call(handle, print), tu affichera la ligne (print(line))

    Reste que le handle m'a pas l'air tres correct, je suppose qu'il faut plutot faire une connexion à la base de donnée (tu vas obtenir un handle à ce moment la)


    Edit: et félicitation pour avoir choisi un vrai langage
    The only limiting factor of the Linux operating system, is his user. - Linus Torvalds

  4. #4
    Philou67

    Re : [Python] Récupération d'une séquence de banque de données

    Ah !! c'est un
    map method, <HANDLE>

    Hhumm, désolé
    :'( Plus j'apprends, et plus je mesure mon ignorance

  5. A voir en vidéo sur Futura
  6. #5
    MaliciaR

    Re : [Python] Récupération d'une séquence de banque de données

    Citation Envoyé par Towl Voir le message
    Il manque effectivement 1 argument :
    la methode read_and_call (handle, method) fait tout simplement :
    -> je prends mon flux (par son handle) et je lit 1 ligne que je stocke dans line
    -> j'execute method(line).

    Ainsi si tu fais un read_and_call(handle, print), tu affichera la ligne (print(line))

    Reste que le handle m'a pas l'air tres correct, je suppose qu'il faut plutot faire une connexion à la base de donnée (tu vas obtenir un handle à ce moment la)
    Merci
    Je vais essayer de trouver le temps ce we, en ce moment c'est la course


    Edit: et félicitation pour avoir choisi un vrai langage
    Après un moment d'égarement, je rentre au bercail
    An expert is one who knows more and more about less and less.

Discussions similaires

  1. [Biotechnologie] Analyse de Séquence +python
    Par invite5592f8d2 dans le forum Biologie
    Réponses: 3
    Dernier message: 28/10/2008, 11h27
  2. Récupération de données
    Par Alfabidou dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 03/06/2008, 18h00
  3. Banque de données infrarouge (H2SO4)
    Par Loutchos dans le forum Chimie
    Réponses: 0
    Dernier message: 27/05/2008, 09h35
  4. Récupération de données
    Par Eliès dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 29/06/2005, 11h40
  5. Récupération de données
    Par invite10a409f7 dans le forum Électronique
    Réponses: 2
    Dernier message: 25/08/2004, 15h58
Découvrez nos comparatifs produits sur l'informatique et les technologies.