Download TP UNIX-EMBOSS - genoma . unsam . edu . ar
Transcript
TP UNIX-EMBOSS- CURSO BIOINFORMATICA 2013 Introduccion a Unix Objetivo: familiarizarse con el sistema operativo Unix; comprender ventajas respecto a sistemas operativos con GUI. El shell Introducción: el sistema operativo UNIX está basado en tres componentes principales: el kernel, el shell y los programas. El kernel. El kernel es el corazón del sistema operativo: distribuye el tiempo y la memoria entre los programas y maneja las comunicaciones y el almacenamiento de archivos. El shell. El shell actúa como una interfaz entre el usuario y el kernel. El shell es lo que se llama un intérprete de comandos (command line interpreter o CLI). Interpreta los comandos que el usuario tipea y se encarga de que sean ejecutados. Los comandos son en sí mismos programas: cuando terminan de ejecutarse, el shell vuelve a ofrecer al usuario la posibilidad de ingresar nuevos comandos. Los comandos deben ser tipeados de forma que el shell los pueda entender. Cada comando pasado al shell consiste en el nombre del comando, seguido de opciones y argumentos. El nombre del comando, opciones y argumentos deben ser separados por espacios (blank space). La forma genérica de un comando UNIX es: nombre_del_comando [-opciones] [argumentos] Las opciones se indican en general usando un guión (dash) y permiten modificar el comportamiento de un programa. Los argumentos pueden ser nombres de archivos o directorios u el nombre de otros programas que el comando necesite acceder. Los corchetes ([ y ]) indican partes del comando que pueden ser omitidas (son opcionales) El comando de ayuda es….!! “man” nombre del comando Si no se conoce el comando exacto usar “apropos” Para tener en cuenta antes de empezar: Iniciar el sistema en Ubuntu Conectarse con ssh –X –p 6262 alumno@200.45.170.13 // pedir clave ssh –X usuario_asignado@10.1.102.123 // pedir clave Para conectarse desde una máquina con Windows usar el programa putty y consultar Caracteres especiales en UNIX UNIX reconoce ciertos caracteres especiales como directivas. Si utilizan alguno de estos caracteres en un comando, asegúrense de saber lo que están haciendo. Los caracteres especiales son: \<>!$%^&*|{}~; El significado de estos caracteres y las maneras de utilizarlos serán introducidos a medida que avance el práctico. Archivos y directorios en UNIX El sistema de archivos en UNIX (filesystem): toda la información almacenada en un sistema UNIX, se encuentra en un filesystem. En todo momento, el sistema (el shell) considera al usuario localizado en algún lugar dentro del filesystem. A pesar de que puede sonar extraño "estar localizado" o "estar parado" en algún lugar dentro del sistema de archivos, el concepto no es diferente a lo que ocurre en la vida real: uno nopuede estar en algún lugar, uno de hecho está siempre en algún lugar. En UNIX, la posición en el filesystem en la que uno se encuentra se conoce como "current working directory" (cwd) o "working directory". Cuando uno ingresa al sistema (login) el sistema pone a cada usuario en su "home directory". Para saber dónde uno está parado, tipear pwd Que quiere decir algo así como "print working directory". La estructura del filesystem es jerárquica (similar a la de un árbol). El punto más alto de la jerarquía es la raíz del filesystem (root), denotada por una barra (slash) "/". Para describir un punto específico dentro de la jerarquía de archivos (el filesystem) hay que especificar un camino o path para llegar a él. El path puede ser absoluto (es decir desde la raíz del árbol) o relativo (desde el working directory). Al especificar un path simplemente se escribe la ruta (secuencial) de directorios separados por barras (slashes). Ejemplos de paths absolutos (ver figura): /users/staff /users/admin/jon /usr /etc Notar que todos los paths absolutos parten desde la raíz (/). En este caso la primer barra (slash) del path no es un separador, sino la raíz del filesystem. Si usan el comando ls (para listar los contenidos de un directorio) con la opción -a, van a ver dos directorios especiales en el listado: "." y ".." En UNIX "." representa al cwd, mientras que ".." representa al directorio parental en la jerarquía. Referirse de este modo a estos directorios particulares es indispensable para especificar paths en forma relativa. Suponiendo que estamos en /admin (ver figura), cómo especificamos el camino hasta /users/student en forma relativa? Respuesta: ../student Que, leyéndolo en criollo, sería algo así como, subir un nivel en la jerarquía (..), y descender luego a students. Ahora que sabemos cómo especificar posiciones dentro del filesystem, podemos movernos. Para cambiar de posición dentro del filesystem, hay que usar el comando cd (change directory), seguido del lugar al que uno quiere ir, como argumento. Por ejemplo cd /tmp para moverse al directorio /tmp. En este caso el argumento es un path absoluto, pero también puede ser uno relativo. Por ejemplo cd .. para ir al directorio inmediatamente superior en la jerarquía (el parental). Se puede tipear pwd cada vez para verificar el cambio de directorio. EN LA PRÁCTICA : user1@biolinux-unsam[user1] pwd ( indica donde se está situado en forma de path absoluto) user1@biolinux-unsam[user1] ls ( lista que directorios archivos hay en el directorio que se está) user1@biolinux-unsam[user1] ls -l ( lista qué directorios archivos hay en el directorio en que se está, en forma detallada ) user1@biolinux-unsam[user1] ls -R ( lista que directorios archivos hay en el directorio que se está y en todos los directorios ahí contenidos ) Para buscar el directorio chau con find…… user1@biolinux-unsam[user1] find / -name chau (/ alt+42 representa la raíz) ver que hay ahí … ya lo saben Crear directorios mkdir nombre ( crear un archivos_tp, o el que quieran que recuerden!!!!!!, en su usuario) moverse de directorio cd a donde quieran ir (path relativo al pwd o absoluto, prueben todas las opciones moviéndose de directorio y chequeando con pwd donde quedaron situados) recuerden que . Significa directorio actual .. el directorio superior ~ el directorio del usuario (alt+126) Copiar archivos cp archivo origen archivo destino (nuevamente pueden ser path relativos o absolutos) copien el prueba.txt situado en … a su propio directorio recién creado…. Y ya que están, generen una copia con otro nombre… pruebaotracopia.txt chequeen que el archivo original está en los dos lugares…. Y que está el nuevo creado Mover archivos (prueben cuando quieran completar un nombre de archivo poner las primeras letras y luego el Tab) mv archivo origen archivo destino (nuevamente pueden ser path relativos o absolutos) muevan el pruebaotracopia.txt al directorio user(propio), corroboren que está… y ahora hay que moverlo a donde estaba con el nombre pruebaotracopia2.txt. De esta manera, no debe haber ninguna archivo prueba… en el nivel de usr* y si debe estar el original y el …otracopia2 en el directorio creado…. Ahora usen las flechas de arriba y abajo a ver qué pasa…. La pantalla tiene muchas cosas…. user1@biolinux-unsam[user1] clear Viendo el contenido de archivos cat (concatenate)se puede usar para mostrar los contenidos de un archivo en la pantalla. Tipear user1@biolinux-unsam[user1] cat nombre de archivo usen el archivo lsgeneral….) (nuevamente pueden ser path relativos o absolutos, Para archivos largos, mejor usemos un paginador…. user1@biolinux-unsam[user1] less nombre de archivo para salir q) (ahora prueben utilizar las teclas J K re-pag av-pag y Dentro del less se puede buscar alguna palabra usando /. Prueben buscar lsgeneral o nombres1, acá se usa n para ver la siguiente ocurrencia Otras opciones son more, o editores de texto como vim, pico , cada uno con sus indicaciones … man vim Para ver solo primeras o últimas líneas user1@biolinux-unsam[user1] head -n nombre de archivo user1@biolinux-unsam[user1] tail –n nombre de archivo (permite ver las “n” primeras líneas del archivo) (adivinen) Mejorando la búsqueda dentro de un archivo grep –opciones palabra_a_buscar archivo -i (para ignorar mayúsculas) –v (para líneas que no contienen el match) -n (para mostrar los números de línea) -c ( solo cuenta las líneas con match) Probar y sacar conclusiones…. user1@biolinux-unsam[user1] grep –n user lsgeneral user1@biolinux-unsam[user1] grep –in user lsgeneral user1@biolinux-unsam[user1] grep –n User lsgeneral user1@biolinux-unsam[user1] grep –in User lsgeneral < Redirecciona el input (por default es el teclado) >redirecciona el output (por default es la pantalla) user1@biolinux-unsam[user1] cat > nombres1 tipeen algunos nombres en orden aleatorio, separados por cuando terminen usen ctrol+D vean el archivo nomb1 ahora agreguen algunos más user1@biolinux-unsam[user1] cat >> nom1 vean que pasó… y generen otro archivo nomb2, más nombres…. Ahora los vamos a unir… user1@biolinux-unsam[user1] cat los nombres de archivos separados por un espacio >> nombre del archivo nuevo (nomb3, por ejemplo) vean el nuevo archivo, ahora lo vamos a ordenar…. user1@biolinux-unsam[user1] sort < nomb3 (como no le especificamos el output lo muestra en pantalla) ahora vamos a probar un “pipe” | (alt 124), pipeline o conducto o como quieran Pipes, en Wikipedia user1@biolinux-unsam[user1] cat nomb1 nomb2 >> nomb3 | sort < nomb3 > nomb4 analizar que hicieron…. SCRIPT Para tener un registro de los que hacen está el comando script, que por default genera un archivo typescript o se puede redireccionar al archivo que quieran, para salir del script usar exit o ctrol+D. user1@biolinux-unsam[user1] script > nombre que quieran (puede ser captura.out o referido al trabajo que hagan, por ejemplo tp2.out INTRODUCCION A EMBOSS Objetivo: familiarizarse con el paquete de aplicaciones EMBOSS. Introducción a EMBOSS. Es un paquete de aplicaciones gratuito, de código abierto, específicamente desarrollado para cubrir las necesidades de los biólogos moleculares. El software maneja información biológica en varios formatos y permite el acceso a secuencias en forma remota de manera transparente para el usuario. EMBOSS además provee al usuario con una interfaz unificada para todas las aplicaciones. Actualmente EMBOSS incluye más de 100 aplicaciones distintas que cubren áreas como: alineamiento de secuencias búsquedas de secuencias a partir de patterns identificación de motivos y análisis de dominios análisis de patrones en secuencias de ADN identificación de repeticiones análisis de uso de codones y muchos más Pueden obtener un listado completo en emboss.org Organizacion del TP. Se supone que ya se encuentran familiarizados con algunos comandos básicos de UNIX para manipular archivos y directorios. EMBOSS contiene muchas más aplicaciones de las que podemos usar en este práctico. La idea es introducirlos al uso de EMBOSS usando algunos comandos y mostrarles cómo pueden encontrar y usar el resto. Hay muchos ejercicios para hacer, sientanse libres de experimentar con los programas! Es la mejor manera de aprender que es lo que se puede hacer con ellos. La idea es que lean esta guía, que los introduce a algunos comandos básicos y después hagan los ejercicios que se encuentran en el tutorial de EMBOSS. Los ejercicios que necesiten de un display gráfico (dottup, plotorf, etc.) tal vez no lo puedan hacer si se conectan desde una máquina con windows. Primer contacto con EMBOSS Podemos usar wossname para buscar programas dentro de EMBOSS. Normalmente va a ocurrir que queremos hacer algo (por ejemplo traducir una secuencia) y no sabemos cómo se llama el comando para hacerlo. Con wossname, podemos intentar buscar comandos. Nos va a pedir una palabra de referencia user1@biolinux-unsam[user1] wossname Find programs by keywords in their short description Text to search for, or blank to list all programs: protein Y nos da un listado de todos los comandos que tienen relación con proteínas y una pequeña descripción de lo que hacen…. Como verán son muchos solo con proteínas, así que nos vamos a centrar en algunos como muestra… Vamos a ver que bases de datos tenemos disponibles, averigüen que comando usar… prueben un dot plot entre embl:xlrhodop y embl:xl23808 jueguen con los parámetros a ver que pasa Extraigan la secuencia OPS2_DROME de la base swissprot (el input que le piden es base_de_datos:secuencia, el comando saben cómo buscarlo), ahora otro archivo con todas las secuencias OPS2_*, mirar los dos archivos. Contar cuantas secuencias OPS2 hay en el segundo archivo…. (recuerden grep) Separen las distintas secuencias de este último archivo seqretsplit, ver que pasó Analizar cuáles son los orf (comandos plotorf / getorf –opt ) de la secuencia xlrhodop de la base embl. Traducir a proteína alguno de esos posibles orf… user1@biolinux-unsam[user1] transeq embl:xlrhodop –sbegin 110 (número_inicio) –send 1171 (número_final) –outseq xlrhodop.pep. ahora miren el archivo Veamos alguna información de la prteína… pepinfo / tendrá motivos transmembrana… tmap Esto solo intenta ser una muestra muy general de las posibles utilidades de EMBOSS, en el tutorial tienen mucho más detalles sobre cada opción. No se olviden de cerrar el script y si les queda tiempo mirar el archivo generado Referencias For people new to both FreeBSD and Unix. Artículo escrito por Annelise Anderson, parte del FreeBSD Documentation Set. Learning the UNIX Operating System O'Reilly & Associates (1998). On the early history and impact of Unix tools to build the tools for a new millenium. Draft chapter from Michael Hauben's and Ronda Hauben's netbook titled "Netizens: On the History and Impact of Usenet and the Internet". The art of Unix programming. intenta transmitir la filosofía que subyace en el desarrollo de Unix como un sistema operativo y de cada una de las pequeñas herramientas (comandos) disponibles. Shell programming in 24 hs Sriranga Veeraraghavan, SAMS Publishing (1999). EMBOSS Home Page EMBOSS: The European Molecular Biology Open Software Suite. (2000) Trends in Genetics 16:276277. Introduction to Sequence Analysis using EMBOSS Servidor EMBOSS, nodo EMBnet Argentina (necesitan pedir una cuenta por mail (gratis para uso académico) para usarlo)