Practica 3 informatica (2015)

Apunte Español
Universidad Universidad Autónoma de Barcelona (UAB)
Grado Genética - 2º curso
Asignatura Técnicas instrumentales
Año del apunte 2015
Páginas 7
Fecha de subida 22/03/2015
Descargas 30

Vista previa del texto

LAB IV. TI PRACTICA 3 ACTIVITAT 1.
1.1. Crea un programa que comprovi si 2 seqüències de DNA són iguals.
(et caldrà l'estructura if/elsif/else i la funció length per indicar si són igual de llargues però amb diferent contingut).
1.2. Crea un programa que faci un compte enrere des de 3 fins a 0 mostrant cada número excepte el 0 que ha de mostrar un missatge que indiqui que s’ha acabat el compte.
LAB IV. TI PRACTICA 3 1.3. Crea un programa per comptar cada tipus de nucleòtid d'una seqüència però fent servir un bucle foreach. (NOTA: hauràs de fer servir if/elsif i split).
Ara hem vist per les bases. A continuació veurem, quan s’ha fet split. En definitiva: LAB IV. TI PRACTICA 3 1.4. Crea el mateix programa per comptar cada tipus de nucleòtid d'una seqüència però fent servir un bucle for. (NOTA: hauràs de fer servir if/elsif i split).
Dins de l’array posarem la posició $i perquè el que volem es que els números siguin lletres.
ACTIVITAT 2 (no hi ha exercisis) ACTIVITAT 3 Activitat 3.1. Crea un programa que transformi una cadena de DNA existent en una d'RNA .
(substitueix T per U) Amplia'l per a que pugui transformar aquesta mateixa cadena de DNA en la seva complement{ria. (Substitueix cada base per la seva complement{ria). T’has trobat algun problema? LAB IV. TI PRACTICA 3 Activitat 3.2. Adapta el programa anterior per transformar una cadena de DNA a la seva complementària reversa.
Activitat 3.3. De la pràctica anterior, crea un programa que agafi el primer exó del gen hs6st de D. melanogaster que es troba a les coordenades 1 a 362 (referents al gen) i l’emmagatzemi en una nova variable escalar.
LAB IV. TI PRACTICA 3 #SCRIPT: # #!/usr/bin/perl # use warnings; #ara el que hem fet ha estat posar condicons i veure si es van cumplint o no--# #> IF #1.1 ELSE/ ELSIF $DNA1= 'ATCG'; $DNA2= 'ATGG'; print "$DNA1 i $DNA2 \n"; if ($DNA1 eq $DNA2) { print "DNA 1 es el mateix que DNA 2\n"; } elsif ($DNA1 ne $DNA2) { print "DNA 1 no es igual a DNA 2\n"; } else { print "tenen una condicio diferent"; } #si ara comparem la longitud: $longi_DNA1= length $DNA1; $longi_DNA2 = length $DNA2; print "$longi_DNA1 i $longi_DNA2 \n"; if ($DNA1 eq $DNA2) { print "les sequencies son les mateixes\n"; } elsif ($longi_DNA1==$longi_DNA2) { print "les sequencies no son iguals pero tenen la mateixa longitud\n"; } else { print "no son ni iguals ni tenen la mateixa longitud\n"; } #Ara mirarem la condicio #1.2 WHILE $secuencia1=3; while ($secuencia1 >= 1) { print "$secuencia1 va siendo cada vez menor\n"; $secuencia1--; if ($secuencia1==0) {print "el compte ha acabat \n"; } } LAB IV. TI PRACTICA 3 #1.3 FOREACH $DNAjunto= ($DNA1.$DNA2); print "$DNAjunto \n"; @bases= split ('', $DNAjunto); print "@bases son els nucleotids\n"; $A=0; $C=0; $G=0; $T=0; foreach $nucleotidos (@bases) { print $nucleotidos ."\n"; if ($nucleotidos eq 'A') {$A++; } elsif ($nucleotidos eq 'G') {$G++; } elsif ($nucleotidos eq 'C') {$C++; } else {$T++; } } print " T es $T, C es $C, G es $G i A es $A\n"; #1.4 FOR #el contador $i es va movent pels elements i te en compte els index. Per tant, hem de guardar en una nova variable que sigui una array $basedif= length @bases; print "$basedif \n"; $basedif= @bases; print "$basedif \n"; for( $i=0; $i<$basedif; $i++) { print "@bases[$i]\n"; $elementoguai= @bases[$i]; if ($elementoguai eq 'A') {$A++; } elsif ($elementoguai eq 'G') {$G++; } elsif ($elementoguai eq 'C') {$C++; LAB IV. TI PRACTICA 3 } else {$T++; } } $elementoguai= @bases[$i]; print " T es $T, C es $C, G es $G i A es $A\n"; #3.1 print "$DNAjunto es la original\n"; $DNAjunto=~ s/T/U/g; print "$DNAjunto es el mRNA\n\n"; $DNAjunto=~ tr/ATCG/TAGC/; print "$DNAjunto es la complementaria \n"; # 3.2 $secuenciaDNA= 'AGTCGTTTAA'; print "$secuenciaDNA es la original \n\n"; $secuenciaDNA=~ tr/ATCG/UAGC/; print "$secuenciaDNA es el mRNA, que es complementari \n\n"; $secDNA_inversa= reverse ($secuenciaDNA); print "$secDNA_inversa es la complementaria reversa de la cadena de DNA\n\n"; #3.3 open (FILEHANDLE, 'hs6st.fasta') or die "no es pot obrir"; print FILEHANDLE; @gen1= <FILEHANDLE>; close (FILEHANDLE); #treiem la primera posició donat que es un arxiu FASTA shift @gen1; print "@gen1 es la sequencia guardada en una matriu\n\n"; chomp @gen1; $sequencialinial = join ((''), @gen1); $exo1= substr ($sequencialinial,1,132); $longiseq= length $exo1; print "$exo1 es la sequencia que va de 1 a 132 pb i fa $longiseq pb de longitud\n\n"; ...