Bonjour,
J'essaye de réaliser un programme qui depuis un fichier .pdb (fichier contenant une multitude d'info. sur une protéine) me sélectionne les info que je souhaite. J'ai préalablement sélectionner les lignes commençant par SEQRES: Voici un échantillon que j'ai appelé seq0
Les lettres A B et C correspondent à la chaine polypeptidique à laquelle correspond la séquence qui suit (MET GLU ARG etc.)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ['SEQRES 1 A 215 MET GLU ARG ASN LYS LEU ALA ARG GLN ILE ILE ASP THR \n', 'SEQRES 2 B 215 CYS LEU GLU MET THR ARG LEU GLY LEU ASN GLN GLY THR \n', 'SEQRES 3 C 215 ALA GLY ASN VAL SER VAL ARG TYR GLN ASP GLY MET LEU \n',
J'ai écrit un script qui me permet de print la séquence des chaines polypeptidique sous forme de chaine de caractère avec ce script:
Ce script fonctionne bien, mais mon problème c'est qu'il n'est pas viable. Imaginons que la protéine en question comporte 100 chaines polypeptidiques, ce serait stupide d'écrire à chaque fois "if seq1[2]=="X": codeX=codeX+dico[j]"
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 codeA="" codeB="" codeC="" dico={"VAL":"V","ILE":"I","LEU":"L","MET":"M","PHE":"F","GLY":"G","ALA":"A","PRO":"P","TRP":"W","TYR":"Y","SER":"S","THR":"T","CYS":"C","ASN":"N","GLN":"Q","ARG":"R","LYS":"K","HIS":"H","ASP":"D","GLU":"E"} for i in seq0: seq1=i.split() for j in seq1[4:int(len(seq1))]: if seq1[2]=="A": codeA=codeA+dico[j] if seq1[2]=="B": codeB=codeB+dico[j] if seq1[2]=="C": print "sequence A:",codeA print "sequence B:",codeB print "sequence C:",codeC résultat: séquence A: MERNKLAR..... séquence B: CLEMTR.... séquence C: AGNVSV.....
Du coup, je n'arrive pas à trouver un script qui me print la séquence de toutes les chaines polypeptidiques présentes sans avoir à écrire des centaines de lignes.
Pouvez vous m'aidez svp ?
Merci d'avance
Partager