sábado, mayo 14, 2011

El primer genoma argentino, y con licencia CC-By-SA 3.0

Lo mas intenresante que tenía para contar hoy hubiese sido que comí comida vietnamita, si no hubiese ocurrido que 23andme me avisó que terminaron de procesar mi muestra de saliva.

A esta altura tengo que explicar que es 23andme y que hacian con mi saliva. 23andme es una empresa de biotecnología que inventaron el rubro de la "genómica personal", esto es, secuenciar los genes de personas individuales y darles sus resultados. Inventaron en el sentido de popularizarlo. Cuando salió en el 2007 la joda costaba u$1000, lo que era poco comparando con un proyecto de secuenciación que salia en ese entonces varios millones. Pero no era el mismo sevicio, en lugar de secuenciar el genoma completo, secuencias lugares claves (snp en la jerga) que están asociados a enfermedades y caracteristicas diversas. Tiene sentido pensando que la mayoría del genoma no codifica para nada, sino que tiene funciones de regulación, estructural y también tenemos genes de sobra por una cuestión evolutiva. Al igual que las computadoras, el precio bajó onda ley de Moore, lo suficiente hasta que lo pude pagar (agarré una promo donde el analisis era gratis y luego pagas una suscripcion mensual). No fue solo una cuestión de guita, sino de oportunidad. 23andme no hace el servicio para Argentina, asi que antes no podía ni pagando. Aprovechando que estoy en USA (y la oferta), me anoté.

Esta es la caja que me llegó:

P1000180.JPG

Con este contenido:

P1000181.JPG

P1000182.JPG

P1000185.JPG

En el tubo escupí un rato hasta llenarlo de saliva, lo puse en la caja que venia que tenia franqueo pago, lo puse en el buzón de Disney, a los 3 dias me avisaron que tenia la muestra y tenia que esperar a que la procesen. Hoy me avisaron que ya estaba todo listo.

Asi que fui a la página de 23andme para ver de que me voy a morir. Lo bueno es que no tendré Alzheimer, porque no llegaré a la edad que se desarrolla esa enfermedad porque me voy a morir de diabetes tipo 2. Mentira. Es verdad que tengo baja chance de tener Alzheimer (4.9% vs 7.2% de tasa normal) y mas alta de tener diabetes (33 vs 26), pero en todos los casos son probabilidades, y sobre todo, la genética determina una parte de nuestro destino, lo mas importante suelen las decisiones individuales que tomamos en nuestras vidas. Si fumas 2 atados por dia, poco importa la genética para saber la probabilidad de un cancer de pulmón. Muy pocas enfermedades son totalmente atribuibles a la genética, la mayoría son multifactoriales. Por ejemplo los negros en Africa no tienen las mismas enfermedades que los negros de USA, misma genetica, otro estilo de vida. Otro tema a tener en cuenta, es que las chances están calculadas en una población que no es igual a la nuestra. La mayoria de los estudios están hechos donde hay plata para hacerlos (valga la redundancia!) por lo que estan super-representados los caucasicos (blancos de norte de europa y de USA). No sé aun cuan extrapolable son los datos para nosotros los sudacas. En mi caso mi etnicidad es: Italiano/Español y Turco/Ruso. De hecho 23andme dice que mis origenes están en Italia. Asi que tampoco es tan alejado de lo que miden ahi (peor seria, para extrapolar, si fuese indio, chino o africano, ahi si que los datos son menos representativos).

Puntualmente para la diabetes dicen lo siguiente:

This SNP is located in the TCF7L2 gene, which encodes a proteininvolved in cell signalling. How TCF7L2 affects the development of type 2 diabetes is not completely understood. TCF7L2 has been shown to be involved in the development of pancreatic islets, which containinsulin-producing beta cells. Studies suggest that the T version of this SNP is associated with impaired baseline insulin secretion.

The T version of this SNP is also associated with increased odds of gestational diabetes, a form of diabetes that occurs only during pregnancy. Gestational diabetes can lead to complications for both mother— such as difficult delivery due to unusually large infant size—and baby, such as low blood sugar and breathing problems.

Multiple studies have confirmed this association in populations with European ancestry. Multiple studies have also replicated this association in populations with Asian and African ancestry.


Lo de la diabetes era esperado, mi familia del lado materno tuvo diabetes y esto es muy útil porque me dice que me tengo que cuidar mas, ya que ese tipo de diabetes es el que te puede agarrar de grande. En general no tengo nada raro y en los "traits" le pegó a todo (color de ojos, grupo sanguineo, etc). Digo que le pegó figurativamente, ya que una vez que un trait está asociado a un SNP, no interviene el azar. Aunque por ahi dice que tengo probabilidad de ser pelirrojo (??), pero bueno, son probabilidades.

El servicio de 23andme es muy bueno porque funciona tipo red social (todo el software ahora tiende a funcionar asi) y uno puede compartir datos geneticos, buscar gente por similitudes geneticas e incluso encontrar parientes (si justo un pariente les mandó la saliva!), debe ser divertido si te aparece un hijo o algo asi. Está bueno también porque por poca guita esto incluye analisis de paternidad, si toda la familia manda sus muestras. En resumen, sirve para 3 cosas:
1) Enfermedades, riesgos, salud, etc. Supongo que es lo mas importante por lo que la gente se hace un analisis genetico en un sitio asi.
2) Ancestros, averiguar los origenes, es la panacea para los que les gusta la genealogía.
3) Red social, de la misma manera que los viejos tienen como tema común las enfermedades, los usuarios de 23andme tenemos nuestros genomas como punto de encuentro. A mi esto no me va pero no lo desprecio como un uso de esta herramienta.
Otra ventaja es como muestra los datos, la genómica es un tema arido, y sin embargo ellos lo hacen fácil, con una web muy 2.0 (AJAX, standard compliant, etc).

Hablando de datos, creo que la disponibilidad de datos genéticos de manera gratuita y con minimas condiciones es algo que nos hace falta a los cientificos, especialmente a los bioinformáticos, asi que voy a seguir el camino de Manu Sporny, que publicó su información genética como dominio público. En mi caso usaré la licencia CC-By-SA 3.0 por una cuestión ideologica. Lo publico porque hacen falta este tipo de datos para investigar, porque si bien existe un proyecto de donar genomas (personalgenomes), permite solo la participación de norteamericanos o residentes permanentes, y sumando el hecho que 23andme no envia a Argentina, no hay genomas de argentinos disponibles para investigación. Un genoma solo no es representativo de nada, pero puede ser la semilla de algo mas grande. Los datos "crudos" están disponibles en GitHub. Los datos en formato procesados, están en mi cuenta de 23andme y puedo mandar una cantidad de invites limitadas, asi que las reservo para familiares y otros stockholders de mi genoma.

Los datos los puedo publicar porque son mios (¿que mas mio que mi propio genoma?). Pero me pregunto que pasaria si tuviese una familia jodida, de esas que se hacen juicios entre ellos, y no le gusta que publique mi genoma. Supongamos que mi hermano no quiere que yo publique mi genoma. ¿Tiene algún derecho en impedirlo? Despues de todo, el 50% de los genes son también de él. Si yo tuviese una predisposición a una enfermedad grave, al publicar mis datos estaría revelando que el tiene el 50% de chance de tener esa mutación. Lo mismo con mis viejos o mi hijo. No comparto genes con mi esposa, pero ella puede atribuirse derechos sobre los genes de mi hijo, que yo publico aca tan alegremente. Ya veo casos en programas tipo "Forum" donde alguno acuse a su familiar de publicar sus datos genéticos...

Para cerrar, en el local vietnamita (que no tenia nombre) comi un sandwich de sardina frita con mostaza y verduras varias, con pan frances (pan raro en USA). Asi que entre la mostaza y el pan frances la comida vietnamita no me pareció tan vietnamita. Igual gracias a Narda Lepes sabía de la influencia francesa en la cocina vietnamita.

Etiquetas: , , ,

martes, septiembre 22, 2009

Nueva edición de Biologia molecular para programadores


Biología Molecular para programadores

Clases en auditorio.
Fundamentos y herramientas de Biología Molecular esenciales para trabajar en Bioinformática.
Objetivos: Incorporar los conocimientos básicos de biología molecular útiles para trabajar en bioinformática, desarrollar aplicaciones especializadas o dar soporte informático a biólogos moleculares, biotecnólogos, bioquímicos y médicos
Inicio: Se dictará lunes de 18.30 a 21.30 hs. desde el 28 de septiembre de 2009
Duración: 15 horas, en cinco clases de 3 hs cada una.
Costo: $180

Mas información en la página del Club de programadores.

Etiquetas: , ,

sábado, febrero 28, 2009

Gráfico "científico"

Siempre me gustaron los gráficos científicos, me refiero a los que salen en revistas como Nature, Science, PNAS, etc. Por lo general usan SigmaPlot, MathCad y esas cosas, aunque a veces se puede ser un Excel (y suele quedar horrible). En este caso me tocó hacer un gráfico "a mano", esto es, sin usar ningún programa de terceros, sino lo hice yo. La idea era representar uno de estos eventos una alineamiento de 2 secuencias nucleotidicas: Mutacion, Inserción y Deleción. Las mutaciones (cambio de un nucleotido a otro) se tiene que representar por una barra de un color segun el nucleotido. Las inserciones y deleciones son barras grises con un tamaño y orientación en función de la magntud del evento.

Los datos los tenia que sacar de planillas, como por ejemplo esta: Planilla 36

Muestro esa porque el siguiente gráfico tiene (entre otras) a la barra generada en base a esa planilla:

Gráfico de comparación de secuencias nucleotidicas

Aqui está el código, es el que produjo esto, pero no es final porque aun quedan hacer algunas modificaciones con respecto al orden de las figuras, pero no con los graficos en si.



#!/home/user/MMC-SD/partition1/py252/bin/python

import xlrd
import glob
#f_inXLS = '/home/sbassi/bioinfo/INTA/ejemploSNPs.xls'
#outfile = '/tmp/out.svg'
outfile = '/mnt/hda2/all.svg'
f_inXLS = 'ejemplo SNPs.xls'

outfh = open(outfile,'w')

svgini = '''<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg width="4000" height="1000" version="1.1"
xmlns="http://www.w3.org/2000/svg">'''
svgend = '</svg>'

def grafica
(xlsfin,outfh,j,tdetodos):
book = xlrd.open_workbook(xlsfin)
sh = book.sheet_by_index(0)
datos = []
largototal = sh.nrows
for rx in
range(1,largototal):
n_orden = int(sh.row(rx)[0].value)
color = ''
signo = '+'
valor = 1
if sh.row(rx)[1].value == 1:
color = 'red'
elif sh.row(rx)[2].value == 1:
color = 'green'
elif sh.row(rx)[3].value == 1:
color = 'blue'
elif sh.row(rx)[4].value == 1:
color = 'black'
if sh.row(rx)[5].value != 0:
valor = abs(int(sh.row(rx)[5].value))
signo = '+' if sh.row(rx)[5].value>0 else '-'
color = 'grey'
elif sh.row(rx)[6].value != 0:
valor = abs(int(sh.row(rx)[6].value))
signo = '+' if sh.row(rx)[6].value>0 else '-'
color = 'grey'
elif sh.row(rx)[7].value != 0:
valor = abs(int(sh.row(rx)[7].value))
signo = '+' if sh.row(rx)[7].value>0 else '-'
color = 'grey'
elif sh.row(rx)[8].value != 0:
valor = abs(int(sh.row(rx)[8].value))
signo = '+' if sh.row(rx)[8].value>0 else '-'
color = 'grey'
if not color:
color = 'white'
datos.append((n_orden, color, valor, signo))
print 'largototal',largototal
print
'tdetodos',tdetodos
outfh.write
('<g transform="translate(%s,%s)">\n'%
(((tdetodos)),j*50))
tdetodos += largototal+20
outfh.write('<text style="font-size:12;font-weight:bold;\
font-family:Consolas;fill:black" x="100" \
y="175" >
%s</text>'%(xlsfin))
outfh.write('<line x1="100" y1="150" x2="%s" y2="150" \
style="stroke:black;stroke-width:1"/>\n'
%
(100+largototal))
#out += htmlini
multiplic_alto = 5
for dato in datos:
#print dato
x = 100+dato[0]
#h = 10
if dato[3]=='+':
y = 150-(dato[2]*multiplic_alto)
h = 150-y
else
:
y = 150
h = multiplic_alto*dato[2]
if dato[1]!='white':
outfh.write('<rect x="%s" y="%s" width="1" \
height="
%s" style="fill:%s;stroke-width:0"/>\n'
% (x,y,h,dato[1]))
outfh.write('</g>\n')
return outfh,tdetodos

outfh.write
(svgini)
i = 0
j = 0
tdetodos = 0
for fn in glob.glob('*.xls'):
if 'ejemplo' not in str(fn) and 'my' not in str(fn):
#print ' a'
print fn
outfh, tdetodos
= grafica(fn,outfh,j,tdetodos)
i+=1
if i==5:
i=0
tdetodos = 0
j+=1


outfh.write
(svgend)
outfh.close()

Etiquetas: ,

miércoles, noviembre 19, 2008

Charla en la UNLUX sobre python y biología molecular

Como parte del evento Ciclo de charlas UNLUX 2008 : "Integrando Disciplinas", daré una charla llamada "Aplicaciones de Python en la Biología Molecular".

La idea es mostrarle a los biologos, biotecnologos y otros profesionales del ramo, que es Python y como puede aplicarse para resolver problemas biologicos. Tambien puede ir cualquier que tengo curiosidad por el tema, aunque los biologos podrán sacarle mas provecho a la charla. Cuando la tenga terminada pondré la presentación aca.

Por lo pronto este es el programa (para mas info vean la página de UNLUX):

Cronograma de charlas


Aula A Aula 202 Aula 203 Auditorio Aula de PC
10:00:00





10:30:00

"Entendiendo UNICODE" Facundo Batista Primeros pasos "¿Qué es el software libre?" Maria Elena Casañas

11:00:00
"Arte, animación y diseño con Software Libre" Franco Iacomella

11:30:00




12:00:00 "Amenazas y oportunidades que la ciencia y la tecnología nos deparan para el futuro" Javier Blanque "Diseño web con herramientas libres" Diego Accorinti
"Introducción al Lenguaje Python" Facundo Batista Taller de OpenOffice: "Introducción a herramientas ofimáticas libres" Ariel Condo
12:30:00

13:00:00 INTERVALO DE ALMUERZO
13:30:00
14:00:00
"Firefox y el Software Libre" Santiago Hollmann
Primeros pasos "Cómo migrar" Maria Elena Casañas Seguridad Informática: "Estrategia, ataque y defensa" Facundo M. de la Cruz
14:30:00 Aplicaciones de Python en la Biología Molecular Sebastian Bassi

15:00:00 "Moodle: Administrador de Contenidos educativos (LMS)" Carlos Javier Di Salvo


15:30:00

"Herramientas de Software Libre para enseñar matemática" Pablo De Napoli
16:00:00 "8000000000000u$s en desarrollo, 350 millones de líneas de código y 70.000 años/hombre: Debian" Dererk



16:30:00




17:00:00 Debate: "Trabajo Independiente / Freelance vs. Trabajo en relación de dependencia"

17:30:00

18:00:00





18:30:00





Etiquetas: , , ,

viernes, noviembre 30, 2007

Paper en PLOS:A Primer on Python for Life Science Researchers

Por fin publicaron mi paper:

A Primer on Python for Life Science Researchers

Se trata de una introducción al lenguaje Python, orientada a investigadores de biologia, pero creo que puede ser útil a cualquiera que se interese por el lenguaje.

Versión online (ahi están los links a las versiones PDF)

Etiquetas: , , ,