Inexact : >>> getcontext() Context(..., flags=[Rounded, Inexact], ...) Rounded : This signal is used to detect loss of significant digits. >>> getcontext() Context(..., flags=[Rounded], ...)
Por ejemplo, dos autos del mismo modelo, color, motor, salidos de la misma línea de producción el mismo día no dejan de ser dos autos diferentes, por más que su conjunto de atributos y sus valores sean iguales. La única posibilidad de que dos objetos sean iguales es que sean el mismo objeto.
La forma más sencilla de entender el concepto de clase es si la vemos como una agrupación de objetos con características similares. Por ejemplo, un auto ES UN tipo particular de vehículo motorizado, con lo cual dentro de su comportamiento podemos encontrar “arrancar” y “frenar”, entre otros. Ahora bien, una motocicleta también ES UN vehículo motorizado, y tiene dentro de su comportamiento “arrancar” y “frenar”. El conjunto de atributos también es compartido entre una motocicleta y un automóvil, aunque sus valores no coincidan necesariamente. Por ejemplo, ambos tienen el atributo “cantidad de ruedas”, sólo que el auto tiene 4 y la motocicleta 2.
Otra forma útil de ver una clase es como una plantilla, plano o molde de un conjunto de entidades a partir del cual se crearán luego instancias particulares (los objetos). La interacción de las entidades en el mundo real se produce entre objetos, no entre clases. Las clases no tienen “vida” en el mundo real, los objetos sí. Para poder interactuar con alguna clase deberemos crear una instancia particular de ella, con un conjunto de valores definidos para los atributos. A este proceso se lo conoce como “instanciación de un objeto”.
Python es un lenguaje de programación orientado a objetos que puede usarse para varios tipos de desarrollo de software. Ofrece soporte para integrarse con otros lenguajes y herramientas, viene con una importante biblioteca estándar, y puede aprenderse en pocos días.
Características de Python
Libre y gratuito.
Fácil de leer.
Multiparadigma.
Fácil de aprender.
Tipo de datos versátiles (alto nivel).
Viene con pilas:
Fácil de leer
Copiar archivo en C:
#include <stdio.h>
int main(int argc, char **argv) {
FILE *in, *out;
int c;
in = fopen("input.txt", "r");
out = fopen("output.txt", "w");
while ((c = fgetc(in)) != EOF) {
fputc(c, out);
}
fclose(out);
fclose(in);
}
Fácil de leer
Copiar archivo en Python:
out = open("output.txt", "w")
out.writelines(open("input.txt"))
out.close()
Multiplataforma
Ademas de funcionar en los “sospechosos de siempre” (Linux, Windows y OSX), corre en JAVA VM (Jython), .Net (IronPython), Celulares (Nokia S-60), iPod, Palm, Reproductores MP3 (iRiver).
Servicios del sistema, fecha y hora, subprocesos, sockets internacionalización y localización, base de datos, threads, formatos zip, bzip2, gzip, tar, expresiones regulares, XML (DOM y SAX), Unicode, SGML, HTML, XHTML, XML-RPC (cliente y servidor), email, clientes HTTP, FTP, SMTP, NNTP, POP3, IMAP4, servidores HTTP, SMTP, herramientas MIME, interfaz con el garbage collector, serializador y deserializador de objetos, debugger, profiler, random, curses, logging, compilador, decompilador, CSV, análisis lexicográfico, interfaz gráfica incorporada, matemática real y compleja, criptografía (MD5 y SHA)
Las pilas (II)
Bases de datos
MySQL, SQLite, PostgresSQL, MS SQL, Informix, DB/2, Sybase
Interfaces gráficas
Qt, GTK, win32, wxWidgets, Cairo
Frameworks Web
Django, Turbogears, Zope, Plone, webpy
Y un montón más de temas...
Biopython: Manejo de secuencias
PIL: para trabajar con imágenes
PyGame: juegos, presentaciones, gráficos
SymPy: matemática simbólica
Numpy: calculos de alta performance
...
Características deseables de un lenguaje para uso en ciencia.
Libre y gratuito.
Fácil de leer.
Fácil de aprender.
Tipo de datos versátiles (alto nivel).
Biblioteca completa (incorporada y disponible externamente).
Suficientemente rápido
Matemática
NumPy:
Manejo de matrices N-dimensionales.
Funciones algebra lineal
Transformaciones de Fourier
Números aleatorios sofisticados
Herramientas para integrar código C++ y Fortran
Matplotlib: “framework para crear gráficos científicos similares a las herramientas provistas por Matlab”.
Manejo de texto y expresiones regulares: Nombres de secuencias, secuencias, anotaciones, referencias bibliograficas, etc.
Modular: Puede integrarse upstream o downstream con otros programas (en Python o en otros lenguajes).
Fácil de escribir: Ideal para programadores no profesionales
Buen lenguaje para prototipos: Es rápido para “codear”.
Apto para aplicaciones web: Método estandar en laboratorios para mostrar datos.
Biopython
Manipular secuencias
Enzimas de restricción
BLAST (local y online)
Acceso a bases de datos online (e.g. NCBI's EUtils)
Herramientas CLI (e.g. clustalw, emboss)
Clustering (Bio.Cluster)
Filogenética (Bio.Nexus)
Estructura proteica (Bio.PDB)
Soporte BioSQL
Genética de población (Bio.PopGen)
Efecto de la reina roja
M.A.S (Selección Asistida por marcadores).
Técnica utilizada actualmente para la mayoría de los traits.
Seguimiento de los traits usando marcadores moleculares
Conceptos involucrados:
Selección “tradicional”.
Marcadores moleculares
Selección tradicional
Se determina una propiedad (trait) que se desea modificar (altura, % de aceite del grano, color de hoja, resistencia a quiebre, a enfermedades, etc).
Se identifica fuente del trait (o se induce si no la hubiese).
Se cruza la variedad que tiene el trait de interes, contra línea elite.
Se busca en la descendencia a los portadores del trait.
Se cruza nuevamente con los progenitores (para licuar otros genes de la fuente del trait)
Se busca la fuente del trait
X Planta con trait deseado (0% genes “elite”) Planta “elite” (100% genes “elite”) F1
X Planta con trait deseado y 50% de genes “elite” Planta “elite” (100%) F2
X Planta con trait deseado y 75% de genes “elite” Planta “elite” (100%) F3
X Planta con trait deseado y 87,5% de genes “elite” Planta “elite” (100%) F4
Ganancia genética
½ + ¼ + 1/8 + 1/16 + ....
En la F7 tenemos 98% de genes “elite”, pero conservando el gen “introducido”.
MAS
Se determina una propiedad (trait) que se desea modificar.
Se identifica fuente del trait (o se induce si no la hubiese).
Se cruza la variedad que tiene el trait de interes, contra línea elite.
Se busca en la descendencia a los portadores de los marcadores.
Se cruza nuevamente con los progenitores
Se busca la fuente del trait
X Planta con trait deseado (0% genes “elite”) Planta “elite” (100% genes “elite”) F1
X Planta con trait deseado y 50% de genes “elite” Planta “elite” (100%) F2
X Planta con trait deseado y 75% de genes “elite” Planta “elite” (100%) F3
Ventajas uso de MAS
Aceleración de tiempos.
Ahorro al no continuar lineas sin el trait.
Precisión al usar variable mas reproducible.
Aportes de la Bioinformática al MAS
Construcción de bases de datos de marcadores moleculares
ID de NCR
Diseño de primers
Búsqueda regiones polimorficas
ID de SNPs
Búsqueda por homología de secuencia homologa en AT mRNA: BLAST. Herramientas: NCBIStandalone y NCBIXML
Database retrieval de los resultados. Herramientas: MySQL-Python o SQLite
Alineamiento de 3 secuencias: problema (o target), AT mRNA y AT full length. Herramientas: Bio.Clustalw.MultipleAlignCL y Bio.Clustalw.do_alignment
Búsqueda de intrones
Mitocondria
Involucrada en la sintesis de ATP en la célula eucariota
Datos interesantes:
i) Sus origenes se remontan a un evento de endosimbiosis en la que una célula procarionte fue envaginada por otro procarionte para formar un linaje con dos genemas ( Teoria endosimbiotica )
ii) La mitocondria contiene un genoma pequeño y circular que interactua con el genoma nuclear,
iii) Tiene gran variacion genetica en su secuencia.
Mitochondrial genome structure is of fundamental importance to understanding genetics, evolutionary and biochemical processes that take place into this organelle in crop model species
Métodos 1- Aislamiento de ADN puro de tomate 12.0 2.0 1.0 1.6 etiolated seedlings Fraction number 0 20 40 60 80 10 0 27 31 % of maximum activity PFP cyt c enriched mit fraction @ Percoll gradient fract intact mit “ pure” mit DNAse treatment DNA extraction 2- Contaminación de ADN y QC amplificando marcadores conocidos rbcL chl COXII mit 1:10 actin ncl 1:50 1:100 1:400 1:10 1:50 1:10 1:50 1:100 C- 1:200 1:200 C- 1:400 1:100 C- 1:200 1:400
Methodological strategy 3- Fragmentecion de ADN y construccion de biblioteca de shot-gun 0.8 1.0 1.6 2.0 3.0 4.0 enz mec cloning and transformation Fast check 4- Secuenciación Nomenclature: SlmiNNZZZXY . This code accounts for: Sl : Solanum lycopersicon (cv Heinz). mi : mitochondrial library NN : library # ZZZ : plate # XY : well in plate
Sequences analysis and annotation pipeline Lecturas son generadas en instrumentos ABI 3101 Asignación de bases por Phred Validación, trimeo y enmascaramiento de vectores con SeqClean Contigs (y singletons) generados por CAP3 Contigs (y singletons) blasteados contra Plant mt, otras mt, y NCBI DB. Provisional map generated by anchoring onto the Nicotiana tabacum mitochondrial genome
www.mitochondrialgenome.org
Mariana Conte Sebastian Bassi Funding Credits Virginia Gonzalez EU-SOL project Partnership and Collaborators Partner groups Alisdair Fernie-Lothar Willmitzer Biosciences Dept, Sao Paulo Uni, Brazil Magdalena Rossi Boyce Thompson Institute, USA Jim Giovannoni Institute of Molecular and Cell Biology of Rosario. Estela Valle Laboratorio de Fisiología y Biologia Celular y Molecular Norberto Iusem Biochemistry and Clinical Immunology Centre, Cordoba University. Ramón Asís
Mensaje para el hogar:
Python es una plataforma de programación completa para ciencia. No solo es útil para resolver problemas prácticos sino que introduce buenos hábitos de programación.
0 comments
Post a comment