Pensamientos sobre los GMO

Los Organismos Genéticamete Modificados (GMO por su siglas en inglés) son organismos a los cuales se les ha introducido parte de un genoma diferente al de su especie original. Normalmente se les conoce como transgénicos, esto es, que poseen genes de otras especies.

Mucho se ha hablado de Monsanto, y hoy en día, debido a falta de argumentos en torno a la seguridad de los GMO, la política de críticas a los GMO se centra en atacar a esta empresa y sus prácticas comerciales. Ahí no me meto, porque tienen para darles por delante y por detrás.

Pero por donde quiero ir, por donde va mi reflexión, es por la idoneidad de utilizar un proceso tecnológicamente avanzado para editar el genoma de una especie y modificar las características que queramos. No es nuevo, y sale frecuentemente a relucir, que todos los alimentos que consumimos, TODOS, son GMO. Durante siglos, milenios, se han seleccionado las semillas que daban tomates más gordos, árboles con más peras y vacas que daban más leche.

La vaca y toro vienen del Uro, su equivalente salvaje, gracias a la modificación genética. El perro, del lobo. Los cerdos de los jabalís (aun siendo técnicamente la misma especie). Lo mismo con la fruta y vedura, hasta llegar a saber que la naranja proviene de un cruce de la mandarina y el pomelo. Todos han sido artificialmente seleccionados y cruzados para conseguir el producto que ahora nos gusta.

Por lo que la pregunta no es si los GMO son buenos o malos. Es tarde para ello, llevamos toda la vida consumiéndolos. La cuestión es: ¿qué es mejor, un organismo al que se le han modifcado solamente las características deseadas o un organismo cruzado que almacena mutaciones unas detrás de otras sin ningún control? Porque eso, amigo, son los tomates que te estás comiendo.

Y para terminar, un poco de luz sobre las razas de los perros, y los peligros de la selección artficial:

Pensamientos sobre los GMO

Ahora empieza lo bueno

Así que tras la vuelta de esas vacaciones-trabajo llamadas congresos, nos toca ponernos a trabajar. Nos han seleccionado Tres papers para un Special Issue de impacto 6!! Pero hay que hacer el trabajo desde cero.

También llega la época de corregir, revisar papers, etc, así que manos a la obra.

Mientras tanto, ha llegado por fin la grabación de nuestra maravillosa actuación en la 9ª de Beethoven:

Ahora empieza lo bueno

¿Qué IDE puedo usar para trabajar con Python como si fuera Matlab?

Esta es la primera pregunta que me hice a la hora de pasarme a Python. Y no es una respuesta fácil. Si dejamos de lado diferencias tan sustanciales como que Python es orientado a objetos y Matlab no, y las diferencias a la hora de trabajar con uno y otro, habría que atender a varias circunstancias. Para mi, un IDE que funcione bien tiene que tener al menos:

  • Editor integrado (si puede ser con sugerencias)
  • Ventana de comandos (IPython a ser posible)
  • Visor de variables
  • Posibilidad de salvar un workspace

Prácticamente todos los IDEs cumplen estas características. Después de mucho navegar por la web me encontré los más parecidos a Matlab que me podía tirar a la cabeza: Spyder y IEP. Ambos cumplen exactamente lo que prometen: un IDE para trabajar con SciPy (con todo lo que ello conlleva: numpy, matplotlib, scipy, sklearn).

Spyder UI

El primero que probé era Spyder, bastante consolidado ya en el mundillo, y que cumple todo lo anteriormente dicho. Es bueno, fiable y permite guardar el workspace en un único fichero (pero esto también puede ser un problema, porque es un fichero propio de spyder). Tiene un autodetector de las funciones que se están usando, que muestra la ayuda de dicha función en una pestaña (si la tenemos visible). En su contra diré que es más bien feo (tanto la UI como el icono) y que no tiene sugerencias instantáneas.

EIP UI

Por otra parte, conocí EIP, que por el momento me gusta más. Está en un desarrollo un poco más activo, aunque menos maduro que Spyder, con todo lo que ello conlleva. La principal diferencia es que no tiene un asistente para guardar workspace (se puede hacer desde código), pero en contrapartida posee sugerencias live de funciones, objetos y demás que estén en el workspace, lo que es muy conveniente cuando uno está empezando. También en el apartado estético gana por su limpieza e integración con el sistema operativo. Todavía es pronto para hacer un diagnóstico y me quedan muchas horas que trabajar con alguno de ellos, pero por lo pronto, yo me quedo con EIP, por las sugerencias y por su interfaz más pulida. Quizá en algún momento necesite guardar variables del workspace, en ese momento me plantearé que opción es más buena.

Editado: Una tercera opción que se me olvidó citar al ser de pago (aunque tienen una versión gratuita) es Canopy. Quizá es la que más se parezca a Matlab y viene perfecamente equipado con todo lo necesario para trabajar. Lo que es más, está disponible tanto para Windows como para Mac y Linux, lo que lo hace una opción muy buena a tener en cuenta si no importa el hecho de que no sea open source.

¿Qué IDE puedo usar para trabajar con Python como si fuera Matlab?

Mañana me pongo

Pero de verdad. Mañana empiezo el curso de Edx llamado 6.00.2x Introduction to Computational Thinking and Data Science. Otro MOOC más que espero que me de buenas bases para migrar decididamente desde el malvado y pesado, pero cómodo, Matlab a Python, que es Open Source (vaya, de lo mío).

Es un paso importante, porque además de seguir a la peña científica que generalmente están migrando a Python desde plataformas como R o Matlab con proyectos como SciPy, apoyo a proyectos que me resultan extremadamente atractivos, como Jupyter, una especie de IPython evolucionado para ser language-agnostic y poder trabajar a la vez con Python, R, y Julia.

El mundo del software evoluciona muy rápidamente, y si hasta ahora Matlab tenía el beneficio de la comodidad, multitud de extensiones y paquetes para trabajar en casi cualquier cosa, parece que cada vez Python se yergue como un potente rival. Una listilla con mis razones para hacer el cambio podría ser esta:

Matlab Python
Librerías third-party
Diseño de Aplicaciones Horrendo1 Fácil
Multi-purpose No
Gráficos Propia2 MatPlotLib
Open Source No
Eficiencia Computacional Baja Baja
Integración con otros lenguajes Difícil3 Buena
Shell interactivo IPython
Multitud de IDEs No

  1. Matlab contiene utilidades para crear interfaces gráficas y programas empaquetados, pero su uso es muy difícil, ineficiente y depende de una instalación de Matlab en el ordenador en el que se ejecute. 
  2. La librería de plots de Matlab es muy variada y los resultados son bastante visuales, pero ha sido superada por ggplot2 y matplotlib hace tiempo. 
  3. Existen formas de interactuar con C, C++ y Java desde Matlab, pero de forma un poco limitada. La capacidad de extensión de Python con otros lenguajes lo supera con diferencia. 
Mañana me pongo

Los proyectos personales

Esto es una reflexión un tanto manida, pero de la que uno se da cuenta de vez en cuando. Cuando inicias un proyecto personal, por el mero hecho de hacer algo nuevo por ti mismo, con tus manos, ya sea un armario de Ikea o un theremin casero, no estás perdiendo el tiempo. La gente hablará, dirán que “cuánto tiempo libre tiene ese tío”, aunque seas el más ocupado del mundo. Tú mismo llegarás a creerte que estás perdiendo el tiempo.

Pero no. Un proyecto personal es mucho más que un Hobby. Hobby es ir a comprar los viernes por la tarde a recogidas. Un proyecto personal es la búsqueda de algo que no has podido encontrar, es ese vaivén sentimental que sólo provocan los altibajos de uno de estos proyectos: las horas -y días- de frustración y la increíble realización personal que supone cuando se consigue una de las pequeñas metas que se ponen.

Al final de un proyecto personal aprendes mucho. Aprendes las tecnologías que utilizas (ya sea que existen diferentes tipos de tornillos o un nuevo lenguaje de programación). Aprendes a enfrentarte a retos, y a no abandonar. Aprendes a superar los obstáculos que pone la vida, algo que, en la sociedad de la obsolescencia programada, no solemos hacer. Nos gusta más el usar y tirar.

Por último, aprendes a conocerte a tí mismo, cuales son tus capacidades, cuales son tus puntos débiles. Y los potencias y solucionas respectivamente. Al final de un proyecto eres otra persona. Quizá has ganado un armario de Ikea (eso lo puedes comprar), pero lo más importante es que te has ayudado a conocerte, un poquito más, a tí mismo.

Los proyectos personales

Lo que desconocías de la ciencia (II)

En el post anterior veíamos como el método científico provee de las herramientas para describir de la forma más precisa los fenómenos naturales, no para descubrir una Verdad con mayúsculas en un sentido filosófico o místico.

Es importante diferenciar muy bien entre ambas características, porque alguien puede haberse curado por un milagro de la Virgen, o puede haber visto un pitufo, o simplemente se ha curado de una enfermedad determinada estando al sol y sin comer azúcar. Pero si ese hecho no es reproducible, esto es, si nadie puede comprobar que bajo las mismas condiciones (rezando, acechando como Gárgamel o estando al sol y sin comer azucar) el patrón se repite, no es útil. Simple y llanamente. No nos sirve para construir una hipótesis y no nos permite validarla. No nos permite explicar un fenómeno. Por tanto no es ciencia.

Si siempre que suelto una manzana se cae al suelo, puedo hipotetizar que existe una fuerza que la atrae. Diseño la teoría y la formulo matemáticamente, para posteriormente hacer predicciones, como por ejemplo, que si la suelto desde un metro de altura esta siempre va a caer, y llegará con x velocidad. Si alguna vez esto no sucede tengo o que cambiar la hipótesis (si no cae) o ajustar las ecuaciones (si me he equivocado con la velocidad).

Esta característica se denomina Falsabilidad, y es la prueba fundamental que permite diferenciar (según la filosofía de la ciencia, que también existe) entre ciencias y pseudociencias.

Que una teoría, hipótesis o lo que quieras sea falsable significa que debe hacer predicciones suficientemente precisas (nada de vaguedades como cuando urano está sobre neptuno te va a pasar algo importante) como para ser fruto de experimentación, y en caso de que los experimentos contradigan las predicciones, la teoría va a ser descartada inmediatamente. Sin medias tintas. No sirve.

Puedes hipotetizar sobre que el té de canela cura la depresión, pero para demostrar que es efectivo tienes que hacer un ensayo doble ciego. Coger cientos (o miles) de personas con depresión y a la mitad -grupo de test- darle té de canela auténtico (acorde con tu hipótesis) y a la otra mitad -grupo control- darle un sucedáneo de té que se parezca mucho.

Muchos de los depresivos de ambos grupos se curarán. Es lo que se llama Efecto Placebo, que no es el objetivo de este post. Puede ser debido al estado de ánimo, a factores ambientales, a curación espontánea (sí, existe), etc. De modo que para poder decir que tu hipótesis de que el té de canela es efectivo, la cantidad de depresivos que se han curado en el grupo test tiene que ser significativamente mayor que la del grupo control.

Suena lógico, ¿a que sí? Porque aunque sólo lo mirásemos desde un punto de vista utilitarista, si el número de curados en ambos grupos es similar, podemos simplemente darles a todos el sucedáneo y decirles que les va a curar, y punto. Y nos ahorramos comprar ese caro té de canela. Y desde un punto de vista científico, este té no ha demostrado funcionar mejor que otras cosas, por lo que nuestra teoría de que este té cura la depresión, es falsa.

Al margen de esta visión utilitarista, la visión de la ciencia es simple: si las conclusiones de tu hipótesis no se pueden probar -reproducir-, se descarta la hipótesis.

Alguien dijo que había visto un pitufo. Quizá es verdad. Pero la verdad no es relevante. Lo verdaderamente relevante es el conocimiento que se puede transmitir y utilizar. Lo que se puede probar. El resto, simplemente, da igual.

Lo que desconocías de la ciencia (II)

Lo que desconocías de la ciencia (I)

Hoy he leído, como tantos otros días, un artículo firmado por un supuesto “científico” de la “ciencia alternativa”. Al principio siempre llaman mucho la atención, porque parecen llenar un vacío existente en la que llaman Ciencia Oficial, por lo que podría parecer que se complementan.

Sin embargo, la cuestión puede llegar a ser muy simple, aunque muchas veces los científicos la olvidamos un poco. La ciencia no es la verdad absoluta. Es el modelo más aproximado a la realidad, y una forma metódica de buscar y validar dichos modelos.

Así pues, de aquí se deduce una máxima muy importante. La Ciencia Alternativa que se demuestra que funciona se convierte en Ciencia Oficial. Tan simple y llano como esto.

La investigación científica consiste en:

  1. Observar el mundo y lo que ocurre en él (física, naturaleza, biología, medicina…)
  2. Caracterizar lo que ocurre mediante alguna herramienta (cuanto más objetiva mejor, como las matemáticas).
  3. Realizar una hipótesis que explique el por qué ocurre esto y que permita realizar predicciones (físicas, matemáticas, diagnóstico, etc).

Hasta este punto, las ciencias y las pseudociencias más -digámoslo así- viables son muy parecidas. En ambas se observan hechos y realidades del mundo y se postulan hipótesis acerca de las mismas. De modo que la única diferencia estriba en que la Ciencia añade otros dos puntos que las pseudociencias obvian:

  1. Se realizan experimentos para probar todas las predicciones que se pueden hacer con la hipótesis formulada.
  2. Si todos los experimentos coinciden con las predicciones de la hipótesis, ésta se acepta (siempre temporalmente) como teoría. Si uno de los experimentos refuta las predicciones, la hipótesis se descarta automáticamente, esto es, no es cierta.

Estos pequeños pasos de validación son los que diferencian a una ciencia real de una pseudociencia. Y ya digo, la ciencia no es la verdad. Es lo que más nos permite aproximarnos a un modelo de por qué y cómo funcionan las cosas. 

Lo que desconocías de la ciencia (I)