Sessió 12. Biopython. Capítol 9, lectura de fitxers de l'NCBI Entrez des de la API i alineament de seqüències (2023-02-10)
EInfo (9.2 EInfo + writing to disk) Mètode tipus GET. Conté informació d'ORGANISMES =ORGN
ESearch (9.3 ESearch) és un mètode tipus (GET)
Entrez retorna XML.
Amb la funció read d'Entrez es parseja l'XML i retorna un diccionari {}.
Aquest conté llista d'Accession Numbers (idList) en comptes de retornar les cadenes dirèctament.
EPost és un mètode tipus (POST)
Ens permet pujar a l'NCBI la nstta idList (Accession Numbers)
Es important que la llista sigui de menys de 200 id; per no estressar serveis NCBI.
Ens retorna un Id de Sessió.
EFetch recull les dades usant l' idSessió.
Baixar els fitxers fasta demanats anteriorment a l'EPost.
Tenim diversos exemples de:
- EInfo
- ESearch
- EFetch
A l'EFetch hi ha uns fitxers d'Utils que llegeixen directament els fitxers del disc.
L'utils de l'Efetch 3 és el més complet i interessant per a fer pràctiques. Per exemple; només fa la petició a NCBI si no existeix el fitxer XML al disc.
La genòmica ha pogut aplicar-se gràcies al projecte del Gènoma Humà (2001), als repositoris accessibles mundialment com l'NCBI i les dades obertes de llocs com la WHO i a les tècniques d'alineament de seqüències.
L'alineament serveix per a trobar similitud (distància) entre dues seqüències.
A biologia s'han vist els alineaments per parelles de seq. = PAIRWISE
Exemple seqA. GAT Exemple seqB. GATA
Normalment la longitud és diferent (habitual) i necessitem algoritmes avançats.
Si fos igual seria més fàcil (comparem lletra a lletra).
-
Global Alignement. Needleman-Wunsch
- Va bé per a cadenes de longitud similar (no igual).
- No forcem a que els extrens coincideixin.
- El global intenta alinear les dues seqüències de extrem a extrem.
- Exemple: GATAGATA alineat GATA--TA
-
Local Alignement. Smith - Waterman
- És una adaptació de l'algoritme de Needleman.
- És ideal quan només disposem un tros petit de seqüència.
- Exemple GATATA alineat GATA-A-- (la T no) s'utilitza quant les diferencies de longitud son grans
- L'utilitza la policía científica.
Com traiem l'score (la puntuació) de la diferència de les 2 seqüències ?
Sempre que poguem, fem alineació de proteïnes.
Perquè tenen més lletres, i llavors les diferències són molt més marcades.
També tenen menys cost computacional.
També podem fer alineament de moltes parelles de seqüències (clustal):
Exemple seqA. GAT Exemple seqB. GATA Exemple seqC. ATGC
Un cop tenim aquesta taula podem crear arbres filogenètics per a comparar espècies. És una pena que no hem arribat a temps per abordar la creació d'aquests arbres.
Matriu BLOSUM62.
Sempre usar aquesta matriu per a l'alineament de proteines.
El codi font a pairwise.py conté la impementació de tots els algorismes d'alineament de seqüències que necessitareu per a la pràctica.
També explica com funcionen per dins.
https://bioinf.comav.upv.es/courses/intro_bioinf/alineamientos.html