class: center, middle, inverse, title-slide # Estructura 3D de Proteínas
### Licenciatura en Ciencias Genómicas, UNAM ### First version: 2021-08-15; Last update: 2021-09-21 --- <style type="text/css"> /* From https://github.com/yihui/xaringan/issues/147 */ .scroll-output { height: 80%; overflow-y: scroll; } /* https://stackoverflow.com/questions/50919104/horizontally-scrollable-output-on-xaringan-slides */ pre { max-width: 100%; overflow-x: scroll; } </style> # Importancia El conocimiento de la estructura 3D de la proteína nos ayuda a comprender cómo funciona la proteína y utilizar esa información para diferentes propósitos: + Controlar o modificar la función de la proteína + Predecir qué moléculas se unen a esa proteína y comprender diversas interacciones biológicas + Ayudar al descubrimiento de fármacos + Diseñar nuestras propias proteínas. --- # Contexto biológico ## Contribution of Disulfide Bridging to Epitope Expression of the Dengue Type 2 Virus Envelope Glycoprotein Los enlaces disulfuro (SS) son importantes para la envoltura del virus del dengue. Su eliminación podría interferir con la replicación del virus --- # Fenómenos de las ondas <img src="imgs/clase_3/fenomenos_ondas.png" width="800px" style="display: block; margin: auto;" /> --- # Difracción Desviación de ondas alrededor de las esquinas de un obstáculo o a través de una abertura de diámetro menor o igual que la longitud de onda. <img src="imgs/clase_3/difraccion.png" width="800px" style="display: block; margin: auto;" /> --- # Difracción en el mar <iframe width="560" height="315" src="https://www.youtube.com/embed/2TMR-EyF_ds" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- # Simulaciones PhET https://phet.colorado.edu/sims/html/wave-interference/latest/wave-interference_en.html --- # Difracción <img src="imgs/clase_3/simulacion_1.png" width="800px" style="display: block; margin: auto;" /> --- # Tamaño y longitud de onda Figura sencilla <img src="imgs/clase_3/tamano_ej1.png" width="500px" style="display: block; margin: auto;" /> --- # Tamaño y longitud de onda Figura compleja <img src="imgs/clase_3/tamano_ej2.png" width="500px" style="display: block; margin: auto;" /> --- # Orden <img src="imgs/clase_3/orden.png" width="500px" style="display: block; margin: auto;" /> --- # Longitudes de ondas + Rayos gamma `\(<10x10^{-12}m\)` (pico) + Rayos X `\(<10x10^{-9}m\)` (nano) + Infrarrojo cercano `\(2.5x10^{-6}m\)` (micro) -- Escalas : https://learn.genetics.utah.edu/content/cells/scale/ #### ¿Cuál es el tamaño aproximado de una célula de la piel? -- `\(30\mu m\)` o `\(3.0x10^{-5}m\)` -- #### ¿Cuál es el tamaño de un átomo? -- `\(340p m\)` o `\(3.4x10^{-10}m\)` -- #### ¿Cuál onda utilizarían para ver los átomos de una proteína? -- ### ¿Cómo obtenemos una estructura repetida y ordenada? --- # La cristalografía es un arte
+ Si tocan un cristal de NaCl no se rompe, uno de proteína sí (**no lo toquen**) + Si sube o baja la T, el cristal **explota** + Si el cristal es muy grande, la gravedad hará que se **rompa** + Los rayos X queman, hay que mantener frío el cristal para minimizar el daño + La humedad puede crear cristales de hielo, y ya no veremos nuestro cristal --- # Rayos X Obtenemos el patrón de difracción y la posición de las nubes electrónicas -- #### ¿Cuáles son los átomos que más comúnmente encontramos en una proteína? -- + **H** no suele aparecer, -- solo tiene un electrón y usualmente se lo roban
-- + Las cosas con muchos electrones se ven bien -- + También se ve bien el enlace peptídico ya que presenta resonancia <img src="imgs/clase_3/resonancia_aa.png" width="350px" style="display: block; margin: auto;" /> -- + Algo que se ve muy bien es el cobre --- #### Pensando en que cosas con resonancia se ven bonito, ¿qué aminoácidos deberían verse muy bien? https://wou.edu/chemistry/files/2019/07/20-Common-Amino-Acids-v2.pdf [X-ray Protein Crystallography ](https://phys.libretexts.org/Courses/University_of_California_Davis/UCD%3A_Biophysics_200A_-_Current_Techniques_in_Biophysics/X-ray_Protein_Crystallography) <img src="imgs/clase_3/F2.large.jpg" width="350px" style="display: block; margin: auto;" /> --- # Estructura 3D proteína <iframe width="560" height="315" src="https://www.youtube.com/embed/j4HgLf_eJoc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- # Real-Time Observation of Nonclassical Protein Crystallization Kinetics Sauter, Andrea, *et al.* (2015) <video width="560" height="315" controls> <source src="https://s3-eu-west-1.amazonaws.com/ppreviews-acs-4898564/3845914/video_preview.mp4" type="video/mp4"> </video> --- # Resonancia Magnética Nuclear <iframe width="560" height="315" src="https://www.youtube.com/embed/RZLew6Ff-JE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> + No funciona bien en moléculas de más de 25kDa, y la mayoría de estructuras que no se conocen son más grandes --- # Química Dorothy Mary Crowfoot Hodgkin Great Medical Discoveries: Dorothy Hodgkin and the Structure of Penicillin https://www.youtube.com/watch?v=1LitdoIAJ0k Photo from the Nobel Foundation archive. <img src="https://www.nobelprize.org/images/hodgkin-13170-portrait-mini-2x.jpg" width="350px" style="display: block; margin: auto;" /> --- # Estructuras 3D <iframe width="560" height="315" src="https://www.youtube.com/embed/yF9ejcyzdfY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> --- # Protein Data Bank El Protein Data Bank (PDB) (Banco de Datos de Proteínas) es una base de datos de la estructura tridimensional de las proteínas y ácidos nucleicos. Estos datos, generalmente obtenidos mediante cristalografía de rayos X o resonancia magnética nuclear, son enviados por biólogos y bioquímicos de todo el mundo. Están bajo el dominio público y pueden ser usados libremente. --- # Metadatos Más información sobre los archivos PDB en: https://www.wwpdb.org/documentation/file-format-content/format32/v3.2.html ``` ## HEADER LECTIN 12-JUN-96 1FAT ## TITLE PHYTOHEMAGGLUTININ-L ## COMPND MOL_ID: 1; ## COMPND 2 MOLECULE: PHYTOHEMAGGLUTININ-L; ## COMPND 3 CHAIN: A, B, C, D; ## COMPND 4 SYNONYM: LEUCOAGGLUTINATING PHYTOHEMAGGLUTININ, PHA-L ## SOURCE MOL_ID: 1; ## SOURCE 2 ORGANISM_SCIENTIFIC: PHASEOLUS VULGARIS; ## SOURCE 3 ORGANISM_TAXID: 3885; ## SOURCE 4 ORGAN: SEED; ## SOURCE 5 OTHER_DETAILS: PURIFIED PHA-L WAS PURCHASED FROM SIGMA ## KEYWDS GLYCOPROTEIN, PLANT DEFENSE PROTEIN, LECTIN ## EXPDTA X-RAY DIFFRACTION ## AUTHOR T.HAMELRYCK,R.LORIS ## REVDAT 4 29-JUL-20 1FAT 1 COMPND REMARK SEQADV HETNAM ## REVDAT 4 2 1 LINK SITE ## REVDAT 3 13-JUL-11 1FAT 1 VERSN ## REVDAT 2 24-FEB-09 1FAT 1 VERSN ``` --- # Información estadística, ``` ## REMARK 3 ESD FROM SIGMAA (A) : NULL ## REMARK 3 LOW RESOLUTION CUTOFF (A) : NULL ## REMARK 3 ## REMARK 3 CROSS-VALIDATED ESTIMATED COORDINATE ERROR. ## REMARK 3 ESD FROM C-V LUZZATI PLOT (A) : NULL ## REMARK 3 ESD FROM C-V SIGMAA (A) : NULL ## REMARK 3 ## REMARK 3 RMS DEVIATIONS FROM IDEAL VALUES. ## REMARK 3 BOND LENGTHS (A) : 0.017 ## REMARK 3 BOND ANGLES (DEGREES) : 2.010 ## REMARK 3 DIHEDRAL ANGLES (DEGREES) : 28.16 ## REMARK 3 IMPROPER ANGLES (DEGREES) : 1.710 ## REMARK 3 ## REMARK 3 ISOTROPIC THERMAL MODEL : NULL ## REMARK 3 ## REMARK 3 ISOTROPIC THERMAL FACTOR RESTRAINTS. RMS SIGMA ## REMARK 3 MAIN-CHAIN BOND (A**2) : NULL ; NULL ## REMARK 3 MAIN-CHAIN ANGLE (A**2) : NULL ; NULL ## REMARK 3 SIDE-CHAIN BOND (A**2) : NULL ; NULL ``` --- # Información estructural ``` ## ATOM 6692 C SER D 170 24.571 23.305 20.087 1.00 32.49 C ## ATOM 6693 O SER D 170 24.185 24.488 20.029 1.00 37.32 O ## ATOM 6694 CB SER D 170 24.345 21.774 22.049 1.00 27.88 C ## ATOM 6695 OG SER D 170 25.509 21.032 21.812 1.00 46.44 O ## ATOM 6696 N THR D 171 25.707 22.868 19.547 1.00 31.64 N ## ATOM 6697 CA THR D 171 26.676 23.745 18.912 1.00 21.12 C ## ATOM 6698 C THR D 171 26.426 23.953 17.440 1.00 19.01 C ## ATOM 6699 O THR D 171 27.087 24.766 16.837 1.00 21.78 O ## ATOM 6700 CB THR D 171 28.057 23.154 19.029 1.00 18.70 C ## ATOM 6701 OG1 THR D 171 28.060 21.883 18.364 1.00 26.28 O ## ATOM 6702 CG2 THR D 171 28.438 22.952 20.476 1.00 14.48 C ## ATOM 6703 N ASN D 172 25.496 23.208 16.857 1.00 20.03 N ``` --- # Objeto *Structure* El Objeto Structure sigue el formato llamado SMCRA (Structure/Model/Chain/Residue/- Atom): + Un structure consiste de models + Un model consiste de chains + Un chain consiste de residues + Un residue consiste de atoms <img src="imgs/clase_3/struc.png" width="600px" style="display: block; margin: auto;" /> --- ### ¿Cómo obtener un objeto structure? Primero creamos un **objeto** `PDBParser` con un `QUIET` (evita que nos hable de posibles errores en el archivo PDB, casi todos tienen y no nos concentraremos en eso) ```{} de BIO importa PDB parser = PDB.PDBParser(QUIET=True) ``` -- Después, utilizaremos el **método** `get_structure` para obtener el **objeto** `structure`. Le pasaremos el nombre del archivo y un nombre que nosotros asignaremos ```{} obj_struc = parser.get_structure("nombre", "archivo.pdb") ``` -- Un archivo structure tendrá varios modelos si es un análisis de NMR, donde tenemos diferentes modelos de la misma estructura. De lo contrario, solo debería haber 1 modelo --- Ahora podemos ver cuántos modelos hay en este **objeto** `structure` utilizando `child_dict` o `child_list` ```{} struc.child_dict ``` <p><samp>## {llave_modelo_1 : model_id_1 (Modelo 1, de RMN)<br>## llave_modelo_2 : model_id_2 (Modelo 2, de RMN) }</samp></p> ```{} struc.child_list ``` <p><samp>## [ model_id_1 (Modelo 1, de RMN),<br>## model_id_2 (Modelo 2, de RMN)] </samp></p> --- también podemos acceder a metadatos almacenados en el **atributo** header ```{} struc.header.keys() ``` <p><samp>## dict_keys(['name', 'head', 'idcode', 'deposition_date',...])</samp></p> -- ```{} struc.header['structure_method'] ``` <p><samp>## 'x-ray diffraction' (El método que se usó para crear el modelo)</samp></p> -- ```{} struc.header['resolution'] ``` <p><samp>## 2.8 (Con cuánta resolución podemos ver el modelo)</samp></p> <img src="imgs/clase_3/F2.large.jpg" width="650px" style="display: block; margin: auto;" /> --- ### Structure **S** <img src="imgs/clase_3/1structure.png" width="180px" style="display: block; margin: auto;" /> ```python from Bio import PDB parser = PDB.PDBParser(QUIET=True) struc = parser.get_structure("prot_1fat", "./files/clase_3/1fat.pdb") struc.child_dict ``` ``` ## {0: <Model id=0>} ``` ```python struc.child_list ``` ``` ## [<Model id=0>] ``` --- ```python struc.header.keys() ``` ``` ## dict_keys(['name', 'head', 'idcode', 'deposition_date', 'release_date', 'structure_method', 'resolution', 'structure_reference', 'journal_reference', 'author', 'compound', 'source', 'has_missing_residues', 'missing_residues', 'keywords', 'journal']) ``` ```python struc.header['structure_method'] ``` ``` ## 'x-ray diffraction' ``` ```python struc.header['resolution'] ``` ``` ## 2.8 ``` ```python struc.header['source'] ``` ``` ## {'1': {'misc': '', 'organism_scientific': 'phaseolus vulgaris', 'organism_taxid': '3885', 'organ': 'seed', 'other_details': 'purified pha-l was purchased from sigma'}} ``` ```python struc.header['journal'] ``` ``` ## 'AUTH T.W.HAMELRYCK,M.H.DAO-THI,F.POORTMANS,M.J.CHRISPEELS,L.WYNS,AUTH 2 R.LORISTITL THE CRYSTALLOGRAPHIC STRUCTURE OF PHYTOHEMAGGLUTININ-L.REF J.BIOL.CHEM. V. 271 20479 1996REFN ISSN 0021-9258PMID 8702788DOI 10.1074/JBC.271.34.20479' ``` --- # <span style="color:Plum">Ejercicio 1</span> #### <span style="color:Orchid">Crear un objeto structure con el archivo 1kcw.pdb e imprimir el método con el que se creó el modelo y su resolución</span> ```{} de BIO importa PDB parser = PDB.PDBParser(QUIET=True) obj_struc = parser.get_structure("nombre", "archivo.pdb") struc.atributo_metadato['método de estructura'] struc.atributo_metadato['resolución'] ``` --- ## Model **M** <img src="imgs/clase_3/2model.png" width="180px" style="display: block; margin: auto;" /> Para acceder a los modelos podemos iterar en el objeto `structure` ```{} Para Cada modelo en obj_structure: Imprime(modelo) ``` <p><samp>## Model id=0 <br>## Model id=1 </samp></p> O acceder como diccionario ```{} modelo = obj_structure[0] ``` --- Al igual que para el **objeto** `structure`, podemos ver el siguiente nivel almacenado utilizando `child_dict` o `child_list` ```{} modelo.child_dict ``` <p><samp>## {'A' : obj_Cadena_A <br>## 'B' obj_Cadena_B }</samp></p> ```{} modelo.child_list ``` <p><samp>## [obj_Cadena_A, obj_Cadena_B]</samp></p> --- Accedemos al modelo ```python for model in struc: print(model) ``` ``` ## <Model id=0> ``` ```python model = struc[0] ``` ``` ## <Model id=0> ``` Vemos la información almacenada ```python model.child_dict ``` ``` ## {'A': <Chain id=A>, 'B': <Chain id=B>, 'C': <Chain id=C>, 'D': <Chain id=D>} ``` ```python model.child_list ``` ``` ## [<Chain id=A>, <Chain id=B>, <Chain id=C>, <Chain id=D>] ``` --- ### Chain **C** <img src="imgs/clase_3/3chain.png" width="180px" style="display: block; margin: auto;" /> Para acceder a las cadenas podemos iterar en el objeto `model` ```{} Para Cada cadena en obj_model: Imprime(cadena) ``` <p><samp>## Chain id=A <br>## Chain id=B </samp></p> También podemos acceder como diccionario ```{} cadena = obj_model['A'] ``` o como lista ```{} cadena = obj_model.child_list[0] ``` --- Al igual que para los objetos anteriores, podemos ver el siguiente nivel almacenado utilizando `child_dict` o `child_list`. Sin embargo, las llaves de child_dict contienen información en la que no ahondaremos pero pueden ver en https://biopython.org/wiki/The_Biopython_Structural_Bioinformatics_FAQ (**What is a residue id**) **Aquí la lista inicia en 1** ```{} cadena.child_list ``` <p><samp>## [(Valina , 1, ...), (Leucina, 2, ...) ]</samp></p> --- Accedemos a una cadena: ```python for chain in model: print(chain) ``` ``` ## <Chain id=A> ## <Chain id=B> ## <Chain id=C> ## <Chain id=D> ``` ```python chain = model['A'] ``` ``` ## <Chain id=A> ``` ```python chain = model.child_list[0] ``` ``` ## <Chain id=A> ``` --- Vemos la información almacenada ```python chain.child_list ``` ``` ## [<Residue SER het= resseq=1 icode= >, <Residue ASN het= resseq=2 icode= >, <Residue ASP het= resseq=3 icode= >, <Residue ILE het= resseq=4 icode= >, <Residue TYR het= resseq=5 icode= >, <Residue PHE het= resseq=6 icode= >, <Residue ASN het= resseq=7 icode= >, <Residue PHE het= resseq=8 icode= >, <Residue GLN het= resseq=9 icode= >, <Residue ARG het= resseq=10 icode= >, <Residue PHE het= resseq=11 icode= >, <Residue ASN het= resseq=12 icode= >, <Residue GLU het= resseq=13 icode= >, <Residue THR het= resseq=14 icode= >, <Residue ASN het= resseq=15 icode= >, <Residue LEU het= resseq=16 icode= >, <Residue ILE het= resseq=17 icode= >, <Residue LEU het= resseq=18 icode= >, <Residue GLN het= resseq=19 icode= >, <Residue ARG het= resseq=20 icode= >, <Residue ASP het= resseq=21 icode= >, <Residue ALA het= resseq=22 icode= >, <Residue SER het= resseq=23 icode= >, <Residue VAL het= resseq=24 icode= >, <Residue SER het= resseq=25 icode= >, <Residue SER het= resseq=26 icode= >, <Residue SER het= resseq=27 icode= >, <Residue GLY het= resseq=28 icode= >, <Residue GLN het= resseq=29 icode= >, <Residue LEU het= resseq=30 icode= >, <Residue ARG het= resseq=31 icode= >, <Residue LEU het= resseq=32 icode= >, <Residue THR het= resseq=33 icode= >, <Residue ASN het= resseq=34 icode= >, <Residue LEU het= resseq=35 icode= >, <Residue ASN het= resseq=36 icode= >, <Residue ASN het= resseq=38 icode= >, <Residue GLY het= resseq=39 icode= >, <Residue GLU het= resseq=40 icode= >, <Residue PRO het= resseq=41 icode= >, <Residue ARG het= resseq=42 icode= >, <Residue VAL het= resseq=43 icode= >, <Residue GLY het= resseq=44 icode= >, <Residue SER het= resseq=45 icode= >, <Residue LEU het= resseq=46 icode= >, <Residue GLY het= resseq=47 icode= >, <Residue ARG het= resseq=48 icode= >, <Residue ALA het= resseq=49 icode= >, <Residue PHE het= resseq=50 icode= >, <Residue TYR het= resseq=51 icode= >, <Residue SER het= resseq=52 icode= >, <Residue ALA het= resseq=53 icode= >, <Residue PRO het= resseq=54 icode= >, <Residue ILE het= resseq=55 icode= >, <Residue GLN het= resseq=56 icode= >, <Residue ILE het= resseq=57 icode= >, <Residue TRP het= resseq=58 icode= >, <Residue ASP het= resseq=59 icode= >, <Residue ASN het= resseq=60 icode= >, <Residue THR het= resseq=61 icode= >, <Residue THR het= resseq=62 icode= >, <Residue GLY het= resseq=63 icode= >, <Residue THR het= resseq=64 icode= >, <Residue VAL het= resseq=65 icode= >, <Residue ALA het= resseq=66 icode= >, <Residue SER het= resseq=67 icode= >, <Residue PHE het= resseq=68 icode= >, <Residue ALA het= resseq=69 icode= >, <Residue THR het= resseq=70 icode= >, <Residue SER het= resseq=71 icode= >, <Residue PHE het= resseq=72 icode= >, <Residue THR het= resseq=73 icode= >, <Residue PHE het= resseq=74 icode= >, <Residue ASN het= resseq=75 icode= >, <Residue ILE het= resseq=76 icode= >, <Residue GLN het= resseq=77 icode= >, <Residue VAL het= resseq=78 icode= >, <Residue PRO het= resseq=79 icode= >, <Residue ASN het= resseq=80 icode= >, <Residue ASN het= resseq=81 icode= >, <Residue ALA het= resseq=82 icode= >, <Residue GLY het= resseq=83 icode= >, <Residue PRO het= resseq=84 icode= >, <Residue ALA het= resseq=85 icode= >, <Residue ASP het= resseq=86 icode= >, <Residue GLY het= resseq=87 icode= >, <Residue LEU het= resseq=88 icode= >, <Residue ALA het= resseq=89 icode= >, <Residue PHE het= resseq=90 icode= >, <Residue ALA het= resseq=91 icode= >, <Residue LEU het= resseq=92 icode= >, <Residue VAL het= resseq=93 icode= >, <Residue PRO het= resseq=94 icode= >, <Residue VAL het= resseq=95 icode= >, <Residue GLY het= resseq=96 icode= >, <Residue SER het= resseq=97 icode= >, <Residue GLN het= resseq=98 icode= >, <Residue PRO het= resseq=99 icode= >, <Residue LYS het= resseq=100 icode= >, <Residue ASP het= resseq=101 icode= >, <Residue LYS het= resseq=102 icode= >, <Residue GLY het= resseq=103 icode= >, <Residue GLY het= resseq=104 icode= >, <Residue PHE het= resseq=105 icode= >, <Residue LEU het= resseq=106 icode= >, <Residue GLY het= resseq=107 icode= >, <Residue LEU het= resseq=108 icode= >, <Residue PHE het= resseq=109 icode= >, <Residue ASP het= resseq=110 icode= >, <Residue GLY het= resseq=111 icode= >, <Residue SER het= resseq=112 icode= >, <Residue ASN het= resseq=113 icode= >, <Residue SER het= resseq=114 icode= >, <Residue ASN het= resseq=115 icode= >, <Residue PHE het= resseq=116 icode= >, <Residue HIS het= resseq=117 icode= >, <Residue THR het= resseq=118 icode= >, <Residue VAL het= resseq=119 icode= >, <Residue ALA het= resseq=120 icode= >, <Residue VAL het= resseq=121 icode= >, <Residue GLU het= resseq=122 icode= >, <Residue PHE het= resseq=123 icode= >, <Residue ASP het= resseq=124 icode= >, <Residue THR het= resseq=125 icode= >, <Residue LEU het= resseq=126 icode= >, <Residue TYR het= resseq=127 icode= >, <Residue ASN het= resseq=128 icode= >, <Residue LYS het= resseq=129 icode= >, <Residue ASP het= resseq=130 icode= >, <Residue TRP het= resseq=131 icode= >, <Residue ASP het= resseq=132 icode= >, <Residue PRO het= resseq=133 icode= >, <Residue THR het= resseq=134 icode= >, <Residue GLU het= resseq=135 icode= >, <Residue ARG het= resseq=136 icode= >, <Residue HIS het= resseq=137 icode= >, <Residue ILE het= resseq=138 icode= >, <Residue GLY het= resseq=139 icode= >, <Residue ILE het= resseq=140 icode= >, <Residue ASP het= resseq=141 icode= >, <Residue VAL het= resseq=142 icode= >, <Residue ASN het= resseq=143 icode= >, <Residue SER het= resseq=144 icode= >, <Residue ILE het= resseq=145 icode= >, <Residue ARG het= resseq=146 icode= >, <Residue SER het= resseq=147 icode= >, <Residue ILE het= resseq=148 icode= >, <Residue LYS het= resseq=149 icode= >, <Residue THR het= resseq=150 icode= >, <Residue THR het= resseq=151 icode= >, <Residue ARG het= resseq=152 icode= >, <Residue TRP het= resseq=153 icode= >, <Residue ASP het= resseq=154 icode= >, <Residue PHE het= resseq=155 icode= >, <Residue VAL het= resseq=156 icode= >, <Residue ASN het= resseq=157 icode= >, <Residue GLY het= resseq=158 icode= >, <Residue GLU het= resseq=159 icode= >, <Residue ASN het= resseq=160 icode= >, <Residue ALA het= resseq=161 icode= >, <Residue GLU het= resseq=162 icode= >, <Residue VAL het= resseq=163 icode= >, <Residue LEU het= resseq=164 icode= >, <Residue ILE het= resseq=165 icode= >, <Residue THR het= resseq=166 icode= >, <Residue TYR het= resseq=167 icode= >, <Residue ASP het= resseq=168 icode= >, <Residue SER het= resseq=169 icode= >, <Residue SER het= resseq=170 icode= >, <Residue THR het= resseq=171 icode= >, <Residue ASN het= resseq=172 icode= >, <Residue LEU het= resseq=173 icode= >, <Residue LEU het= resseq=174 icode= >, <Residue VAL het= resseq=175 icode= >, <Residue ALA het= resseq=176 icode= >, <Residue SER het= resseq=177 icode= >, <Residue LEU het= resseq=178 icode= >, <Residue VAL het= resseq=179 icode= >, <Residue TYR het= resseq=180 icode= >, <Residue PRO het= resseq=181 icode= >, <Residue SER het= resseq=182 icode= >, <Residue GLN het= resseq=183 icode= >, <Residue LYS het= resseq=184 icode= >, <Residue THR het= resseq=185 icode= >, <Residue SER het= resseq=186 icode= >, <Residue PHE het= resseq=187 icode= >, <Residue ILE het= resseq=188 icode= >, <Residue VAL het= resseq=189 icode= >, <Residue SER het= resseq=190 icode= >, <Residue ASP het= resseq=191 icode= >, <Residue THR het= resseq=192 icode= >, <Residue VAL het= resseq=193 icode= >, <Residue ASP het= resseq=194 icode= >, <Residue LEU het= resseq=195 icode= >, <Residue LYS het= resseq=196 icode= >, <Residue SER het= resseq=197 icode= >, <Residue VAL het= resseq=198 icode= >, <Residue LEU het= resseq=199 icode= >, <Residue PRO het= resseq=200 icode= >, <Residue GLU het= resseq=201 icode= >, <Residue TRP het= resseq=202 icode= >, <Residue VAL het= resseq=203 icode= >, <Residue SER het= resseq=204 icode= >, <Residue VAL het= resseq=205 icode= >, <Residue GLY het= resseq=206 icode= >, <Residue PHE het= resseq=207 icode= >, <Residue SER het= resseq=208 icode= >, <Residue ALA het= resseq=209 icode= >, <Residue THR het= resseq=210 icode= >, <Residue THR het= resseq=211 icode= >, <Residue GLY het= resseq=212 icode= >, <Residue ILE het= resseq=213 icode= >, <Residue ASN het= resseq=214 icode= >, <Residue LYS het= resseq=215 icode= >, <Residue GLY het= resseq=216 icode= >, <Residue ASN het= resseq=217 icode= >, <Residue VAL het= resseq=218 icode= >, <Residue GLU het= resseq=219 icode= >, <Residue THR het= resseq=220 icode= >, <Residue ASN het= resseq=221 icode= >, <Residue ASP het= resseq=222 icode= >, <Residue VAL het= resseq=223 icode= >, <Residue LEU het= resseq=224 icode= >, <Residue SER het= resseq=225 icode= >, <Residue TRP het= resseq=226 icode= >, <Residue SER het= resseq=227 icode= >, <Residue PHE het= resseq=228 icode= >, <Residue ALA het= resseq=229 icode= >, <Residue SER het= resseq=230 icode= >, <Residue LYS het= resseq=231 icode= >, <Residue LEU het= resseq=232 icode= >, <Residue SER het= resseq=233 icode= >, <Residue NAG het=H_NAG resseq=253 icode= >, <Residue MN het=H_MN resseq=254 icode= >, <Residue CA het=H_CA resseq=255 icode= >, <Residue HOH het=W resseq=305 icode= >, <Residue HOH het=W resseq=306 icode= >, <Residue HOH het=W resseq=307 icode= >, <Residue HOH het=W resseq=308 icode= >] ``` ```python chain.child_dict ``` ``` ## {(' ', 1, ' '): <Residue SER het= resseq=1 icode= >, (' ', 2, ' '): <Residue ASN het= resseq=2 icode= >, (' ', 3, ' '): <Residue ASP het= resseq=3 icode= >, (' ', 4, ' '): <Residue ILE het= resseq=4 icode= >, (' ', 5, ' '): <Residue TYR het= resseq=5 icode= >, (' ', 6, ' '): <Residue PHE het= resseq=6 icode= >, (' ', 7, ' '): <Residue ASN het= resseq=7 icode= >, (' ', 8, ' '): <Residue PHE het= resseq=8 icode= >, (' ', 9, ' '): <Residue GLN het= resseq=9 icode= >, (' ', 10, ' '): <Residue ARG het= resseq=10 icode= >, (' ', 11, ' '): <Residue PHE het= resseq=11 icode= >, (' ', 12, ' '): <Residue ASN het= resseq=12 icode= >, (' ', 13, ' '): <Residue GLU het= resseq=13 icode= >, (' ', 14, ' '): <Residue THR het= resseq=14 icode= >, (' ', 15, ' '): <Residue ASN het= resseq=15 icode= >, (' ', 16, ' '): <Residue LEU het= resseq=16 icode= >, (' ', 17, ' '): <Residue ILE het= resseq=17 icode= >, (' ', 18, ' '): <Residue LEU het= resseq=18 icode= >, (' ', 19, ' '): <Residue GLN het= resseq=19 icode= >, (' ', 20, ' '): <Residue ARG het= resseq=20 icode= >, (' ', 21, ' '): <Residue ASP het= resseq=21 icode= >, (' ', 22, ' '): <Residue ALA het= resseq=22 icode= >, (' ', 23, ' '): <Residue SER het= resseq=23 icode= >, (' ', 24, ' '): <Residue VAL het= resseq=24 icode= >, (' ', 25, ' '): <Residue SER het= resseq=25 icode= >, (' ', 26, ' '): <Residue SER het= resseq=26 icode= >, (' ', 27, ' '): <Residue SER het= resseq=27 icode= >, (' ', 28, ' '): <Residue GLY het= resseq=28 icode= >, (' ', 29, ' '): <Residue GLN het= resseq=29 icode= >, (' ', 30, ' '): <Residue LEU het= resseq=30 icode= >, (' ', 31, ' '): <Residue ARG het= resseq=31 icode= >, (' ', 32, ' '): <Residue LEU het= resseq=32 icode= >, (' ', 33, ' '): <Residue THR het= resseq=33 icode= >, (' ', 34, ' '): <Residue ASN het= resseq=34 icode= >, (' ', 35, ' '): <Residue LEU het= resseq=35 icode= >, (' ', 36, ' '): <Residue ASN het= resseq=36 icode= >, (' ', 38, ' '): <Residue ASN het= resseq=38 icode= >, (' ', 39, ' '): <Residue GLY het= resseq=39 icode= >, (' ', 40, ' '): <Residue GLU het= resseq=40 icode= >, (' ', 41, ' '): <Residue PRO het= resseq=41 icode= >, (' ', 42, ' '): <Residue ARG het= resseq=42 icode= >, (' ', 43, ' '): <Residue VAL het= resseq=43 icode= >, (' ', 44, ' '): <Residue GLY het= resseq=44 icode= >, (' ', 45, ' '): <Residue SER het= resseq=45 icode= >, (' ', 46, ' '): <Residue LEU het= resseq=46 icode= >, (' ', 47, ' '): <Residue GLY het= resseq=47 icode= >, (' ', 48, ' '): <Residue ARG het= resseq=48 icode= >, (' ', 49, ' '): <Residue ALA het= resseq=49 icode= >, (' ', 50, ' '): <Residue PHE het= resseq=50 icode= >, (' ', 51, ' '): <Residue TYR het= resseq=51 icode= >, (' ', 52, ' '): <Residue SER het= resseq=52 icode= >, (' ', 53, ' '): <Residue ALA het= resseq=53 icode= >, (' ', 54, ' '): <Residue PRO het= resseq=54 icode= >, (' ', 55, ' '): <Residue ILE het= resseq=55 icode= >, (' ', 56, ' '): <Residue GLN het= resseq=56 icode= >, (' ', 57, ' '): <Residue ILE het= resseq=57 icode= >, (' ', 58, ' '): <Residue TRP het= resseq=58 icode= >, (' ', 59, ' '): <Residue ASP het= resseq=59 icode= >, (' ', 60, ' '): <Residue ASN het= resseq=60 icode= >, (' ', 61, ' '): <Residue THR het= resseq=61 icode= >, (' ', 62, ' '): <Residue THR het= resseq=62 icode= >, (' ', 63, ' '): <Residue GLY het= resseq=63 icode= >, (' ', 64, ' '): <Residue THR het= resseq=64 icode= >, (' ', 65, ' '): <Residue VAL het= resseq=65 icode= >, (' ', 66, ' '): <Residue ALA het= resseq=66 icode= >, (' ', 67, ' '): <Residue SER het= resseq=67 icode= >, (' ', 68, ' '): <Residue PHE het= resseq=68 icode= >, (' ', 69, ' '): <Residue ALA het= resseq=69 icode= >, (' ', 70, ' '): <Residue THR het= resseq=70 icode= >, (' ', 71, ' '): <Residue SER het= resseq=71 icode= >, (' ', 72, ' '): <Residue PHE het= resseq=72 icode= >, (' ', 73, ' '): <Residue THR het= resseq=73 icode= >, (' ', 74, ' '): <Residue PHE het= resseq=74 icode= >, (' ', 75, ' '): <Residue ASN het= resseq=75 icode= >, (' ', 76, ' '): <Residue ILE het= resseq=76 icode= >, (' ', 77, ' '): <Residue GLN het= resseq=77 icode= >, (' ', 78, ' '): <Residue VAL het= resseq=78 icode= >, (' ', 79, ' '): <Residue PRO het= resseq=79 icode= >, (' ', 80, ' '): <Residue ASN het= resseq=80 icode= >, (' ', 81, ' '): <Residue ASN het= resseq=81 icode= >, (' ', 82, ' '): <Residue ALA het= resseq=82 icode= >, (' ', 83, ' '): <Residue GLY het= resseq=83 icode= >, (' ', 84, ' '): <Residue PRO het= resseq=84 icode= >, (' ', 85, ' '): <Residue ALA het= resseq=85 icode= >, (' ', 86, ' '): <Residue ASP het= resseq=86 icode= >, (' ', 87, ' '): <Residue GLY het= resseq=87 icode= >, (' ', 88, ' '): <Residue LEU het= resseq=88 icode= >, (' ', 89, ' '): <Residue ALA het= resseq=89 icode= >, (' ', 90, ' '): <Residue PHE het= resseq=90 icode= >, (' ', 91, ' '): <Residue ALA het= resseq=91 icode= >, (' ', 92, ' '): <Residue LEU het= resseq=92 icode= >, (' ', 93, ' '): <Residue VAL het= resseq=93 icode= >, (' ', 94, ' '): <Residue PRO het= resseq=94 icode= >, (' ', 95, ' '): <Residue VAL het= resseq=95 icode= >, (' ', 96, ' '): <Residue GLY het= resseq=96 icode= >, (' ', 97, ' '): <Residue SER het= resseq=97 icode= >, (' ', 98, ' '): <Residue GLN het= resseq=98 icode= >, (' ', 99, ' '): <Residue PRO het= resseq=99 icode= >, (' ', 100, ' '): <Residue LYS het= resseq=100 icode= >, (' ', 101, ' '): <Residue ASP het= resseq=101 icode= >, (' ', 102, ' '): <Residue LYS het= resseq=102 icode= >, (' ', 103, ' '): <Residue GLY het= resseq=103 icode= >, (' ', 104, ' '): <Residue GLY het= resseq=104 icode= >, (' ', 105, ' '): <Residue PHE het= resseq=105 icode= >, (' ', 106, ' '): <Residue LEU het= resseq=106 icode= >, (' ', 107, ' '): <Residue GLY het= resseq=107 icode= >, (' ', 108, ' '): <Residue LEU het= resseq=108 icode= >, (' ', 109, ' '): <Residue PHE het= resseq=109 icode= >, (' ', 110, ' '): <Residue ASP het= resseq=110 icode= >, (' ', 111, ' '): <Residue GLY het= resseq=111 icode= >, (' ', 112, ' '): <Residue SER het= resseq=112 icode= >, (' ', 113, ' '): <Residue ASN het= resseq=113 icode= >, (' ', 114, ' '): <Residue SER het= resseq=114 icode= >, (' ', 115, ' '): <Residue ASN het= resseq=115 icode= >, (' ', 116, ' '): <Residue PHE het= resseq=116 icode= >, (' ', 117, ' '): <Residue HIS het= resseq=117 icode= >, (' ', 118, ' '): <Residue THR het= resseq=118 icode= >, (' ', 119, ' '): <Residue VAL het= resseq=119 icode= >, (' ', 120, ' '): <Residue ALA het= resseq=120 icode= >, (' ', 121, ' '): <Residue VAL het= resseq=121 icode= >, (' ', 122, ' '): <Residue GLU het= resseq=122 icode= >, (' ', 123, ' '): <Residue PHE het= resseq=123 icode= >, (' ', 124, ' '): <Residue ASP het= resseq=124 icode= >, (' ', 125, ' '): <Residue THR het= resseq=125 icode= >, (' ', 126, ' '): <Residue LEU het= resseq=126 icode= >, (' ', 127, ' '): <Residue TYR het= resseq=127 icode= >, (' ', 128, ' '): <Residue ASN het= resseq=128 icode= >, (' ', 129, ' '): <Residue LYS het= resseq=129 icode= >, (' ', 130, ' '): <Residue ASP het= resseq=130 icode= >, (' ', 131, ' '): <Residue TRP het= resseq=131 icode= >, (' ', 132, ' '): <Residue ASP het= resseq=132 icode= >, (' ', 133, ' '): <Residue PRO het= resseq=133 icode= >, (' ', 134, ' '): <Residue THR het= resseq=134 icode= >, (' ', 135, ' '): <Residue GLU het= resseq=135 icode= >, (' ', 136, ' '): <Residue ARG het= resseq=136 icode= >, (' ', 137, ' '): <Residue HIS het= resseq=137 icode= >, (' ', 138, ' '): <Residue ILE het= resseq=138 icode= >, (' ', 139, ' '): <Residue GLY het= resseq=139 icode= >, (' ', 140, ' '): <Residue ILE het= resseq=140 icode= >, (' ', 141, ' '): <Residue ASP het= resseq=141 icode= >, (' ', 142, ' '): <Residue VAL het= resseq=142 icode= >, (' ', 143, ' '): <Residue ASN het= resseq=143 icode= >, (' ', 144, ' '): <Residue SER het= resseq=144 icode= >, (' ', 145, ' '): <Residue ILE het= resseq=145 icode= >, (' ', 146, ' '): <Residue ARG het= resseq=146 icode= >, (' ', 147, ' '): <Residue SER het= resseq=147 icode= >, (' ', 148, ' '): <Residue ILE het= resseq=148 icode= >, (' ', 149, ' '): <Residue LYS het= resseq=149 icode= >, (' ', 150, ' '): <Residue THR het= resseq=150 icode= >, (' ', 151, ' '): <Residue THR het= resseq=151 icode= >, (' ', 152, ' '): <Residue ARG het= resseq=152 icode= >, (' ', 153, ' '): <Residue TRP het= resseq=153 icode= >, (' ', 154, ' '): <Residue ASP het= resseq=154 icode= >, (' ', 155, ' '): <Residue PHE het= resseq=155 icode= >, (' ', 156, ' '): <Residue VAL het= resseq=156 icode= >, (' ', 157, ' '): <Residue ASN het= resseq=157 icode= >, (' ', 158, ' '): <Residue GLY het= resseq=158 icode= >, (' ', 159, ' '): <Residue GLU het= resseq=159 icode= >, (' ', 160, ' '): <Residue ASN het= resseq=160 icode= >, (' ', 161, ' '): <Residue ALA het= resseq=161 icode= >, (' ', 162, ' '): <Residue GLU het= resseq=162 icode= >, (' ', 163, ' '): <Residue VAL het= resseq=163 icode= >, (' ', 164, ' '): <Residue LEU het= resseq=164 icode= >, (' ', 165, ' '): <Residue ILE het= resseq=165 icode= >, (' ', 166, ' '): <Residue THR het= resseq=166 icode= >, (' ', 167, ' '): <Residue TYR het= resseq=167 icode= >, (' ', 168, ' '): <Residue ASP het= resseq=168 icode= >, (' ', 169, ' '): <Residue SER het= resseq=169 icode= >, (' ', 170, ' '): <Residue SER het= resseq=170 icode= >, (' ', 171, ' '): <Residue THR het= resseq=171 icode= >, (' ', 172, ' '): <Residue ASN het= resseq=172 icode= >, (' ', 173, ' '): <Residue LEU het= resseq=173 icode= >, (' ', 174, ' '): <Residue LEU het= resseq=174 icode= >, (' ', 175, ' '): <Residue VAL het= resseq=175 icode= >, (' ', 176, ' '): <Residue ALA het= resseq=176 icode= >, (' ', 177, ' '): <Residue SER het= resseq=177 icode= >, (' ', 178, ' '): <Residue LEU het= resseq=178 icode= >, (' ', 179, ' '): <Residue VAL het= resseq=179 icode= >, (' ', 180, ' '): <Residue TYR het= resseq=180 icode= >, (' ', 181, ' '): <Residue PRO het= resseq=181 icode= >, (' ', 182, ' '): <Residue SER het= resseq=182 icode= >, (' ', 183, ' '): <Residue GLN het= resseq=183 icode= >, (' ', 184, ' '): <Residue LYS het= resseq=184 icode= >, (' ', 185, ' '): <Residue THR het= resseq=185 icode= >, (' ', 186, ' '): <Residue SER het= resseq=186 icode= >, (' ', 187, ' '): <Residue PHE het= resseq=187 icode= >, (' ', 188, ' '): <Residue ILE het= resseq=188 icode= >, (' ', 189, ' '): <Residue VAL het= resseq=189 icode= >, (' ', 190, ' '): <Residue SER het= resseq=190 icode= >, (' ', 191, ' '): <Residue ASP het= resseq=191 icode= >, (' ', 192, ' '): <Residue THR het= resseq=192 icode= >, (' ', 193, ' '): <Residue VAL het= resseq=193 icode= >, (' ', 194, ' '): <Residue ASP het= resseq=194 icode= >, (' ', 195, ' '): <Residue LEU het= resseq=195 icode= >, (' ', 196, ' '): <Residue LYS het= resseq=196 icode= >, (' ', 197, ' '): <Residue SER het= resseq=197 icode= >, (' ', 198, ' '): <Residue VAL het= resseq=198 icode= >, (' ', 199, ' '): <Residue LEU het= resseq=199 icode= >, (' ', 200, ' '): <Residue PRO het= resseq=200 icode= >, (' ', 201, ' '): <Residue GLU het= resseq=201 icode= >, (' ', 202, ' '): <Residue TRP het= resseq=202 icode= >, (' ', 203, ' '): <Residue VAL het= resseq=203 icode= >, (' ', 204, ' '): <Residue SER het= resseq=204 icode= >, (' ', 205, ' '): <Residue VAL het= resseq=205 icode= >, (' ', 206, ' '): <Residue GLY het= resseq=206 icode= >, (' ', 207, ' '): <Residue PHE het= resseq=207 icode= >, (' ', 208, ' '): <Residue SER het= resseq=208 icode= >, (' ', 209, ' '): <Residue ALA het= resseq=209 icode= >, (' ', 210, ' '): <Residue THR het= resseq=210 icode= >, (' ', 211, ' '): <Residue THR het= resseq=211 icode= >, (' ', 212, ' '): <Residue GLY het= resseq=212 icode= >, (' ', 213, ' '): <Residue ILE het= resseq=213 icode= >, (' ', 214, ' '): <Residue ASN het= resseq=214 icode= >, (' ', 215, ' '): <Residue LYS het= resseq=215 icode= >, (' ', 216, ' '): <Residue GLY het= resseq=216 icode= >, (' ', 217, ' '): <Residue ASN het= resseq=217 icode= >, (' ', 218, ' '): <Residue VAL het= resseq=218 icode= >, (' ', 219, ' '): <Residue GLU het= resseq=219 icode= >, (' ', 220, ' '): <Residue THR het= resseq=220 icode= >, (' ', 221, ' '): <Residue ASN het= resseq=221 icode= >, (' ', 222, ' '): <Residue ASP het= resseq=222 icode= >, (' ', 223, ' '): <Residue VAL het= resseq=223 icode= >, (' ', 224, ' '): <Residue LEU het= resseq=224 icode= >, (' ', 225, ' '): <Residue SER het= resseq=225 icode= >, (' ', 226, ' '): <Residue TRP het= resseq=226 icode= >, (' ', 227, ' '): <Residue SER het= resseq=227 icode= >, (' ', 228, ' '): <Residue PHE het= resseq=228 icode= >, (' ', 229, ' '): <Residue ALA het= resseq=229 icode= >, (' ', 230, ' '): <Residue SER het= resseq=230 icode= >, (' ', 231, ' '): <Residue LYS het= resseq=231 icode= >, (' ', 232, ' '): <Residue LEU het= resseq=232 icode= >, (' ', 233, ' '): <Residue SER het= resseq=233 icode= >, ('H_NAG', 253, ' '): <Residue NAG het=H_NAG resseq=253 icode= >, ('H_MN', 254, ' '): <Residue MN het=H_MN resseq=254 icode= >, ('H_CA', 255, ' '): <Residue CA het=H_CA resseq=255 icode= >, ('W', 305, ' '): <Residue HOH het=W resseq=305 icode= >, ('W', 306, ' '): <Residue HOH het=W resseq=306 icode= >, ('W', 307, ' '): <Residue HOH het=W resseq=307 icode= >, ('W', 308, ' '): <Residue HOH het=W resseq=308 icode= >} ``` --- ## Residue **R** <img src="imgs/clase_3/4residue.png" width="180px" style="display: block; margin: auto;" /> Para acceder a las cadenas podemos iterar en el objeto `cadena` ```{} Para Cada residuo en obj_cadena: Imprime(residuo) ``` <p><samp>## (Valina, 1, ...) <br>## (Leucina, 2, ...) </samp></p> O como una lista con el número de residuo (pensando en que la lista inicia en **1**) ```{} residuo = cadena[1] ``` <p><samp>## (Valina, 1, ...) </samp></p> --- Podemos obtener su ID de residuo (número de residuo) con el segundo elemento de get_id(). ```{} residuo.get_id()[1] ``` Si queremos obtener el nombre del residuo, utilizamos la función `get_resname` que nos dará el nombre del residuo en el código de 3 letras: 'ALA', 'ARG', etc. ```{} residuo.get_resname() ``` <p><samp>## 'CYS' </samp></p> De esta manera podríamos buscar cada residuo que nos interesa en la cadena: ```{} Para Cada residuo en obj_cadena: Si residuo.get_resname() es 'CYS': imprime(residuo) ``` <p><samp>## (CYS, 5, ...) <br> ## (CYS, 49, ...)</samp></p> --- Accedemos ```python for residue in chain: print(residue) ``` ``` ## <Residue SER het= resseq=1 icode= > ## <Residue ASN het= resseq=2 icode= > ``` Como lista empieza en **1** ```python residue = chain[1] ``` ``` ## <Residue SER het= resseq=1 icode= > ``` --- Información ```python # ID residue.get_id()[1] # Nombre en código de 3 letras ``` ``` ## 1 ``` ```python residue.get_resname() ``` ``` ## 'SER' ``` Ubicar un residuo que nos interesa ```python for residue in chain: if residue.get_resname() == "PHE": print(residue) ``` ``` ## <Residue PHE het= resseq=6 icode= > ## <Residue PHE het= resseq=8 icode= > ## <Residue PHE het= resseq=11 icode= > ## <Residue PHE het= resseq=50 icode= > ## <Residue PHE het= resseq=68 icode= > ## <Residue PHE het= resseq=72 icode= > ## <Residue PHE het= resseq=74 icode= > ## <Residue PHE het= resseq=90 icode= > ## <Residue PHE het= resseq=105 icode= > ## <Residue PHE het= resseq=109 icode= > ## <Residue PHE het= resseq=116 icode= > ## <Residue PHE het= resseq=123 icode= > ## <Residue PHE het= resseq=155 icode= > ## <Residue PHE het= resseq=187 icode= > ## <Residue PHE het= resseq=207 icode= > ## <Residue PHE het= resseq=228 icode= > ``` --- # <span style="color:Plum">Ejercicio 2</span> #### <span style="color:Orchid">Guardar en una lista todas las cisteínas de la cadena A del archivo 1kcw.pdb</span> ```{} > cys_A = [] > Para Cada residuo En cadena_A: Si residuo Es 'cisteína': cys_A.append(residuo) ``` --- Al igual que para los objetos anteriores, podemos ver el siguiente nivel almacenado utilizando `child_dict` o `child_list`. ```{} residuo.child_list ``` <p><samp>## [átomo_N,átomo_CA ]</samp></p> ```{} residuo.child_dict ``` <p><samp>## {'N': átomo_N<br>## 'CA' : átomo_CA]</samp></p> --- Ver la información almacenada ```python residue = chain[6] residue ``` ``` ## <Residue PHE het= resseq=6 icode= > ``` ```python residue.child_list ``` ``` ## [<Atom N>, <Atom CA>, <Atom C>, <Atom O>, <Atom CB>, <Atom CG>, <Atom CD1>, <Atom CD2>, <Atom CE1>, <Atom CE2>, <Atom CZ>] ``` ```python residue.child_dict ``` ``` ## {'N': <Atom N>, 'CA': <Atom CA>, 'C': <Atom C>, 'O': <Atom O>, 'CB': <Atom CB>, 'CG': <Atom CG>, 'CD1': <Atom CD1>, 'CD2': <Atom CD2>, 'CE1': <Atom CE1>, 'CE2': <Atom CE2>, 'CZ': <Atom CZ>} ``` --- ## Atom **A** <img src="imgs/clase_3/4residue.png" width="180px" style="display: block; margin: auto;" /> Para acceder a los átomos podemos iterar en el objeto `residue` ```{} Para Cada átomo en obj_residue: Imprime(átomo) ``` <p><samp>## átomo_N <br>## átomo_CA </samp></p> También podemos acceder como diccionario: ```{} atomo = obj_residue['CA'] ``` <p><samp>## átomo_CA </samp></p> --- O como una lista con el número de átomo ```{} atomo = obj_residue.child_list[0] ``` <p><samp>## átomo_N </samp></p> -- También podemos ver la información de su posición 3D ```{} at_1.coord ``` <p><samp>## [X, Y ,Z] </samp></p> -- Y cuál es el elemento que representa ```{} at_1.element ``` <p><samp>## 'N' (nitrógeno)</samp></p> --- Accedemos a los átomos ```python residue = chain[22] for atom in residue: print(atom) ``` ``` ## <Atom N> ## <Atom CA> ## <Atom C> ## <Atom O> ## <Atom CB> ``` ```python atom = residue['CA'] ``` ``` ## <Atom CA> ``` ```python atom = residue.child_list[1] ``` ``` ## <Atom CA> ``` --- Información ```python # Posición 3D atom.coord # Elemento ``` ``` ## array([ 35.089, -16.638, 45.038], dtype=float32) ``` ```python atom.element # ID ``` ``` ## 'C' ``` ```python atom.id ``` ``` ## 'CA' ``` --- # <span style="color:Plum">Ejercicio 3</span> #### <span style="color:Orchid">Buscar la información del átomo S en las cisteínas</span> Impriman los elementos y los ids de los átomos de el primer residuo de cisteína que tenemos en la lista `cys_A` para conocer el **id** del elemento **S** ```{} > Para Cada átomo En cys_A[primer_elemento]: Imprime(átomo.elemento, átomo.id) ## N N ## C CA ## O O ## C CB ## S ¿? ``` --- También podemos ver la distancia en Å entre dos átomos tan solo restando ```{} atomo_1 = obj_residue['CA'] atomo_2 = obj_residue['N'] atomo_1-atomo_2 ``` <p><samp>## 1.16 Å </samp></p> --- Distancias ```python atom_1 = residue['N'] atom_2 = residue['CA'] atom_1-atom_2 ``` ``` ## 1.4573714 ``` ```python atom_2-atom_1 ``` ``` ## 1.4573714 ``` --- # <span style="color:Plum">Ejercicio 4</span> #### <span style="color:Orchid">Calculen las distancias de todos los átomos S para encontrar los que están cerca </span> Calculen las distancias de los átomos **S** de las cisteínas de la lista `cys_A`. Guarden los pares de cisteínas de aquellos que tengan una distancia menor a 8.0 Å ```{} > pares = [] > Para Cada cisteína_1 En cys_A: Para Cada cisteína_2 En cys_A: distancia = cisteína_1['id_elemento_S'] - cisteína_2['id_elemento_S'] Si distancia Es Menor a 8.0 Å: pares.append( (cisteína_1, cisteína_2) ) ``` --- # <span style="color:OrangeRed">Tarea</span> * Arreglen el código para que solo muestre las combinaciones únicas * Creen una función que obtenga e imprima los posibles puentes disulfuro de una cadena y las distancias que presentan sus átomos S * Recuerden que pueden obtener el id único de un residuo con `residuo.get_id()[1]` ```{} > obtener_puentes(objeto_cadena) ## possible di-sulfide bond: Cys 155 - Cys 181 2.0 ## possible di-sulfide bond: Cys 257 - Cys 338 2.03 ## possible di-sulfide bond: Cys 515 - Cys 541 2.02 ## possible di-sulfide bond: Cys 618 - Cys 699 2.03 ## possible di-sulfide bond: Cys 881 - Cys 855 2.02 ``` ---