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 :
La sortie :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 ()
-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 :
L'erreur :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 ()
Et là, je bloque J'ai laissé le print pour le tas d'options.-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:~$
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) :
Merci pour les idéesCode:sudo apt-get install python-biopython
-----