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: biologia, biopython, python
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 36Muestro esa porque el siguiente gráfico tiene (entre otras) a la barra generada en base a esa planilla:

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: biologia, python
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: biologia, biopython, biotec, python
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: biologia, molecular, plos, python