[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
    invite17a570c1

    [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

    -----

  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
    invite4ad25ccf

    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

  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
    invite17a570c1

    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

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 invitedcba90e7 dans le forum Matériel - Hardware
    Réponses: 4
    Dernier message: 03/06/2008, 18h00
  3. Banque de données infrarouge (H2SO4)
    Par invite51f5ee7b dans le forum Chimie
    Réponses: 0
    Dernier message: 27/05/2008, 09h35
  4. Récupération de données
    Par invite8a1ee9f2 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
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...