{"id":1639,"date":"2017-11-25T20:03:31","date_gmt":"2017-11-25T18:03:31","guid":{"rendered":"http:\/\/bioinfo2.ugr.es\/biocomputacion\/?page_id=1639"},"modified":"2017-11-25T20:03:31","modified_gmt":"2017-11-25T18:03:31","slug":"ejercicios-linux","status":"publish","type":"page","link":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/ejercicios-linux\/","title":{"rendered":"Ejercicios Linux"},"content":{"rendered":"<p><strong>ANTES DE EMPEZAR<\/strong><\/p>\n<p><strong>Por favor, lee atentamente las <a href=\"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-content\/uploads\/2021\/09\/como_conectar_al_servidor.pdf\" target=\"_blank\" rel=\"noopener\">instrucciones<\/a>. Para continuar con estos ejercicios nos conectaremos a un servidor Linux preparado por el Equipo Docente. Deber\u00edas haber recibido un usuario y una contrase\u00f1a para poder acceder junto con unas instrucciones. Si no es as\u00ed, por favor ponte en contacto con el Equipo Docente.<\/strong><\/p>\n<p>Servidor de docencia: alu.ugr.es\u00a0 &#8211; puerto: 2212<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Pero&#8230; si yo no tengo Linux \u00bfc\u00f3mo voy a seguir el curso?<\/strong><\/p>\n<p>El equipo docente ha preparado un servidor Linux en el que tendr\u00e9is acceso a todo el software que se necesita para este curso. Aunque tuvieras instalado un sistema Linux, igualmente tendr\u00edas que conectarte <a href=\"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-content\/uploads\/2021\/09\/como_conectar_al_servidor.pdf\">(instrucciones<\/a>).<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Objetivo del ejercicio:\u00a0<\/strong><\/p>\n<p>Descargar una secuencia y analizarla mediante el programa blast de forma local<\/p>\n<p><strong>Objetivo de aprendizaje:\u00a0<\/strong><\/p>\n<p>Familiarizaci\u00f3n con el uso de la terminal. Aprender a lanzar un programa por l\u00ednea de comando.<\/p>\n<h4>Material<\/h4>\n<p><a href=\"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-content\/uploads\/2017\/09\/sequence_blast_cmd.txt\" target=\"_blank\" rel=\"noopener noreferrer\">Secuencia 1<\/a>\u00a0;\u00a0<a href=\"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-content\/uploads\/2017\/09\/sequence2.txt\" target=\"_blank\" rel=\"noopener noreferrer\">sequence2<\/a><\/p>\n<p><strong>Pasos que debemos aprender antes:<\/strong><\/p>\n<ul>\n<li>Acceder a un servidor Linux<\/li>\n<li>Copiar y mover ficheros entre ordenadores y dentro del servidor<\/li>\n<li>Visualizar y editar el contenido de un fichero<\/li>\n<li>Crear y eliminar carpetas<\/li>\n<li>Lanzar programas y redirigir la salida<\/li>\n<\/ul>\n<p>Como norma general, la mayor\u00eda de usuarios est\u00e1n acostumbrados a manejar un ordenador de forma gr\u00e1fica, esto es: usando el rat\u00f3n y pinchando en los distintos iconos que aparecen en un escritorio y mediante ventanas. Sin embargo hay muchas funciones m\u00e1s a las que se pueden acceder mediante el uso de la terminal o l\u00edneas de comando. En concreto, los servidores no suelen tener una interfaz gr\u00e1fica disponible para sus usuarios por lo que en nuestro caso se hace indispensable interactuar con el ordenador de este modo.<\/p>\n<p><strong>CONCEPTOS CLAVE<\/strong><\/p>\n<p><strong>+Ruta o PATH<\/strong>: es la localizaci\u00f3n \u00fanica que tiene un fichero o un directorio (carpeta) en el ordenador. Igual que en un entorno visual, los distintos ficheros y carpetas est\u00e1n dentro de otras carpetas. Para separarlos se usa el s\u00edmbolo \/ Dentro de la terminal, a la izquierda, suele aparecer la ruta o path en el que el usuario se encuentra en ese momento<\/p>\n<p>&nbsp;<\/p>\n<p><strong>+Comandos<\/strong>: Puesto que no podemos &#8220;pinchar&#8221; para abrir, copiar, mover o interactuar con los ficheros o carpetas, tendremos que usar comandos. Un comando es una &#8220;orden&#8221; que se le da al ordenador para que haga algo. Por ejemplo podemos pedirle la hora al sistema escribiendo <span style=\"color: #ff9900\">date <span style=\"color: #333300\">y pulsando Enter. Cada vez que introduzcamos un comando debemos pulsar Enter para &#8220;enviar&#8221; la orden. A continuaci\u00f3n vamos a ver un ejemplo sencillo de comandos que podemos usar.<\/span><\/span><\/p>\n<p><strong>Movernos a un directorio<\/strong><\/p>\n<p>Cada usuario cuenta con una carpeta propia en el directorio \/home\/. As\u00ed, un usuario con nombre <em>pepe\u00a0<\/em>, tendr\u00eda una carpeta con la ruta \/home\/pepe. Normalmente, al iniciar sesi\u00f3n nos encontraremos directamente en esta carpeta. Para movernos a otra carpeta podemos hacer:<\/p>\n<pre><b>cd [nombre_de_la_carpeta_destino]<\/b><\/pre>\n<p><strong>Crear una carpeta<\/strong><\/p>\n<p>Como de momento nuestro directorio est\u00e1 vac\u00edo, vamos a crear una carpeta para posteriormente acceder:<\/p>\n<pre><b><strong>mkdir carpeta_de_prueba\ncd carpeta_de_prueba\n\n<\/strong><\/b><\/pre>\n<p>Ahora estamos dentro de la nueva carpeta que hemos creado. Prueba un poco este comando, puedes hacer otra carpeta en el interior o una con otro nombre. Para volver a nuestra carpeta personal podemos usar simplemente el comando cd sin a\u00f1adir nada m\u00e1s:<\/p>\n<pre><b><strong>cd\n<\/strong><\/b><\/pre>\n<p>Ahora volvemos a estar en nuestra carpeta personal.<\/p>\n<p><strong>Ver los contenidos de un directorio<\/strong><\/p>\n<p>Mediante el comando ls, mostraremos los contenidos de un directorio. Si creamos carpetas dentro tambi\u00e9n aparecer\u00e1n. Por ejemplo para ver qu\u00e9 hay en nuestro directorio:<\/p>\n<pre><b><strong>cd\nls\nmkdir prueba2\nls<\/strong><\/b><\/pre>\n<p>Podemos ver c\u00f3mo aparecen las carpetas que hemos creado<\/p>\n<p><strong>Rutas absolutas\/rutas relativas<\/strong><\/p>\n<p>Podemos referirnos a cada fichero o carpeta usando rutas relativas (relativas al directorio en el que nos encontramos) o absolutas. Por ejemplo, si nos encontramos en nuestra carpeta, podremos crear un directorio en su interior usando la ruta absoluta o relativa:<\/p>\n<pre><b><strong>mkdir prueba3\nmkdir \/home\/pepe\/prueba4\n<\/strong><\/b><\/pre>\n<p>*reemplaza pepe por tu nombre de usuario<\/p>\n<p>Esta misma l\u00f3gica se aplica a todos los comandos.<\/p>\n<p><strong>Encadenar dos (o m\u00e1s) comandos<\/strong><\/p>\n<p>Hasta ahora hemos ido mostrando c\u00f3mo lanzar comandos uno a uno pero se pueden lanzar de forma sucesiva m\u00e1s de uno separ\u00e1ndolos con <strong>;<\/strong><\/p>\n<pre><b><strong>mkdir prueba;cd prueba<\/strong><\/b><\/pre>\n<p>Podemos volver a la carpeta personal usando el comando cd<\/p>\n<p><strong>Descargar un fichero de internet<\/strong><\/p>\n<p>En muchas ocasiones nos ser\u00e1 de utilidad descargar un fichero disponible p\u00fablicamente en internet a trav\u00e9s de un enlace. Vamos a ver un ejemplo de c\u00f3mo podr\u00edamos descargar la secuencia de este ejercicio usando el comando <strong>wget<\/strong>:<\/p>\n<pre><b><strong>mkdir ejercicio_linux\ncd ejercicio_linux\nwget -c <a href=\"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-content\/uploads\/sites\/8\/2017\/09\/sequence_blast_cmd.txt\" target=\"_blank\" rel=\"noopener\">https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-content\/uploads\/sites\/8\/2017\/09\/sequence_blast_cmd.txt<\/a>\nls<\/strong><\/b><\/pre>\n<p>Y ya tenemos la secuencia descargada. Ahora echemos un ojo al contenido.<\/p>\n<p><strong>Visualizar el contenido de un fichero<\/strong><\/p>\n<pre>more 'nombre del fichero'<\/pre>\n<pre>less 'nombre del fichero'\n\nless ejercicio_linux\/sequence_blast_cmd.txt\n\nCon less podemos abrir un fichero e ir bajando usando la flecha hacia abajo y para salir pulsamos Q. Podemos ver que se trata de un fichero <a href=\"https:\/\/zhanglab.ccmb.med.umich.edu\/FASTA\/\">fasta<\/a>.<\/pre>\n<p><strong>Extra: <\/strong>Investiga el uso de los comandos head y tail tambi\u00e9n para visualizaci\u00f3n de ficheros.<\/p>\n<p><strong>Cambiar el nombre a un fichero<\/strong><\/p>\n<p>con el comando mv podemos tanto mover un fichero como renombrarlo<\/p>\n<pre>mv 'nombre_old' 'nombre_new'\n\n<\/pre>\n<p><strong>Copiar un fichero<\/strong><\/p>\n<pre>cp origen\u00a0destino<\/pre>\n<p><strong>Usar BLAST en local<\/strong><\/p>\n<p>Ver la ayuda . Usar una <em>pipe ( |)<\/em><\/p>\n<pre>blastn -help | more<\/pre>\n<p>Ejecutar blast<\/p>\n<pre>blastp -query sequence_blast_cmd.txt -db nr -remote -out nuc.out<\/pre>\n<p>#Comprueba la ruta desde la que lanzas y en la que est\u00e1 el fichero<\/p>\n<p>Algunos trabajos pueden tardar bastante (por ejemplo este caso). Si la conexi\u00f3n se pierde entre la ejecuci\u00f3n de un comando y su final, el comando lanzado se detendr\u00e1. Para evitar esto podemos usar el comando <strong><em>nohup <\/em><\/strong>o un gestor de sesiones como <a href=\"https:\/\/www.linuxtrainingacademy.com\/tmux-tutorial\/\" target=\"_blank\" rel=\"noopener\">tmux<\/a>.<\/p>\n<pre>nohup blastn -query sequence_blast_cmd.txt -db nr -remote -out nuc.out &amp;<\/pre>\n<p>Al lanzar el comando de esta manera no se interrumpir\u00e1 si se pierde la conexi\u00f3n. El resultado del comando no lo veremos por pantalla sino que se guardar\u00e1 en un archivo (por defecto nohup.out).<\/p>\n<p><strong>Subir ficheros al servidor desde el ordenador:<\/strong><\/p>\n<p>Hasta ahora hemos visto c\u00f3mo pod\u00edamos descargar ficheros de internet pero tambi\u00e9n es posible subir ficheros desde nuestro ordenador. Aunque existen muchas alternativas, vamos a explicar el uso del programa <a href=\"https:\/\/filezilla-project.org\/download.php\">FileZilla<\/a>, disponible para los 3 sistemas operativos. Visita la p\u00e1gina, descarga la versi\u00f3n oportuna e inst\u00e1lalo <a href=\"https:\/\/filezilla-project.org\/download.php\">https:\/\/filezilla-project.org\/download.php<\/a>.<\/p>\n<p>Puedes seguir este tutorial<a href=\"https:\/\/wiki.filezilla-project.org\/FileZilla_Client_Tutorial_(es)\"> https:\/\/wiki.filezilla-project.org\/FileZilla_Client_Tutorial_(es)<\/a>. Recuerda los datos que usaste con PuTTY para acceder al servidor:<\/p>\n<pre> Hostname: alu.ugr.es\n Username: [suministrado por el Equipo Docente]\n Password: [suministrado por el Equipo Docente]\n Port: 2212<\/pre>\n<p>FileZilla tambi\u00e9n te permite crear directorios y ficheros en un entorno gr\u00e1fico (sin usar la l\u00ednea de comando) y directamente en el servidor.<\/p>\n<p>Tanto PuTTY como FileZilla dependen de una conexi\u00f3n estable a internet. Tanto por fallos de conexi\u00f3n como por inactividad, el servidor puede interrumpir la conexi\u00f3n con nuestro ordenador. En ese caso simplemente vuelve a realizar los pasos anteriores para volver a conectarte. Recomendamos almacenar estos datos en los propios programas para evitar tener que repetirlos cada vez que entremos.<\/p>\n<p>* Ejercicios para practicar:<\/p>\n<p>Sube un fichero desde tu ordenador a tu carpeta personal. Crea una carpeta nueva y mete el fichero dentro. Cambia el nombre de la carpeta.<\/p>\n<p>Haz otra carpeta nueva. Copia la carpeta anterior dentro. Sigue experimentando con los comandos aprendidos.<\/p>\n<p>Cuando acabes usa el comando\u00a0<em>rm<\/em> (con cuidado!!) para borrar aquello que ya no consideres \u00fatil.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>ANTES DE EMPEZAR Por favor, lee atentamente las instrucciones. Para continuar con estos ejercicios nos conectaremos a un servidor Linux preparado por el Equipo Docente. Deber\u00edas haber recibido un usuario y una contrase\u00f1a para poder acceder junto con unas instrucciones. <a href=\"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/ejercicios-linux\/\" class=\"read-more\">Read More &#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1639","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/pages\/1639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/comments?post=1639"}],"version-history":[{"count":0,"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/pages\/1639\/revisions"}],"wp:attachment":[{"href":"https:\/\/alu.ugr.es\/bioinfo\/biocomputacion\/wp-json\/wp\/v2\/media?parent=1639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}