Duodécimo año: Python – blog de Dave Tang

Ahora que este blog entra en su duodécimo año, finalmente estoy usando Python en lugar de Perl como mi lenguaje de secuencias de comandos preferido (¡lo cual es contrario a lo que dije hace dos años!). Como escribí en mi aprendiendo el repositorio de Python, mi interés en el aprendizaje profundo finalmente me derrumbó, ya que varios marcos populares de aprendizaje profundo (TensorFlow, Keras y PyTorch) usan una interfaz de Python; tienen otras interfaces, pero Python se usa comúnmente. Antes de mi interés en el aprendizaje profundo, podía hacer todo lo que necesitaba con Perl, que consistía principalmente en escribir scripts de análisis y envoltorios y, por lo tanto, no necesitaba aprender otro idioma. Pero Python y el aprendizaje profundo son un poco como R y la genómica (al menos hasta donde yo sé), así que no tuve otra opción.

Dado que la mejor manera de aprender algo es sumergirse en ello, he estado escribiendo todos mis scripts de Perl en Python. Además, me he obligado a no ser perezoso y escribir mejores scripts que no codifican ningún valor y están bien documentados. los análisis de argumentos El módulo hace que sea muy fácil escribir scripts que acepten argumentos de tiempo de ejecución que pueden (y deben) documentarse y todo esto se muestra en la página de ayuda automáticamente cuando se evoca el script sin ningún parámetro o con -h o --help. Otras recomendaciones para escribir mejores guiones se pueden encontrar en el artículo Diez recomendaciones para crear software de línea de comandos de bioinformática utilizable y esto entrada en el blog por Heng Li.

pasé por el Curso de carpintería de software Pythonque recomiendo encarecidamente si también está interesado en aprender Python, y le presentaron programación defensiva. Como resultado, he estado usando afirmar declaraciones para verificar si se cumplen ciertas suposiciones en aras de la verificación de la cordura. En una nota técnica, las afirmaciones se pueden desactivar pero no es por defecto; Todavía no estoy completamente seguro de si debería estar levantando excepciones en lugar de usar la afirmación, pero el punto que estoy tratando de hacer es que siempre debemos buscar excepciones en nuestros scripts. Ahora, todas estas «mejores prácticas» son definitivamente posibles con Perl, pero supongo que cuando comenzamos algo nuevo, queremos comenzar con buenos hábitos.

En línea con el desarrollo de buenos hábitos, también he estado aprendiendo sobre CI/CD y utilicé GitHub Actions para generar mi documentación. También jugué con GitLab y pude configurar mi propio corredor, scripts y .gitlab-ci.yml archivo que envía el trabajo de prueba adecuado a una cola cuando se realiza una confirmación. Recientemente, también he estado jugando con Marca GNUdesde que compré el Paquete humilde de Linux. Si bien probablemente me limitaré a usar un sistema de gestión de flujo de trabajo (Actualmente uso WDL y Cromwell pero estoy interesado en aprender más sobre siguiente flujo), aprender más sobre GNU make me ayudará a desarrollar mejores flujos de trabajo.

Con todo, este tweet realmente resume lo que he estado tratando de hacer en el año previo al duodécimo año de este blog:

El tweet se puede reproducir usando GNU antes de Cristoaunque habría redondeado a 37,8 en lugar de redondear a 37,7.

bc -l<<<1^365
# 1

bc -l<<<1.01^365
# 37.78343433288715887761

Durante mi doctorado, el énfasis siempre estuvo en artículos, artículos y artículos. Había poco enfoque en el doctorado. proceso (por ejemplo, como aprender las herramientas del oficio) y todo el enfoque estaba en el resultados. Por eso, me quedé principalmente con lo que sabía antes de mi doctorado (ya había trabajado como bioinformática durante cuatro años) y me concentré en los artículos. Ahora, he dado un paso atrás, para poder avanzar dos pasos. Entonces, si estás haciendo tu doctorado y estás más interesado en los aspectos técnicos, tómate un tiempo para desarrollar nuevas habilidades y hábitos; poco a poco, un poco se convierte en mucho.

En otras noticias, Illumina anunció recientemente la Serie NovaSeq X que aparentemente reducirá el costo de la secuenciación del genoma completo a 200 USD (si puede pagar el secuenciador, tiene espacio para alojarlo y obtiene reactivos gratis), otro plataforma para simplificar los análisis bioinformáticos se anuncia, y mi blog continúa en constante declive.

No he escrito mucho en los últimos cinco años, lo que probablemente explica la disminución de visitantes.

Pero espero escribir más publicaciones entre ahora y el decimotercer año de este blog. Hasta entonces, ¡cuídate y sigue aprendiendo!

Imprimir amigable, PDF y correo electrónico

Fuente del artículo

Deja un comentario