Seminari 6
Unix III
-Comandes i manipulacions avançades de fitxers al Unix-

Bioinformàtica - 1er trimestre curs 2012/2013 - UPF

La major part d'aquest seminari està enfocat a que agafeu experiencia resolent qüestions biològiques senzilles mitjançant la manipulació de fitxers de texte amb Unix. Veurem, no obstant, dues comandes noves: join i fold.

La comanda join

La comanda join combina fitxers que tenen en comu alguna de les seves columnes. Aquesta comanda necessita que tots dos fitxers estiguin ordenats en ordre alfabètic ascendent. La sintaxi d'aquesta comanda és:

$ join fitxer1 fitxer2

Editeu els següents fitxers amb l'editor emacs:

Ara emmagatzemeu en dos fitxers diferents les versions ordenades dels fitxers anteriors (mitjançant la comanda sort) i utilitzant la comanda join sobre la versio ordenada d'aquests dos fitxers mostreu per pantalla els noms i les notes dels estudiants matriculats a Bioinformàtica.

Exercici 1

En aquest exercici farem anar els seguents tres fitxers que es troben només en el sistema de fitxers de les aules del Campus del Mar:

/cursos/BI/genomes/H.sapiens/golden_path_200405hg17/database/refGene.txt
/cursos/BI/genomes/H.sapiens/golden_path_200405hg17/database/refPep.txt
/cursos/BI/genomes/H.sapiens/golden_path_200405hg17/database/refLink.txt

Si no hi podeu accedir a aquest sistema de fitxers els podeu baixar mitjançant els segunts enllaços: refGene.txt.gz, refPep.txt.gz, refLink.txt.gz.

Si us els heu baixat a traves d'aquests enllaços observareu que en el nom porten l'extensió .gz. Això vol dir que estan comprimits amb el programa gzip, per tal de descomprimir-los, feu anar les seguents comandes:

$ gzip -d refGene.txt.gz
$ gzip -d refPep.txt.gz
$ gzip -d refLink.txt.gz

Aquests fitxers han estat baixats de la base de dades que hi ha a http://genome.ucsc.edu i on contenen el següent:

refGene.txt mRNAs de GenBank alineats al genoma humà
refPep.txt traduccions a proteina dels mRNAs anteriors
refLink.txt taula d'associacions mRNA, proteina, funció


Qüestió 1: mireu el contingut de tots tres fitxers i intenteu esbrinar com està emmagatzemada la informació.


transformeu el fitxer refLink.txt en un altre que es digui, per exemple, dprot.txt en el qual tinguem una primera columna amb l'identificador de proteina (NP_XXXXXX) i una segona columna, separada amb una tabulació de la primera, amb la descripció de la funció. Les linies d'aquest fitxer han d'estar ordenades per l'identificador. El resultat hauria de ser semblant a les següents línies (pista: només necessiteu utilitzar les comandes sort, cut i paste):

(...)
NP_000019       amylo-1,6-glucosidase,
NP_000020       angiotensinogen precursor
NP_000021       alanine-glyoxylate aminotransferase
NP_000022       delta-aminolevulinic acid dehydratase
NP_000023       aminolevulinate, delta-, synthase 2
NP_000024       ATP-binding cassette, sub-family D (ALD), member
NP_000025       aldolase A
NP_000026       aldolase B, fructose-bisphosphate
NP_000027       adenosine monophosphate deaminase 1 (isoform M)
NP_000028       ankyrin 1 isoform 3
(...)


Qüestió 2: utilizant les comandes egrep i wc, conteu quantes proteines tenen, en la seva seqüència, repeticions de 20 o mes aminoàcids Gln (Q's). (us hauria de donar 30)


Qüestió 3: utilitzant el fitxer dprot.txt que hem creat anteriorment, esbrineu la descripció, o funció, de les proteines seleccionades anteriorment. Pista: necessiteu les comandes egrep, sort, join i cut (la darrera només per manipular la forma en que mostrem el resultat).


Qüestió 4: en la llista anterior de proteines, en podeu identificar alguna que estigui involucrada amb alguna enfermetat?


Efectivament, n'hi ha una involucrada en una enfermetat de la que podeu trobar més informació en el següent enllaç http://www.stanford.edu/group/hopes.


Ara veurem una nova comanda, la comanda fold. Proveu el següent:

$ cut -f 2 refPep.txt | fold -1 | more

i ara reemplaçant el parametre -1 per -2:

$ cut -f 2 refPep.txt | fold -2 | more

i ara reemplaçant el parametre -2 per -3:

$ cut -f 2 refPep.txt | fold -3 | more


Qüestió 5: quina és la funcionalitat de la comanda fold ?


Qüestió 6: utilitzant les comandes egrep, fold, sort i uniq, esbrineu la distribució dels aminoàcids en el conjunt de proteines amb repeticions de 20 o més Glutamines, mostrant el resultat de forma ordenada del aminoàcid més freqüent al menys freqüent i enregistrant-lo en un fitxer que s'anomeni dist_aa_repQ.txt.


Qüestió 7: mitjançant el manual del unix (comanda man) esbrineu quina opció de la comanda egrep fa que aquesta comanda ens retorni les línies que no encaixen amb el patró. Utilitzant aquesta opció esbrineu la distribució dels aminoàcids en el conjunt de proteines que no tenen repeticions de 20 o més Glutamines, mostrant el resultat de forma ordenada del aminoàcid més freqüent al menys freqüent i enregistrant-lo en un fitxer que s'anomeni dist_aa_senserepQ.txt.


finalment compareu les dues distribucions escrivint en el shell del Unix:

$ paste dist_aa_senserepQ.txt dist_aa_repQ.txt


Qüestió 8: quantes Glutamines de promig te cadascuna de les proteines amb 20 o més Glutamines? i les que no tenen 20 o més Glutamines?

Exercici 2

Els receptors nuclears d'hormones són factors de transcripció activats per lligand que regulen l'expressió dels gens i tenen, per tant, la capacitat d'unir-se a seqüències específiques d'ADN que es troben upstream dels gens. L'organització estructural i funcional dels receptors nuclears es la següent (agafada de Clarke et al., Exp Rev Mol Med, 6(25), 2004):

Image nreceptors

Quan el lligand s'uneix fa que el receptor s'activi com a factor de transcripció per als gens específics que regula. El domini que s'uneix al ADN sol estar conservat i segueix un patró consens determinat. Esbrineu la distribució en el genoma humà, en els cromosomes, dels gens que donen lloc a les proteines receptores nuclears d'hormones i calculeu també el nombre d'exons mes freqüent que solen tenir aquests gens. Per fer això, seguiu les següents passes:

  1. Patró consens del domini d'unió al ADN. Aneu a la base de dades de prosite http://www.expasy.ch/prosite i a la primera caixa de texte damunt del botó "Search", dins la secció "PROSITE Access", fiqueu les paraules clau nuclear hormone receptor i premeu el botó de sota "Search". Us portarà a la plana d'informació sobre aquesta familia de proteïnes. Busqueu el patró del domini d'unió a ADN que trobareu a la dreta d'on diu "Consensus pattern:".
  2. Traduir el patró de consens amb sintaxi PROSITE a sintaxi de patró egrep. La sintaxi PROSITE que necessiteu saber per aquest patró es la següent:
    [AS]   encaixa qualsevol dels símbols entre claudàtors un sol cop
    A-S   encaixa amb els dos símbols donats de forma consecutiva
    x   qualsevol símbol
    x(n)   qualsevol símbol n vegades
    x(n,m)   qualsevol símbol entre n i m vegades
    Traduiu el patro a sintaxi egrep (feu anar el manual per esbrinar com especificar els conceptes esmentats sobre la sintaxi PROSITE). Cal que tingueu en compte que quan els patrons que hem de proporcionar a la comanda egrep contenen altres símbols a més a més de lletres i números, és necessari delimitar el començament i final del patró amb cometes (apòstrofs) d'aquesta forma:
            $ egrep 'A[BC]D{1,3}' fitxer.txt
    
    A continuació, a partir del fitxer de proteines refPep.txt, esbrineu quantes tenen el domini d'unió a ADN. (us hauria de donar 90)
  3. Quantes estan classificades com a receptores. utilitzant el fitxer dprot.txt construit al principi de la pràctica, esbrineu quantes tenen anotada a la seva funció la paraula clau receptor. (us hauria de donar 83)
  4. mRNAs corresponents. a partir del fitxer refLink.txt, construiu un fitxer anàleg a dprot.txt on la primera columna sigui l'identificador del a proteina pero la segona que sigui l'identificador del mRNA NM_XXXXX (seleccioneu mitjançant egrep les linies que contenen els simbols NP_ per evitar problemes amb la comanda join causats per la manca d'identificadors NP en algunes linies). Utilitzant aquest fitxer seleccioneu els mRNAs annotats de refGene.txt (l'haureu d'ordenar primer si feu anar la comanda join) i calculeu el nombre d'exons més freqüent i la distribució d'aquests mRNAs al llarg dels cromosomes. Tendeixen aquests gens a tenir mes o menys exons que el conjunt sencer de gens humans? Es la seva distribució al llarg dels cromosomes similar que la del conjunt sencer dels gens humans?