Como programador de computadoras, ¿cómo puedo contribuir a la investigación del cáncer?

El mundo de la investigación necesita desesperadamente programadores de calidad que estén interesados ​​en trabajar en este espacio.

Uno de los secretos sucios de la biomedicina es que la calidad de la ingeniería para la mayoría del software en este espacio es muy pobre. La investigación sobre el cáncer se basa en gran parte en un grupo de scripts R mal conservados, scripts de shell y scripts de Biopython que unen un montón de enormes archivos.

Eso no quiere decir que la investigación sea de mala calidad. Funciona a pesar de los artilugios de Heath Robinson que lo mantienen unido. Significa que no estamos haciendo todo lo que podemos. También hace que la replicación sea mucho más difícil de lo que debe ser.

El gran dilema en este espacio es que es intrínsecamente multidisciplinario. Usted necesita todo, desde enfermeras hasta biólogos de laboratorios húmedos, farmacéuticos, estadísticos e ingenieros de software. Y todos deben poder hablar entre ellos. ¿Le enseñamos a un biólogo “suficiente” programación, o le enseñamos a un programador “suficiente” biología?

Una de las cosas clave que un programador puede poner sobre la mesa es otras formas de ver los problemas pensando en lo que es posible con las herramientas que aún no están escritas, en lugar de solo lo que es posible con las herramientas que están disponibles. Por ejemplo, cuando se enfrenta con un montón de RNA-seq o DNA-seq, el primer impulso del biólogo es mapearlo, porque BLAST es muy bueno. Usted sabe que esto es solo un medio para un fin, y tal vez el fin se puede lograr por otros medios.

Hay, por supuesto, una gran captura. La curva de aprendizaje es empinada. Entonces, tan empinado. La habilidad más importante es la curiosidad y el impulso para aprender cosas nuevas y difíciles.

Por el lado positivo, yo, con mi grado de informática y sin calificaciones formales adicionales, diseñé algunas secuencias de ADN que en realidad fueron sintetizadas. Ese es uno de esos momentos que la mayoría de las personas obtienen una vez en su carrera si tienen suerte. (Era solo un código de Hamming, pero ahora puedo decirle a la gente que es el primer paso hacia mi ejército de clones y que me temerán pronto).

De manera realista, la mayor parte de su tiempo se dedicará a mantener las tuberías. Pero si quiere causar un gran impacto, esto es lo que estaría mirando:

  • Buenas prácticas de ingeniería de software. Si bien los biólogos no temen ejecutar un script de shell, odian usar el control de código fuente. Tienes que ser muy firme.
  • Sistemas modernos de implementación como Docker y sus familiares. Esto hará que tu vida sea mucho más fácil.
  • Aprenda a escribir un analizador de formatos de archivos de texto sin herramientas como lex y yacc, porque lex y yacc realmente no lo ayudarán con los tipos de archivos que diseñan los biólogos. Te estoy mirando, FASTQ.
  • Un buen conocimiento de los algoritmos básicos y las estructuras de datos es importante. (Pero una familiaridad básica con las estructuras de datos avanzadas podría obtener 180 citas y contar, así que hay eso).
  • ¿Todas las estadísticas que aprendiste en la universidad? Eso es solo material de fondo. La investigación sobre el cáncer, en particular, funciona como una “larga cola” de distribuciones de probabilidad donde el teorema del límite central no se aplica. No has vivido hasta que hayas trabajado con los valores de p de [math] 2 ^ {- 1000} [/ math].
  • Hablando de eso, aprende a amar el análisis numérico.

Puedes contribuir mucho

La onco-metabolómica es un tema candente en el campo de la investigación del cáncer. Necesitan programador (C, Java, Groovy, Python, Perl, etc.). Necesitan a alguien que tenga experiencia en bioestadística y software de bioinformática como R, Matlab. Usted, el Programador de C ++ y el desarrollador de Matlab son necesarios para alguien como yo. Usted programador puede ayudarme a manejar la gran cantidad de archivos producidos por GC / MS, LC / MS o NMR. ¿Puede ayudarme a simplificar esas señales complicadas (utilice su conocimiento y experiencia en el algoritmo y codificación de procesamiento de señal)?

Tuve que usar algunas versiones en línea para procesar mis datos e interpretarlos biológicamente. Le agradecería si pudiera usar su software fácil de usar para esa tarea.

Perdónenme si parezco analfabeto en la programación usando los términos no tan conocidos anteriores. Sí, soy analfabeto en programación. Pero créanme, los investigadores de metabolómica necesitan programadores.