Vous êtes sur la page 1sur 15

Sistemtica Filogentica Laboratorio

BIOL 3203: Laboratorio (1 crdito)


Profesor del Laboratorio: Luisa A. Castellanos
Profesor del Curso: Andrew J. Crawford
Monitor: Francisco Gamarra
Departamento de Ciencias Biolgicas, Universidad de los Andes
Semestre 2015-2
Lab 1 Introduccin a Unix
Julio 30 del 2015
Un sistema operativo (OS por sus siglos en ingls) es un programa que administra los
recursos de la mquina, Unix es un sistema operativo multitarea y multiusuario,
desarrollado por Ken Thomson, Dennis Ritchie y colaboradores en la dcada de 1970 en el
centro de investigacin de los laboratorios Bell. (What is UNIX ?, 2012). Unix es el OS
ms flexible y robusto, y el ms importante en la bioinformtica. Muchos de los programas
nuevos en Filogentica requieren un conocimiento bsico de Unix. Unix viene en muchos
sabores o versiones distintas, con usas diferencias menores entre ellas. Linux es tal vez la
versin ms conocido. El Mac OS X est basado en una versin se llama Darwin. Otra
versin muy popular entre informticos es Ubuntu.
Objetivo:
Familiarizarse con los comandos bsicos del sistema operativo Unix.
Estructura del archivo.
La estructura del Sistema de Archivos tiene cierta jerarquia. partiendo de un directorio de
raiz que contiene a los otros directorios o archivos. Por ejemplo, si tenemos un archivo
llamado notas:

Tomado de: http://www.ibiologia.unam.mx/computo/unix.html

La direccin o en ingls path para ubicar este archivo ser


/usr/users/castillo/notas
Igual a todos los usarios, el usario castillo tendr su home directory (su casita). El home
directory de uno se puede representar tambin con el simbolo ~ (el gusanito). Por eso, la
misma direccin o path arriba se puede representar como
~/notas
pero solo el usario castillo puede ubicar el archivo notas de esa forma.

Terminal.
Terminal es el nombre comn para el programa que bsicamente permite utilizar un input,
correr programas sin interfaz grfica (Graphical User Interface o GUI, pronounciado como
gooey en ingls) y generear un output. En su computador (Ubuntu, Linux o Mac) ubique
su linea de comandos, desde aqu podr trabajar en linea de comandos, de doble click.
Aparecer una ventana con:
NombreDelEquipo:~NombreDelUsuario$

Se peuden abrir ms de una ventana de Terminal -> Click derecho -> Nueva ventana. Cada
vez que se abre una ventana se inicia en el directorio principal llamado /home, que
contiene todos los directorios y archivos para todos los usuarios, representado por el
gusanito ~

IMPORTANTE: Terminal diferencia maysculas y minsculas, si el archivo o directorio


tiene una mayscula al inicio y la escriben con minscula no la encontrar, por lo que
escribir Ranas para el computador no ser lo mismo que escribir ranas, esto aplica para
comandos y nombres.
En ese punto slo debe escribir el comando que se le indica. Para agragar ms de un
comando en seguido per independiente, utilice un punti-coma ; . Pueden mandar el
resultado de un comando directamente a otro comando usando el ducto, o pipe, | (barrita
perfectamente vertical).

Trabajando con archivos.


ls
Permite ver el contenido del directorio donde se encuentra.
Si adems de escribir ls se pueden adicionar opciones llamadas banderas o flags en
ingls. (no olviden el guin):
-l
Formato largo (long)
-a
Lista todas (all)las entradas (incluyendo archivos ocultos, cuales comienzan
con un . punto, por ej., .bash_profile)
-t
Ordena por fecha de modificacin (time)
-u
Ordena por fecha de uso
-F
Indicar cuales tems son directorios (Folder) con un / al final del nombre y
cuales son ejecutables con un * al final.
-r
Del ms antiguo al ms reciente (long)
-s
Tamao en bloques
-d
Informacin sobre el estado del directorio
Se pueden combinar todas las flags que quieren, simultneamente. Por ejemplo, ms til
que ls puede ser usar siempre ls Flatr
para ver de una la lista delcontenido del directorio, indicando Folders, formato
largo, indicar all archivos (incluso ocultados), en orden de tiempo, pero tiempo al revs, es
decir los ms recientes abajo en la lista.
Vamos a diferenciar entre archivos y carpetas (directorios) en el escritorio de este
computador utilizando p, que adicionar al final de cada directorio un /

Podemos ver que sis, sis2, UnixCosa y Wkn son carpetas (directorios). La flag F hace lo
mismo que p, y ms cosas. Para ms opciones (flags) ejecuta del comando man ls.
pwd

Muestra la ruta donde se encuentra en ese momento = Print Working Directory.


til si uno se pierda en el Unix. :-)
cd
Para cambiarse entre directorios, al poner ls le mostrar los archivos o carpetas, si
desea acceder a alguna de estas carpetas escribe:
cd Nombre_De_La_Carpeta
cd ~
Regresa al directorio home del usuario.
cd /
Cambia al directorio raz. Normalmente una mala idea.
cd ..
Cambia al directorio superior en la jerarqua
cd ../.. Cambia a dos directorios superiores en la jerarqua
cd ~/Documents/filogenetica/16S_alignments/
ir directamente
a este directorio en particular.
Vamos a ubicarnos en el Escritorio

mkdir

Para hacer un directorio. Es como hacer una carpeta en el directorio donde


estn.

Vamos a hacer una carpeta llamada sis

touch file1
Crear o actualizar file
Vamos a crear un nuevo archivo en la carpeta sis llamado hola y otro llamado borrar

Vamos a borrar el archivo borrar

rmdir

Borrar directorios (vacios) en blanco.

Vamos a crear un nuevo directorio llamado sis2 en el escritorio y lo vamos a borrar

rm
rm file
-f
-r
-i

Borrar archivos que JAMS se recuperan, porque no van a la papelera de


reciclaje y no estn en blanco. ES UN COMANDO PELIGROSO.
:Borrar el archivo file
Para la eliminacin de archivos protegidos contra escritura. Peligroso!
Pide interactivamente borrar
Es lo mejor que le pudo haber pasado al comando rm, les pide confirmacin
antes de eliminar. Despus de que les pide confirmacin oprimen y. Si no
desean que lo borre slo oprimen enter, sin escribir y.

Voy a crear en la carpeta sis un archivo llamado file y le voy a pedir que lo borre
(Notan que Dentro de la carpeta sis puse un archivo nuevo llamado
COI_Luisa_todas_juntas.txt?)

cat

Permite visualizar el contenido del archivo

Vamos a ver el archivo COI_Luisa_todas_juntas.txt son secuencias de ADN (el


archivo es ms largo, slo puse un pedazo)

more file Muestra en la pantalla el contenido de file


Este comando no muestra el archivo completo a menos que le den enter y va mostrando
lnea por lnea.
lpr

Imprime el archivo

cp file1 file2

Copiar file1 en file2

Voy a copiar lo que habra en el archivo hola en un nuevo archivo llamado hola2

Ahora vamos a crear un archivo llamado file3 en home y lo vamos a pasar a sis

Y de vuelta a home

cp R dir1 dir2

Copiar directorios dir1 en dir2

Vamos a copiar la carpeta sis dentro de sis2. No olviden poner el -R , = recursivo, es


decir, copiar los contenidos de la carpeta tambin.

find file Busca file, indica si encontr el archivo en el directorio.


-name Despliega el nombre del archivo, si lo encontr y en que directorio.
Ac va el comando ms importante de todos.
man nombre_comando: Muestra el manual del comando nombre_comando
Por ejemplo, si no se acuerdan de las opciones para el comando list o ls, mira el manual,
por supuesto:

Para salir de man presione q.


mv

Para mover un archivo. Si queremos mover el archivo hola a la carpeta insis


que est dentro de la carpeta sis:

Trucos.
Unix tiene algunos trucos para hacernos la vida ms fcil. Algunos se comparten con el
software R, si lo conocen. Por ejemplo:
Flecha arriba: espicha una vez para que demuestra el ltimo comando, dos veces
demuestrael penltimo comando, etc. Para de all ejecutar dicho comando,
usar el <ENTER>. Otro truco til es usar la flecha arriba para buscar un
comando previo, y las flecha izquierda para editar dicho comando, y
<ENTER> para ejecutar el comando modificado.
Si les parece cansn moverse por la izquierda y derecha dentro del comando usando
las dos respectivas flechas, observan que:

<CTRL>-a = mover el cursor al inicio de la lnea.


<CTRL>-e = mover el cursor al final de la lnea (e de end).
<ESC>-f = mover el cursor adelante una palabra (f de forward).
<ESC>-b = mover el cursor atrs una palabra (b de backwards).
<ESC>-<DEL> = borrar palabras, no slo caracteres.

Tab: Si digitan la cantidad de letras necesarias para que Unix identifique cul es el
directorio o archivo que quieren y despues oprimen Tab, l llenar el resto del
nombre.
history: Si escriben history en su Terminal se mostrarn todos los comandos
que han usado.
passwd: Cambia la contrasea de conexin al sistema:
Old password: Contrasea anterior
New password: Contrasea nueva
Retype new password: Verificacin de la contrasea nueva.
Control+C: Para detener el corrido de un programa en Terminal
Arrastrar la direccin: Si arrastran la carpeta hasta la ventana de Terminal donde
se quieren ubicar esta los dejar inmediatamente dentro de la misma

Script
Para crear un nuevo archivo escriba nano Nombre_Del_Archivo y all se abrir el
editor. nano es un editor Unix bsico de texto. Existen muchos otros editores, como vi,
vim, pico, y el ms poderoso, emacs.

Escriba
# my first Unix shell script
echo "Hello World"

Salve oprimiendo CTRL-X, salve como hello.sh y oprima <ENTER>. Ya hemos


creado el nuevo archivo pero es necesario modificar los permisos para correrlo.
Permisos
Cuando un usuario crea un archivo se le puede otorgar permisos o protecciones para el
directorio o archivo. Hay tres tipos de usuario:
propietario: quien crea el archivo.
grupo:
de usuarios al que pertenece el propietario.
pblico:
cualquier persona que tenga acceso al sistema.
Se pueden otorgar estos tipos de permiso:
r:
Lectura (read)
w:
Escritura (write)
x:
Ejecucin (eXecute)
Al escribir sobre Terminal comando ls -l podr observar las siguientes columnas:
permisos

num. bloques

propietario

grupo

tamao

fecha hora

archivo

permisos: indica los permisos de cada archivo. Esta columna se compone de 10 caracteres
d rwx rwx rwx
d: indica si es un directorio o no
rwx son los permisos de propietario
rwx son permisos de grupo
rwx son los permisos del pblico.

Cuando algn atributos esta desactivado ver solamente un guin en el espacio


correspondiente.
chmod : Para cambiar los permisos de un archivo. Se estructura de la siguiente manera:
chmod [ugoa][+-][rwx] archivo
u
g
o
a
+
r
w
x

permisos de usuario
permisos de grupo
permisos de otros
permisos para todos
anadir un permiso
quitar un permiso
lectura
escritura
ejecucin

Para correr su archivo hello.sh escriba:


chmod u+x ./hello.sh y debera mostrar un output en la pantalla diciendo Hello
World gracias al comando echo
chmod Se necesita para que ejecute un script hecho por ustedes. Es permiso exclusivo
para el directorio. Muchas veces programas de Filogentica no vienen con los permisos
necesarios. Si no est corriendo un programa nada, revisan los permisos primero!
u Le da el permiso al usuario
+x Aadir permiso de ejecucin
./ se utiliza para correr un script que est actualmente dentro de la misma carpeta, el
working directory en el momento de ejecutar el comando.

Procesos
ps

Muestra informacin sobre los procesos activos


-a
Para todos los procesos
-l
Informacin en un listado
-x
Muestra informacin sobre los procesos que no estn asociados al Terminal
kill pid: mata el proceso pid
bg
Despliega una lista de todos los procesos detenidos o en otros planos (background).
fg n Pasa el proceso n a primer plano. (foreground)
Otra forma de ver los procesos corriendo en el momento es top. Prueba
top -ocpu -s8 -n20

Es bsicamente lo mismo que la utilidad Activity Monitor en Mac OS X.


Buscando en documentos
Antes de iniciar con comandos tiles para buscar en un documento, vamos a ver la
estructura de un documento FASTA.
El documento Fasta inicia con un > en cada encabezado que suele ser el nombre de
secuencias de ADN o protenas. Justo debajo se encuentra la secuencia. Por ejemplo

Para encontrar distintos patrones dentro del documento utilizamos el comando grep.
Vamos a buscar > dentro del archivo 16s_Osornophrine_Paez.fasta

grep v: Para ver slo las secuencias con el valor especificado

| : Se denomina pipe, conecta dos programas de Unix.


Para este ejemplo vamos a usar el programa less, le vamos a decir que muestre slo las
secuencias que tengan el patrn AAATG

An puede cambiar el patrn de bsqueda utilizando / y la secuencia

Expresiones regulares: Se utilizan para decirle a Unix que busque coincidencias en cual
quiere patrn de texto que se puede imaginar. Usas variables tiles son:
$
Fin de la linea
^
nicio de la linea
[0-9]
Cualquier nmero
[A-Z]
Cualquier letra mayscula
[a-z]
Cualquier letra minscula
[0-9]*
Cero o ms nmeros en seguidos.
[0-9]+
Uno o ms nmeros en seguidos.
[\t]
tab
[\s]
Cualquier tipo de espacio blanco, incluso tabs.
Por ejemplo, vamos a decirle que busque TGATT al inicio de la linea

Hay muchas ms expresiones regulares, si quieren ver una lista de las principales
(Heckndorn, 2012):
http://marvin.cs.uidaho.edu/Handouts/regex.html

En el laboratorio de la siguiente semana les monstramos la utilidad de grep a travs del


programa TextWrangler. Si tienen un Mac, TextWrangler pronto ser tu mejor amigo!
http://www.barebones.com/products/textwrangler/download.html
Otros comandos
Por ejemplo, quieres conseguir una copia del ms nuevo paper de Crawford:
wget

http://dna.ac/PDFs/Paz\&l_15_trait-based_phylogeography_frogs_with_SOM.pdf

El smbolo \ indica a Unix que el smbolo que sigue, el &, no tiene propiedades
especiales en este caso (como tiene en un comando tipo Unix, sino en este contexto es un
simple carcter de texto
.
Existen otros comandos tiles, aqu hay una excelente tabla de algunos de los comandos
que abordamos en clase y otros donde pueden profundizar (Paszkiewicz , Papanicolaou , &
Lopez ):

Bibliografa
What is UNIX ? (2012). Obtenido de The Open Group:
http://www.unix.org/what_is_unix.html

Heckndorn, D. R. (2012). Popular Handouts. Recuperado el 28 de 07 de 2015, de Dr.


Robert Heckndorn: http://marvin.cs.uidaho.edu/Handouts/regex.html
Paszkiewicz , K., Papanicolaou , A., & Lopez , F. (s.f.). Unix command line . Unix Primer
for Biologists .

Vous aimerez peut-être aussi