Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


La programació bàsica, Apuntes de Programación Informática

Asignatura: Bioinformática de los cojones, Profesor: Pepo Pepo, Carrera: Microbiologia, Universidad: UAB

Tipo: Apuntes

2012/2013

Subido el 18/11/2013

maariaa91
maariaa91 🇪🇸

4.4

(5)

2 documentos

1 / 11

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
PROGRAMA PERL
CARACTERÍSTIQUES:
Una corba d'aprenentatge baixa i llarga
Tracta la informació d’arxius de text de manera senzilla
Manipula i processa seqüències llargues fàcilment
És òptim per a escriure programes que controlen altres
programes
És (era) molt utilitzat en laboratoris de biologia molecular per
a la creació de llocs Web dinàmics
Un programa pot fer-se ràpidament, en pocs minuts (rapid
prototyping), ideal per a fer coses que s’utilitzen una en la
investigació del dia a dia del laboratori
Portable
Velocitat: bona però no òptima
INSTAL·LACIÓ
Linia de comandos: consola de pantalla nefra on hi poses tu la ordre i
l’ordinador s’executa
EINES PER PROGRAMAR:
Intèrpret de Perl instal·lat
www.activestate.com/Products/ActivePerl/
Tradueix el codigo fuente a codico maquina que son conjunts de 0 i 1 (codi
binari) que el ordinador entén.
Compilar: tradueixen i emmagatzemen un txer executables. Amb perl no és
així, sino que es tradueix i s’executa, sense cap txzer intermedi.
Editor de text (com el Bloc de Notes, Notepad++, Editplus) utilitzen
codis de colors. És més fàcil veure els errors.
Directori de treball en el disc. Necessitem espai en el disc dur, on
guardarem el nostre progreama i des d’allà l’executarem.
L’ART DE PROGRAMAR
Programar és una manera de solucionar problemes resolubles de forma
iterativa y gradual
Editar: escriure el programa
Executar: els primers cops tindrem errors, cal executar i comprovar
els errors.
Revisar (errors, debugging)
Guardar i Backups (còpies de seguretat)
Funcionament d’un programa: cal entrar unes dades per tal que pugui fer
les operacions i obterni les dades que volem:
EL PROCÉS DE PROGRAMAR
Exemple: Un programa que busca dianes de restricció en el DNA
Identicar els inputs (dades d’entrada) requerits (les dades o
informació que ha de subministrar l’usuari)
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga La programació bàsica y más Apuntes en PDF de Programación Informática solo en Docsity!

PROGRAMA PERL

CARACTERÍSTIQUES:

  • Una corba d'aprenentatge baixa i llarga
  • Tracta la informació d’arxius de text de manera senzilla
  • Manipula i processa seqüències llargues fàcilment
  • És òptim per a escriure programes que controlen altres programes
  • És (era) molt utilitzat en laboratoris de biologia molecular per a la creació de llocs Web dinàmics
  • Un programa pot fer-se ràpidament, en pocs minuts ( rapid prototyping ), ideal per a fer coses que s’utilitzen una en la investigació del dia a dia del laboratori
  • Portable
  • Velocitat: bona però no òptima INSTAL·LACIÓ Linia de comandos: consola de pantalla nefra on hi poses tu la ordre i l’ordinador s’executa EINES PER PROGRAMAR:
  • Intèrpret de Perl instal·lat

www.activestate.com/Products/ActivePerl/

Tradueix el codigo fuente a codico maquina que son conjunts de 0 i 1 (codi binari) que el ordinador entén.

Compilar: tradueixen i emmagatzemen un fitxer executables. Amb perl no és així, sino que es tradueix i s’executa, sense cap fitxzer intermedi.

  • Editor de text (com el Bloc de Notes, Notepad++, Editplus) utilitzen codis de colors. És més fàcil veure els errors.
  • Directori de treball en el disc. Necessitem espai en el disc dur, on guardarem el nostre progreama i des d’allà l’executarem. L’ART DE PROGRAMAR Programar és una manera de solucionar problemes resolubles de forma iterativa y gradual
  • Editar: escriure el programa
  • Executar: els primers cops tindrem errors, cal executar i comprovar els errors.
  • Revisar (errors, debugging ) Guardar i Backups (còpies de seguretat) Funcionament d’un programa: cal entrar unes dades per tal que pugui fer les operacions i obterni les dades que volem: EL PROCÉS DE PROGRAMAR Exemple: Un programa que busca dianes de restricció en el DNA
  • Identificar els inputs (dades d’entrada) requerits (les dades o informació que ha de subministrar l’usuari)
  • Efectuar un disseny general del programa, incloent el mètode o algoritme (passos que cal realitzar per passar de l’input a l’output)
  • Decidir com apareixerà l’ output (arxiu, pantalla, taula, gràfic, …)
  • Refinar el model previ en els seus detalls (no oblidar els comentaris)
  • Escriure el programa en codi Perl

PROGRAMACIÓ BÀSICA

Interpret i programa ( script) Desem en un arxiu (primer.pl) el següent: print "El meu primer programa en Perl"; executar programes anem a la línia de comandes i escrivim:

C:>perl primer.pl

o bé C:>primer.pl Resultat: El meu primer programa en Perl C:> Com funciona un script

  • Cada instruccio s’execula una darrera l’alre des del principiç

comentaris...

print "Puc calcular!\n";

fer càlculs

$suma = 3 + 4;

mostrar el resultat

print "La suma de 3 + 4 és ".$suma. "\n";

El signe previ serveix per introduir comentaris. Las línies # que

comencen amb aquest símbol no són interpretades

Tot el que hi ha a la dreta del almohadilla (#)no ho llegeix, són comentaris.

\n equival a intro. Cada frase de perl cal que acabi en punt i coma, sino no ho llegeix i dóna error

\t equival a tabulador o espai

TIPUS DE DADES Text (o cadena de caràcters, string ) "cadena número 1" 'cadena número 2' Números 1, 49, 28.2, -109, 6.04E

Script: programa molt senzill

Quan escribim cal que trobem la ruta on està el programa

Podem concatenar variables. "Concatenació dels dos fragments de DNA: \n \n";cal que ho posem tot dins de les cometes.

ARIMÈTICA

  • Operadors:
    • suma
    • resta
    • multiplicació / divisió ** exponencial () agrupació == igualtat (alerta!)
  • Operador “s” i cerca de patrons “=~”: $RNA =~ s/T/U/g; El que fara és substituir totes les T per U, i la g ens indica que ho ha de fer amb totes les que trobi, de forma global

=~: inici de cerca de patrons s: operador substituir T: patró a substituir U: text que reemplaçarà el patró g: modificador (en aquest cas, global)

  • Invertir un text o variable: reverse (“text”) o reverse $variable “Reverse” ens serveix per tenir la inversa del DNA $DNA = "ACGAGTGACTCATCTACA"; $DNArev = reverse $DNA; print $DNArev;
  • Calcular la longitud d’un text o variable: length (“text”) o length $variable “length” ens serveix per dir- noa quants caràcters tenim per aquell DNA.

$DNA = "ACGAGTGACTCATCTACA"; $LEN = length $DNA; print $LEN;

  • Substitució simultània de varis caràcters: $VARIABLE =~ tr/ACGT/acgt/; Si enlloc de tr posessim s, ens buscaria una seq igual que aquesta i ho passaria a minuscula, en canvi, si posem tr, ens canviarà cada lletra pel seu complementari individualment.
  • Transformar a majúscules: uc(“text”) o uc $variable $DNA = “acgagtgactcatctaca"; $DNAmaj = uc $DNA; print $DNAmaj;
  • Transformar a minúscules: lc (“text”) o lc $variable $DNA = "ACGAGTGACTCATCTACA"; $DNAmin = lc $DNA; print $DNAmin;

MATRIUS

Guardem les bases del DNA en variables escalars

$base1=‘A’; $base2=‘C’; $base3=‘G’; $base4=‘T’; # Aquesta és una mala solució

Podem guardar la mateixa informació en una matriu

@bases = (‘A’,‘C’,‘G’,‘T’); # Solució més idònea

perquè podem fer aquestes operacions

@old_bases = @bases; # Copiar la matriu sencera

· operacions amb matrius

@bases = (‘A’,‘C’,‘G’,‘T’);

Accedir a les dades emmagatzemades a la matriu

$tercera_base = $bases[2];

comptar el número d’elements de la matriu

$num_elementosA = @bases; $num_elementosB = $#bases;

inviertir l’ordre dels elements de la matriu

@bases_invertida = reverse(@bases);

ordenar els elements d’una matriu per ordre alfabètic

@bases_ordenadas = sort(@bases_invertida);

$# és per dir que et digui quantes lletres hi ha, des del 0 al 3.

Per imprimir hem de posar: print “@bases”;

· funcions amb matrius

@bases = (‘A’,‘C’,‘G’,‘T’);

Eliminar, i retornar, l’últim element

$ultima_base = pop(@bases);

afegir un element al final

push(@bases,‘T’); push(@bases,$ultima_base);

Eliminar, i retornar, el primer element

$primera = shift(@bases);

afegir un element al principi

unshift(@bases,$primera);

@ ens indica que es tracta d’una matriu

open (FITXER1, “dades.txt”); @array = ; #guardem el contingut en una matriu close (FITXER1); · escriptura en fitxers

EscrituraFitxers.pl

open (FITXER, ‘>data.txt’); # Crear per escriure open (FITXER, ‘>>data.txt’); # o afegir al final $DNA = ‘TCAGTGCCAGTTA’; print FITXER “nova cadena de DNA: $DNA\n”; close (FITXER);

EJERCICIO 1. SECUENCIAS Y CADENAS

A. Crea un programa para que almacene la secuencia de DNA que hay a continuación en una variable, y la escriba en la pantalla.

Secuencia de DNA: ACGGGAGGACGGGAAAATTACTACGGCATTAGC

print "A guargar seqüència 1.\n"; print "ACGGGAGGACGGGAAAATTACTACGGCATTAGC.\n\n";

A guargar seqüència 1. ACGGGAGGACGGGAAAATTACTACGGCATTAGC.

B. Guarda las dos secuencias de DNA siguientes en dos variables escalares y escríbelas en la pantalla. A continuación, crea una tercera variable que contenga las dos primeras concatenadas. Escribe también el resultado.

Primera secuencia de DNA: ACGGGAGGACGGGAAAATTACTACGGCATTAGC

Segunda secuencia de DNA: ATAGTGCCGTGAGAGTGATGTAGTA

$DNA1="ACGGGAGGACGGGAAAATTACTACGGCATTAGC"; $DNA2="ATAGTGCCGTGAGAGTGATGTAGTA"; print "B guardar seqüències.\n"; print $DNA1."\n"; print $DNA2."\n\n";

B guardar seqüències. ACGGGAGGACGGGAAAATTACTACGGCATTAGC ATAGTGCCGTGAGAGTGATGTAGTA

C. La transcripción es el paso de DNA a RNA, donde todas las timinas (T) de la secuencia cambian a uridinas (U). En este apartado debes escribir un programa para transcribir secuencias de DNA. Introduce la siguiente secuencia de DNA en el programa en forma de variable escalar, y cambia todas sus T's por U's. Finalmente, como siempre, escribe el resultado para comprobar que el programa hace lo esperado.

Secuencia de DNA: ACGGGAGGACGGGAAAATTACTACGGCATTAGC $DNAtranscript1=$DNA1; $DNAtranscript2=$DNA2; $DNAtranscript1=~s/T/U/g; $DNAtranscript2=~s/T/U/g; print "C transcripció.\n"; print $DNAtranscript1."\n"; print $DNAtranscript2."\n\n";

C transcripció. ACGGGAGGACGGGAAAAUUACUACGGCAUUAGC AUAGUGCCGUGAGAGUGAUGUAGUA D. El DNA es una hélice formada por dos cadenas, una complementaria de la otra, que avanzan en sentidos opuestos: 5' ACTCAGA 3' F 0 E 0 F 0 D F 3' TGAGTCT 5'

En la cadena complementaria, las sustituciones de nucleótidos son las siguientes:

A F 0 E 0 T T F 0 E 0 A C F 0 E 0 G G F 0 E 0 C

La dirección en la que siempre de deben dar las secuencias (por consenso) es 5' F 0 E 03'. Escribe un programa que, dada una secuencia de DNA, calcule su complementaria (y reversa). Secuencia de DNA: ACGGGAGGACGGGAAAATTACTACGGCATTAGC $DNArev1 = reverse $DNA1; $DNArev2 = reverse $DNA2; $DNAcomp1=$DNA1; $DNAcomp2=$DNA2; $DNAcomp1 =~ tr/ACGT/TGCA/; $DNAcomp2 =~ tr/ACGT/TGCA/; print "D inversa i complementària.\n"; print $DNArev1."\n"; print $DNArev2."\n\n"; print $DNAcomp1."\n"; print $DNAcomp2."\n\n";

D inversa i complementària. CGATTACGGCATCATTAAAAGGGCAGGAGGGCA ATGATGTAGTGAGAGTGCCGTGATA TGCCCTCCTGCCCTTTTAATGATGCCGTAATCG TATCACGGCACTCTCACTACATCAT

Agregar Eliminar Al principio de la matriz

unshift shift

Al final de la matriz push pop

Realiza las siguientes operaciones sobre la matriz inicial:

  • Elimina el último elemento de la matriz e imprime la matriz restante y el elemento eliminado. print "D.1 Elimina el último elemento de la matriz e imprime la matriz restante y el elemento eliminado.\n"; $ultima_base = pop(@bases); print "@bases\n"; print $ultima_base."\n\n"; D.1 Elimina el último elemento de la matriz e imprime la matriz restante y el elemento eliminado. A C G T
  • Elimina el primer elemento de la matriz e imprime la matriz restante y el elemento eliminado. print "D.2 Elimina el primer elemento de la matriz e imprime la matriz restante y el elemento eliminado.\n"; $primera = shift(@bases); print "@bases\n"; print $primera."\n\n"; D.2 Elimina el primer elemento de la matriz e imprime la matriz restante y el elemento eliminado. C G A
  • Elimina el último elemento de la matriz y añádelo al principio. print "D.3 Elimina el último elemento de la matriz y añádelo al principio.\n"; unshift(@bases,$quarta_base); print "@bases\n\n"; D.3 Elimina el último elemento de la matriz y añádelo al principio. T C G
  • Elimina el primer elemento de la matriz y añádelo al final. print "D.4 Elimina el primer elemento de la matriz y añádelo al final\n"; push(@bases,$primera_base); print"@bases\n\n"; D.4 Elimina el primer elemento de la matriz y añádelo al final T C G A E. También podemos necesitar de añadir o eliminar elementos en posiciones concretas dentro de una matriz. Para ello utilizamos la función splice. Por ejemplo, trata de insertar un elemento nuevo (la letra X) entre el segundo y el tercer elemento de la matriz original. Una vez aprendida la sintaxis de esta función, prueba de hacer otras operaciones que también impliquen eliminación de elementos. print "E. trata de insertar un elemento nuevo (la letra X) entre el segundo y el tercer elemento de la matriz original\n";

splice(@bases,2,0,X); print "@bases\n\n"; E. trata de insertar un elemento nuevo (la letra X) entre el segundo y el tercer elemento de la matriz original T C X G A F. Transformación de un tipo de variable a otro: abre este fichero que contiene una secuencia y guarda la secuencia en una variable escalar. Imprime por pantalla la secuencia junto con su longitud. A continuación, transforma la secuencia en una matriz donde cada nucleótido sea un elemento de la matriz. Imprime los 4 primeros nucleótidos de la secuencia. NOTA: este ejercicio debe ejecutarse de forma local ya que en el programa indicaremos la ruta del fichero en nuestro ordenador.

Hem descarregat el fitxer i l’hem guardat a H:/

Llavors hem oberrt un bloc de notas nou I en blanc en el que hi hem posat:

#!/usr/bin/perl

open(fitxer,'secuencia.txt');

@array=;

print"@array";

un cop fet això, es guarda en el mateix H:/

un cop tenim els blocs de notas guardats, fem iniciaexecutacmd

se’ns obre el comando i allà veiem que ja hi ha h:/> és en aquí on hem de posar perl (espai) nom del programa i apretem intro.

Si volem fer modificacions en la sequencia que ens hem guardat el que hem de fer és obrir el bloc de notas (guardat com programa.pl) i fer les modificacions que vulguis fer tal i com les fariem en el “prova el codi”, llavors si tornes a guardar i tornes a obrir el comandament (iniciaexecutacmd) i tornes a posar perl (espai) nom del programa i apretem intro t’apareixerà la sequencia modificada.