Download TP UNIX-EMBOSS - genoma . unsam . edu . ar

Document related concepts
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 [email protected] // pedir clave
ssh –X [email protected] // 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 &amp; 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)