¡Descarga Programació en PERL i programes exemple y más Ejercicios en PDF de Biotecnología solo en Docsity!
Apuntes Bioinfo Biotec
1ª Sesión A. Barbadilla
Programación en PERL
13/ott/2008, 2ªed, revisada y completada © Roi Villar Vázquez
PERL: Características:
- (^) Interpretable & NO ejecutable: requiere lector vs. - (^) Un lenguaje Executabel ( eg:c:--> requiere compilación)
- (^) Sequencias entendibles como texto. PERL preadaptado sin saberlo a secuencias biológicas.
- (^) Curva de aprendizaje, baja moi agradecido. Pouca teoria requerida para empezar a programar. Pero puede engañar, no se acaba rápido puede complicarse.
Infraestructuras para correr PERL
- (^) En win instalable Active PERL
- (^) En gnu /mac por defecto
- (^) Existen lectores on-line (e.g. biocomputació)
- (^) EDITOR Texto (not processor) (notepad (cutroe) /editplus (detecta lenguajes & corrige) /Kate)
ProgramaciÓN
(intro)
- (^) Solucion gradual (no directa) problemas reiterativos,
- (^) Edición,ejecución,reviewing, saving
- (^) Intuición, minimalismo,=good programming (elegancia)
- (^) Help: debugging exe’s
- (^) Backing up: sistemático&periódico1sem
Programacion 3
- (^) Verbosidad : hacer comentarios a la hora de traducir a codigo tu pseudocodigo, - (^) universalizan en personas y tiempo tu programa - (^) aumentan la comprension del mismo.
- (^) Como?
- (^) Anotando versiones previas cambios…
- (^) EXPLICA utilizando comentarios.
Comandos básicos 1
- (^) Script=código pequeño, secuencia de ordenes
- (^) Al cortar y pegar de ppt , cambia dobles comillas por las que estan encima del 2 (buscar y reemplazar)
- (^) Print “”; Imprime en pantalla
- (^) # comentario /no interpretado
- (^) $var= ; definición variable (con nombre) numerica que acepta las 4operacioines básicas elementales & parentesis ( acábalo con punto y coma )
- (^) \n salto de linea
- (^) \t salto de tabulador
- (^). Valor de variable
- (^) Acaba con exit;
String interpolation & def de vars
- (^) $variable = ;
- (^) Pueden ser letras o numeros, si son letras cogerá un string sin traducir.
- (^) $var=“”; capta la salida que le pongas, si pones variables de por medio (imprime lo que haya entre comillas y te lo asigna a variable), es decir, traduce operadores
Teoria/ortografía.
- (^) Strings admitidos entre comillas dobles (decodifica variables y entrega valores ) y sencillas (apostrofe) (no decodifica, printed as written)
- (^) Entiende notacion científica, negativos y decimales, también texto (solo como string)
- (^) Variables y operadores distinguen mayúsculas y permiten longitud e alfanumerismo
- (^) Asignacion mediante =
- (^) Pueden ayudar:
- (^) \U (uppercase) para convertir en mayúsculas todos los caracteres a partir de \U
- (^) \L (lowercase) para convertir en minúsculas todos los caracteres a partir de \L
- (^) \E (exit) para fin de la conversión desde \U o \L
- (^) Estas emprégaas na declaración de variables entre comillas tal que asÍ:
- (^) $DNA="\LACGGGAGGACGGGAAAATTACTACGGCA\ETTAGC";
- (^) $var = uc $VARIABLE; convierte $var a mayúsculas
- (^) $VARIABLE = lc "ACGT"; convierte $var a minúsculas
operadores
- (^) S ( substitución) s/substituído/substituidor
- (^) Añade /g al final si quieres que substituya todo lo que encuentre
- (^) No lo añades y restriccionale al 1st encount
Programa que transcribeix fragments de DNA
Primer guardem dos seqüències de DNA en dues variables
$DNA = "ACGGGGAGGACGGGAAATTACTACGGGCATTAGC"; $RNA = $DNA; $RNA =~s/T/U/g ; Imprimim en pantalla les dues seqüències separadament
print $DNA."\n"; print $RNA."\n\n"; - (^) Funciona raro, tienes declarar el destino de substitución, y una vez substituír.
- (^) MIND CAPITALITY!!!! ~ esta cosa rara se escribe Altgr+4 y un espacio que luego has de borrar.
Operadores avanzados
- (^) $var=~s/t/u/g; : cambia en la variable string las todas las t’s por las u’s, (la g hace que sean todas las t’s
- (^) $REV = reverse $Var; define nova variábel ($REV) con orden inverso da cadea de texto $var
- (^) $var=~tr/atcg/tagc/; cambia en variable string ($var) los caracteres en estricto orden, (no requiere g) (puede utilizarse en lugar de ~s)
- (^) $nr=lenght(“STRING”) ó LENGTH $VAR: asigna a variable $nr a loxnxitude da strign
Sol2: Virtual DNApol
- (^) print "Welcome to virtual DNApol\n";
- (^) $DNA=ACGGGAGGACGGGAAAATTACTACGGCATTAGC;
- (^) print "this is your seq. \n$DNA \n";
- (^) $rev= reverse $DNA;
- (^) print "Reverted DNA\n$rev\n";
- (^) $rev=~tr/ATCG/TAGC/;
- (^) print "complementary nucleotydes \n$rev\n";
- (^) print "Final DNA Seq 5' $rev 3'\n";
- (^) #seria más adecuado primero herramienta traducir y después invertir, así puedes comprobar directametne;
- (^) exit;
Planteamiento virtual DNApol
- (^) 5-atgctgatcc-
- (^) La complementaria NO ES tacgactagg, por que seria 3-
- (^) La complementaria seria ggatcagcat,
- (^) Necesitamos dos funciones
- (^) Reverse
- (^) Y substitución.que no sirve la normal si no tendriamos todas iguales (todo tes y luego serian todo as) requiere 4variable comodin.
DNA ligasa!
Programa que concatena fragments de DNA
Primer guardem dos seqüències de DNA en dues variables
$DNA = "ACGGGGAGGACGGGAAATTACTACGGGCATTAGC"; $RNA = $DNA; $RNA =~s/T/U/g ;
Imprimim en pantalla les dues seqüències separadament
print $DNA."\n"; print $RNA."\n\n"; $DNArev= reverse$DNA; print "rev es ".$DNArev."\n"; $DNAcomplementaria= $DNArev; $DNAcomplementaria=~ tr/ATCG/TAGC/; print "complementaria es". $DNAcomplementaria."\n"; print"diana es AA\n\n "; $lon= length($DNAcomplementaria); print"longitud original es $lon"; dianas esta
Sol1: Virtual RNAP
print "Welcome to virtual RNAP\n"; $DNA=ACGGGAGGACGGGAAAATTACTACGGCATTAGC; print "this is your seq. \n $DNA \n"; $RNA= $DNA; $RNA=~s/T/U/g; print "and then your RNA seq is: \n $RNA"; exit;