{"id":784,"date":"2023-10-19T12:00:29","date_gmt":"2023-10-19T10:00:29","guid":{"rendered":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/?page_id=784"},"modified":"2025-03-07T18:13:15","modified_gmt":"2025-03-07T16:13:15","slug":"1-17-3-analisi-dels-gens-humans","status":"publish","type":"page","link":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/1-17-3-analisi-dels-gens-humans\/","title":{"rendered":"1.17.3. An\u00e0lisi dels gens humans"},"content":{"rendered":"<p>L\u2019an\u00e0lisi del cat\u00e0leg de gens d\u2019una esp\u00e8cie \u00e9s un exemple perfecte de la utilitat de les ordres del terminal en aquest cap\u00edtol. Un gen \u00e9s una seq\u00fc\u00e8ncia d\u2019ADN que cont\u00e9 informaci\u00f3 per crear una mol\u00e8cula biol\u00f2gica. Els gens dels organismes eucariotes es componen d\u2019exons. Molts gens humans tenen combinacions plausibles d\u2019exons, el que resulta en transcrits alternatius.<\/p>\n<p>Per codificar la ubicaci\u00f3 dels gens, s\u2019utilitzen fitxers tabulats que contenen informaci\u00f3 com la localitzaci\u00f3 i les caracter\u00edstiques del transcrit del gen, com el nombre d\u2019exons i les coordenades exactes.<\/p>\n<p>En aquest exercici, s\u2019utilitza l\u2019anotaci\u00f3 del consorci <em>RefSeq<\/em> per obtenir informaci\u00f3 sobre el genoma hum\u00e0, en un primer moment, per\u00f2 tamb\u00e9 s\u2019utilitzar\u00e0 informaci\u00f3 del genoma de ratol\u00ed (<em>mouse<\/em>). La informaci\u00f3 es troba en un fitxer anomenat <em>refGene.txt<\/em> i es pot obtenir a la p\u00e0gina web del navegador gen\u00f2mic d\u2019UCSC mitjan\u00e7ant l\u2019enlla\u00e7 <em>Annotation<\/em>. La direcci\u00f3 de desc\u00e0rregues es mostra a la taula 19.<\/p>\n<div class=\"tabletitle\"><p>Taula 19. P\u00e0gines de desc\u00e0rrega dels fitxers refGene.txt en funci\u00f3 de l\u2019esp\u00e8cie.<\/p>\n<\/div>\n<table width=\"603\">\n<tbody>\n<tr class=\"table-header\">\n<td width=\"238\">Acc\u00e9s<\/td>\n<td width=\"365\">Direcci\u00f3<\/td>\n<\/tr>\n<tr>\n<td width=\"238\">P\u00e0gina desc\u00e0rrega<em> human<\/em><\/td>\n<td width=\"365\"><a href=\"https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/hg38\/database\/\" target=\"_blank\" rel=\"noopener\">https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/hg38\/database\/<\/a><\/td>\n<\/tr>\n<tr>\n<td width=\"238\">P\u00e0gina desc\u00e0rrega<em> mouse<\/em><\/td>\n<td width=\"365\"><a href=\"https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/mm39\/database\/\" target=\"_blank\" rel=\"noopener\">https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/mm39\/database\/<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"tablefooter\"><p>Font: elaboraci\u00f3 pr\u00f2pia.<\/p>\n<\/div>\n<p>Les anotacions, en el servidor d\u2019UCSC, solen representar-se gr\u00e0ficament en el navegador gen\u00f2mic en forma de pista. El navegador gen\u00f2mic est\u00e0 gestionat internament per l\u2019administrador de bases de dades relacionals de MySQL. En conseq\u00fc\u00e8ncia, en aquesta p\u00e0gina web trobarem dos tipus de fitxer per a cada pista d\u2019anotacions d\u2019UCSC. El primer fitxer, l\u2019extensi\u00f3 del qual ser\u00e0 del tipus <em>sql<\/em>, cont\u00e9 una especificaci\u00f3 gen\u00e8rica dels atributs de les anotacions. Aquest arxiu \u00e9s necessari per crear una taula buida en una base de dades relacional. El segon fitxer, que estar\u00e0 comprimit i posseir\u00e0 l\u2019extensi\u00f3 <em>txt<\/em>, cont\u00e9 pr\u00f2piament la informaci\u00f3 de cada anotaci\u00f3 de forma tabulada. En accedir a la p\u00e0gina de desc\u00e0rrega es visualitza la informaci\u00f3 seg\u00fcent:<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">This directory contains a dump of the UCSC genome annotation database for the\r\n\r\n\u00a0\u00a0\u00a0 Dec. 2013 (GRCh38\/hg38) assembly of the human genome\r\n\r\n\u00a0\u00a0\u00a0 (hg38, GRCh38 Genome Reference Consortium Human Reference 38 (GCA_000001405.15))\r\n\r\n\r\n\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 affyGnf1h.sql\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a02015-05-11 01:50\u00a0 2.1K\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 affyGnf1h.txt.gz\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2015-05-11 01:50\u00a0 596K\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \u2026\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 refGene.sql\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2020-08-17 18:56\u00a0 1.9K\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 refGene.txt.gz\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2020-08-17 18:56\u00a0 8.3M\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 \u2026\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 xenoRefSeqAli.sql\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2020-08-17 19:17\u00a0 2.1K\u00a0\r\n\r\n\u00a0\u00a0\u00a0\u00a0\u00a0 xenoRefSeqAli.txt.gz \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 2020-08-17 19:17\u00a0\u00a0 17M<\/pre>\n<p>Ara procedim a descarregar el fitxer <em>txt<\/em> associat a la pista <em>refGene<\/em>, que cont\u00e9 el cat\u00e0leg de gens humans anotats pel consorci <em>RefSeq<\/em>. Per a aix\u00f2, s\u2019utilitza l\u2019ordre <em>wget<\/em> novament per transferir el fitxer al terminal.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ wget https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/hg38\/database\/refGene.txt.gz<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">--2023-04-26 16:35:43--\u00a0 https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/hg38\/database\/refGene.txt.gz\r\n\r\nS'est\u00e0 resolent hgdownload.soe.ucsc.edu (hgdownload.soe.ucsc.edu)... 128.114.119.163\r\n\r\nS'est\u00e0 connectant a hgdownload.soe.ucsc.edu (hgdownload.soe.ucsc.edu)|128.114.119.163|:443... conectat.\r\n\r\nHTTP: s'ha enviat la petici\u00f3, s'est\u00e0 esperant una resposta... 200 OK\r\n\r\nMida: 8668756 (8,3M) [application\/x-gzip]\r\n\r\nS'est\u00e0 desant a: \u00abrefGene.txt.gz\u00bb\r\n\r\nrefGene.txt.gz\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 100%[================&gt;]\u00a0\u00a0 8,27M\u00a0 2,22MB\/s\u00a0\u00a0\u00a0 in 3,7s\u00a0\u00a0 \u00a0\r\n\r\n2023-04-26 16:35:49 (2,22 MB\/s) - s'ha desat \u00abrefGene.txt.gz\u00bb [8668756\/8668756]<\/pre>\n<p>A continuaci\u00f3, et convidem a revisar el contingut del primer fitxer: refGene.sql. ja que \u00e9s \u00fatil per con\u00e8ixer les caracter\u00edstiques dels gens anotats a cada columna del fitxer. Els atributs que s\u2019utilitzen amb m\u00e9s freq\u00fc\u00e8ncia s\u00f3n els seg\u00fcents: <em>name<\/em> (codi del transcrit), <em>chrom<\/em> (cromosoma), <em>strand<\/em> (cadena), <em>txStart<\/em> i <em>txEnd <\/em>(coordenades d\u2019inici i final), <em>exonCount<\/em> (nombre d\u2019exons) i <em>name2<\/em> (nom del gen). \u00c9s important no confondre els camps <em>name<\/em> i <em>name2<\/em>: un gen pot tenir diversos transcrits, per\u00f2 un transcrit sols pot pert\u00e0nyer a un gen. Aquests par\u00e0metres es troben a la cap\u00e7alera del fitxer descarregat.<\/p>\n<p>Visualitzarem el contingut del fitxer refGene.txt. Aquest arxiu cont\u00e9 informaci\u00f3 sobre el cat\u00e0leg complet de gens anotats en el genoma hum\u00e0. Cada l\u00ednia representa un transcrit d\u2019un gen determinat. En el cas que un gen tingui diversos transcrits, cadascun es codifica en l\u00ednies separades, cadascuna amb el seu propi codi i les seves coordenades corresponents. En totes les l\u00ednies, els atributs de cada dia estan separats pel car\u00e0cter tabulador o \u00ab<em>\\t<\/em>\u00bb. Abans de poder visualitzar el contingut de l\u2019arxiu, l\u2019hem de descomprimir utilitzant l\u2019ordre <em>gzip<\/em>.<\/p>\n<p># Descompressi\u00f3 del fitxer amb <em>gzip<\/em><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gzip -d refGene.txt.gz<\/pre>\n<p># Visualitzaci\u00f3 de les primeres cinc l\u00ednies amb l\u2019ordre <code>head<\/code><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ head -5 refGene.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">585\u00a0 NR_024540\u00a0 chr1 -\u00a0\u00a0\u00a0 14361 29370 29370 29370 11\u00a0\u00a0\u00a0\u00a0 14361,14969,15795,16606,16857,17232,17605,17914,18267,24737,29320,\u00a0\u00a0\u00a0\u00a0 14829,15038,15947,16765,17055,17368,17742,18061,18366,24891,29370,\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 WASH7P\u00a0\u00a0\u00a0 unk\u00a0 unk\u00a0 -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,\r\n\r\n585\u00a0 NR_106918\u00a0 chr1 -\u00a0\u00a0\u00a0 17368 17436 17436 17436 1\u00a0\u00a0\u00a0 17368,\u00a0\u00a0\u00a0 17436,\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 MIR6859-1\u00a0 unk\u00a0 unk\u00a0 -1,\r\n\r\n585\u00a0 NR_107062\u00a0 chr1 -\u00a0\u00a0\u00a0 17368 17436 17436 17436 1\u00a0\u00a0\u00a0 17368,\u00a0\u00a0\u00a0 17436,\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 MIR6859-2\u00a0 unk\u00a0 unk\u00a0 -1,\r\n\r\n585\u00a0 NR_107063\u00a0 chr1 -\u00a0\u00a0\u00a0 17368 17436 17436 17436 1\u00a0\u00a0\u00a0 17368,\u00a0\u00a0\u00a0 17436,\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 MIR6859-3\u00a0 unk\u00a0 unk\u00a0 -1,\r\n\r\n585\u00a0 NR_128720\u00a0 chr1 -\u00a0\u00a0\u00a0 17368 17436 17436 17436 1\u00a0\u00a0\u00a0 17368,\u00a0\u00a0\u00a0 17436,\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0 MIR6859-4\u00a0 unk\u00a0 unk\u00a0 -1,<\/pre>\n<p>Tingueu en compte que les anotacions d\u2019un genoma solen actualitzar-se freq\u00fcentment. Per aquest motiu, les dades mostrades en aquest tutorial poden variar lleugerament amb el pas del temps en comparaci\u00f3 amb una nova desc\u00e0rrega del mateix fitxer.<\/p>\n<p>A causa de la gran quantitat d\u2019informaci\u00f3 que cont\u00e9 aquest arxiu s\u00f3n dif\u00edcils de manejar. A continuaci\u00f3, es decideix treballar amb uns determinats camps i s\u2019utilitzar\u00e0 l\u2019ordre <em>gawk<\/em> per extreure \u00fanicament els camps necessaris d\u2019aquest exercici. En particular, trobem interessants els seg\u00fcents atributs: nom del gen, identificador del transcrit, cromosoma, cadena, coordenades i nombre d\u2019exons. Per evitar haver d\u2019executar l\u2019ordre pr\u00e8via cada vegada que es necessitin aquestes dades, es redirecciona la sortida cap a un arxiu refgene-select.txt. Una vegada obtingut, es compten el nombre total de transcrits humans.<\/p>\n<p># Analitzem el fitxer <em>refGene.sql<\/em> per determinar la posici\u00f3 de cada columna<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $13,$2,$3,$4,$5,$6,$9;}' refGene.txt &gt; refgene-select.txt<\/pre>\n<p># Es visualitzen les \u00faltimes 5 l\u00ednies<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ tail -5 refgene-select.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">KIAA0825 \u00a0 NM_001385728 \u00a0\u00a0 chr5 - \u00a0 94519215 \u00a0 94618604 \u00a0 6\r\n\r\nKIAA0825 \u00a0 NM_001385729 \u00a0\u00a0 chr5 - \u00a0 94519215 \u00a0 94618604 \u00a0 6\r\n\r\nKIAA0825 \u00a0 NR_169752\u00a0 \u00a0\u00a0\u00a0 chr5 - \u00a0\u00a0 94519215 \u00a0 94618604 \u00a0 4\r\n\r\nKIAA0825 \u00a0 NR_169753 \u00a0\u00a0\u00a0\u00a0\u00a0 chr5 - \u00a0\u00a0 94519215 \u00a0 94618604 \u00a0 6\r\n\r\nKIAA0825 \u00a0 NR_169754 \u00a0\u00a0\u00a0\u00a0\u00a0 chr5 - \u00a0 94519215 \u00a0 94618604 \u00a0 6<\/pre>\n<p># El nombre de transcrits \u00e9s el nombre de l\u00ednies del fitxer<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ wc -l refgene-select.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">88819 refgene-select.txt<\/pre>\n<p>Continuem amb diferents an\u00e0lisis,<\/p>\n<p># Es demana el nombre de transcrits gen\u00e8tics distribu\u00efts en la cadena positiva<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{if ($4 == \"+\") print $0;}' refgene-select.txt | wc -l<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">45121<\/pre>\n<p># Es demana el nombre de transcrits del cromosoma 21<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ grep chr21 refgene-select.txt | wc -l<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">1121<\/pre>\n<p># Es mostren els primers set transcrits despr\u00e9s d\u2019ordenar per nom del gen<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort refgene-select.txt | head -7<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">A1BG NM_130786\u00a0 \u00a0\u00a0\u00a0 chr19 \u00a0\u00a0\u00a0 - \u00a0\u00a0 58345182 \u00a0 58353492 \u00a0 8\r\n\r\nA1BG-AS1 NR_015380 \u00a0 chr19 \u00a0\u00a0\u00a0 + \u00a0\u00a0 58351969 \u00a0 58355183 \u00a0 4\r\n\r\nA1CF NM_001198818 \u00a0\u00a0 chr10 \u00a0\u00a0\u00a0 - \u00a0\u00a0 50799408 \u00a0 50885675 \u00a0 14\r\n\r\nA1CF NM_001198819 \u00a0\u00a0 chr10 \u00a0\u00a0\u00a0 - \u00a0\u00a0 50799408 \u00a0 50885675 \u00a0 15\r\n\r\nA1CF NM_001198820 \u00a0\u00a0 chr10 \u00a0\u00a0\u00a0 - \u00a0\u00a0 50799408 \u00a0 50885675 \u00a0 14\r\n\r\nA1CF NM_001370130 \u00a0\u00a0 chr10 \u00a0\u00a0\u00a0 - \u00a0\u00a0 50799408 \u00a0 50885627 \u00a0 12\r\n\r\nA1CF NM_001370131 \u00a0\u00a0 chr10 \u00a0\u00a0\u00a0 - \u00a0\u00a0 50799408 \u00a0 50885627 \u00a0 12<\/pre>\n<p># Es mostren els primers sis transcrits despr\u00e9s d\u2019ordenar pel nombre de gens que cont\u00e9 cada transcrits<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ sort -rnk 7 refgene-select.txt | head -6<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">TTN NM_001267550 \u00a0\u00a0\u00a0 chr2 - \u00a0 178525990 178807423 363\r\n\r\nTTN NM_001256850 \u00a0\u00a0\u00a0 chr2 - \u00a0\u00a0 178525990 178807423 313\r\n\r\nTTN NM_133378 \u00a0 chr2 - \u00a0\u00a0 178525990 178807423 312\r\n\r\nTTN NM_133437 \u00a0 chr2 - \u00a0\u00a0 178525990 178807423 192\r\n\r\nTTN NM_133432 \u00a0 chr2 - \u00a0\u00a0 178525990 178807423 192\r\n\r\nTTN NM_003319 \u00a0 chr2 - \u00a0\u00a0 178525990 178807423 191<\/pre>\n<p>El fitxer <em>refgene-select.txt<\/em> cont\u00e9 el llistat dels transcrits humans. Com que un gen pot donar lloc a diversos transcrits alternatius, podem comptar quants gens t\u00e9 el genoma hum\u00e0\u00a0 i esbrinar quants d\u2019ells posseeixen un major nombre de transcrits. Per aconseguir-ho, ordenem els noms dels gens i introdu\u00efm diferents variants de l\u2019ordre <code>uniq<\/code> per agrupar-los. D\u2019altra banda, la millor forma d\u2019estudiar el comportament d\u2019una l\u00ednia d\u2019ordres \u00e9s la desconstrucci\u00f3: eliminant les \u00faltimes instruccions es pot mostrar el resultat parcial de l\u2019execuci\u00f3 en pantalla.<\/p>\n<p># Ordena la columna pel nom dels gens<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $1;}' refgene-select.txt | sort | more<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">A1BG\r\n\r\nA1BG-AS1\r\n\r\nA1CF\r\n\r\nA1CF\r\n\r\nA1CF\r\n\r\nA1CF\r\n\r\nA1CF\r\n\r\n\u2026<\/pre>\n<p># Ordena la columna pel nom dels gens i que siguin valors \u00fanics<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $1;}' refgene-select.txt | sort | uniq | more<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">A1BG\r\n\r\nA1BG-AS1\r\n\r\nA1CF\r\n\r\nA2M\r\n\r\nA2M-AS1\r\n\r\nA2ML1\r\n\r\n\u2026<\/pre>\n<p># Determina el nombre de gens \u00fanics en el fitxer<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $1;}' refgene-select.txt | sort | uniq | wc -l<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"mowtwo\">28307<\/pre>\n<p># Determina quants transcrits hi ha per a cadascun dels gens<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $1;}' refgene-select.txt | sort | uniq -c | more<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">1 A1BG\r\n\r\n1 A1BG-AS1\r\n\r\n8 A1CF\r\n\r\n4 A2M\r\n\r\n3 A2M-AS1\r\n\r\n2 A2ML1\r\n\r\n1 A2MP1\r\n\r\n\u2026<\/pre>\n<p># Determina quants transcrits hi ha per a cadascun dels gens i ordena\u2019ls pel nombre d\u2019exons, de major a menor<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $1;}' refgene-select.txt | sort | uniq -c | sort -rn<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">260 KIR2DS2\r\n\r\n215 LOC101928804\r\n\r\n177 KIR2DS4\r\n\r\n144 MAP4\r\n\r\n144 KIR3DS1\r\n\r\n129 KIR2DL\r\n\r\n\u2026<\/pre>\n<p>Una altra operaci\u00f3 molt freq\u00fcent consisteix en el c\u00e0lcul de valors mitj\u00e0. En el seg\u00fcent exemple, l\u2019estudiant calcular\u00e0 la mitjana d\u2019exons per transcrit i la longitud mitjana d\u2019aquests. El funcionament de <code>gawk<\/code> \u00e9s similar en tots dos casos, ja que treballa amb la variable <em>t <\/em>com a comptador que acumula la suma total. La divisi\u00f3 pel nombre de l\u00ednies visitades (NR), un cop es completa la lectura de l\u2019arxiu, genera el valor mitj\u00e0 en cada cas.<\/p>\n<p># C\u00e0lcul de mitjana d\u2019exons per transcrit<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk 'BEGIN{t=0;}{t=t+$7;}END{print t\/NR;}' refgene-select.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">10.0961<\/pre>\n<p># C\u00e0lcul de la longitud mitjana dels transcrits<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk 'BEGIN{t=0;}{t=t+$6-$5+1;}END{print t\/NR;}' refgene-select.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">64883<\/pre>\n<p>Per il\u00b7lustrar la utilitat d\u2019associar dos fitxers de text tabulat, es combinar\u00e0 el cat\u00e0leg de gens humans introdu\u00eft fins ara (arxiu <em>refGene.txt<\/em> per <em>a H. sapiens es reanomena com a refGene-human.txt<\/em>) amb el cat\u00e0leg equivalent del genoma del ratol\u00ed (arxiu <em>refGene.txt<\/em> per a <em>M<\/em>. <em>musculus<\/em> i reanomenat com a <em>refGene-mouse.txt<\/em> despr\u00e9s d\u2019haver-lo descarregat del servidor gen\u00f2mic d\u2019UCSC).<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$\u00a0gzip\u00a0-d\u00a0refGene.txt.gz<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">\u00a0$\u00a0mv\u00a0refGene.txt\u00a0refGene-human.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ wget https:\/\/hgdownload.soe.ucsc.edu\/goldenPath\/mm39\/database\/refGene.txt<\/pre>\n<p># Es reanomena el fitxer del genoma <em>M.musculus<\/em><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ mv refGene.txt refGene-mouse.txt<\/pre>\n<p># Per a cadascun dels fitxers, se seleccionen les columnes nom del gen i cromosoma i posteriorment se\u2019n visualitzen els 5 primers<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $13, $3;}' refGene-human.txt | sort | uniq &gt; refgene-select-human.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\"> $ head -5 refgene-select-human.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">A1BG chr19\r\n\r\nA1BG-AS1 chr19\r\n\r\nA1CF chr10\r\n\r\nA2M chr12\r\n\r\nA2M-AS1 chr12<\/pre>\n<p># Per al fitxer genoma de ratol\u00ed<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ gawk '{print $13, $3;}' refGene-mouse.txt | sort | uniq &gt; refgene-select-mouse.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\"> $ head -5 refgene-select-mouse.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">0610005C13Rik chr7\r\n\r\n0610009B22Rik chr11\r\n\r\n0610009E02Rik chr2\r\n\r\n0610009L18Rik chr11\r\n\r\n0610010F05Rik chr11<\/pre>\n<p>Amb aquesta transformaci\u00f3 pr\u00e8via del fitxer, s\u2019han preparat els fitxers per utilitzar l\u2019ordre <code>join<\/code>: a continuaci\u00f3, es mostra com associar els gens que tenen el mateix nom en ambdues esp\u00e8cies. A l\u2019ordre <code>join<\/code> s\u2019hi afegeix l\u2019opci\u00f3 <em>-i<\/em>, perqu\u00e8 s\u2019ignoren les difer\u00e8ncies de maj\u00fascules\/min\u00fascules. Cada l\u00ednia del resultat final cont\u00e9 el nom del gen i la seva ubicaci\u00f3 en ambd\u00f3s genomes.<\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\">$ join -i refgene-select-human.txt refgene-select-human.txt &gt; refgene-comun.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"bash\" data-enlighter-theme=\"mowtwo\"> $ head -5 refgene-comun.txt<\/pre>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"raw\" data-enlighter-theme=\"droide\">A1BG chr19 chr19\r\n\r\nA1BG-AS1 chr19 chr19\r\n\r\nA1CF chr10 chr10\r\n\r\nA2M chr12 chr12\r\n\r\nA2M-AS1 chr12 chr12<\/pre>\n<p>A partir d\u2019aquesta an\u00e0lisi preliminar del cat\u00e0leg de gens humans, es poden portar a la pr\u00e0ctica m\u00faltiples variants de les ordres que s\u2019han mostrat aqu\u00ed. Per exemple, \u00e9s possible afegir m\u00e9s atributs, m\u00e9s genomes o m\u00e9s fitxers amb altres propietats per ampliar aquesta exploraci\u00f3. Per tant, us animem a experimentar amb cada bloc d\u2019ordres utilitzat durant aquest exercici. Amb aquesta aplicaci\u00f3 pr\u00e0ctica, es demostra la validesa del terminal de Gnu\/Linux per analitzar eficientment dades biol\u00f2giques. En futurs apartats, s\u2019introduiran sistemes m\u00e9s complexos per gestionar grans conjunts de dades, de manera que l\u2019usuari podr\u00e0 reproduir el mateix cas pr\u00e0ctic utilitzant aquestes t\u00e8cniques.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L\u2019an\u00e0lisi del cat\u00e0leg de gens d\u2019una esp\u00e8cie \u00e9s un exemple perfecte de la utilitat de les ordres del terminal en aquest cap\u00edtol. Un gen \u00e9s una seq\u00fc\u00e8ncia d\u2019ADN que cont\u00e9 informaci\u00f3 per crear una mol\u00e8cula biol\u00f2gica. Els gens dels organismes eucariotes es componen d\u2019exons. Molts gens humans tenen combinacions plausibles d\u2019exons, el que resulta en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"acf":[],"_links":{"self":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/784"}],"collection":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/comments?post=784"}],"version-history":[{"count":11,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/784\/revisions"}],"predecessor-version":[{"id":1321,"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/pages\/784\/revisions\/1321"}],"wp:attachment":[{"href":"http:\/\/eines-informatiques.recursos.uoc.edu\/introduccion-a-los-entornos-de-trabajo-gnu-linux\/wp-json\/wp\/v2\/media?parent=784"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}