Category Archives: Software

Making a workflow

 

Wow!

This is my first kind of serious project in bioinformatics. I had to prepare some de novo transcriptome assemblies from weird organisms using publicly available data, and I took the chance to learn a little bit how to automate processes using bash scripting, virtual environments, a a lot of variables and flags.

I have named this pristine, and it can be found in my github repository.

I will keep working on it as I learn how to code and make new things. I recently saw a way to download and transfer fastq data into other softwares on-the-go as it is downloaded using UNIX pipes. I will try to check if something like this could be done, how cool.

Cheers!

(and no, I did not forget about the last post of the multicellularity story. I just need free time and energies to sit down and finish it :’) )

Generate wordclouds of Gene Ontology GO terms using wordcloud, RColorBrewer and base::abbreviate() in R

I have two different Gene Ontology annotations for the genome annotation I am working with, and I’ve been trying different ways to quickly visualize Gene Ontology information, such as GO enrichment analysis using p-values as a proxy of significance (as per usual in genomic analyses). I thought of adapting this quick tutorial on wordcloud, but soon I noticed that sometimes the GO term human-readable descriptions are excruciatingly long, and the plots can become a total mess.

One option could be to inject a jumpline character after N words in the GO term string, which the R plotting engine seems to work fine with, but my first I thought was to abbreviate the words in the description. Perhaps unsurprised I learned that the foundational knowledge of R base has what I was looking for: the abbreviate() function.

Continue reading

Pseudocódigo para una idea de un meta-randomizador de Pokémon | Pseudocode for a Pokémon meta-randomizer

Tomado de la web de Sanqui randomizer – Taken from the Sanqui randomizer website.

(ES) (English Below)

Ando en una época de estar relativamente disperso con mis hobbies (hoy estoy escribiendo y actualizando entradas después de dos años y medio con esto olvidado), con lo que muchas veces recurro a emuladores para echar partidas rápidas o viciarme rápido a lo que sea. Durante 2020 ha habido un boom de nuevos ROM Hacks de Pokémon (¿por qué será…?), y he estado bastante pendiente de lo que se cocía en ThePokéCommunity y en el subreddit de PokemonROMHacks. Así volví a toparme con los randomizadores o aleatorizadores (más información, en inglés, aquí y aquí) y uno de mis trabajos favoritos de ingeniería reversa, las decompilaciones de los juegos de Pokémon (GitHub), concretamente el de primera generación (pokered).

Continue reading

[shared] Reproducible analysis for the very lazy | Análisis reproducibles para los más flojos

Lectura recomendadísima con unos cuantos consejos sobre cómo organizar los directorios de trabajo para facilitar la reproducibilidad, el orden homogéneo de todos nuestros proyectos, y nuestra salud mental en general. Cuanto menos, dan inspiración y refuerzan ideas o experiencias previas en el mundo de los sistemas de archivos. Además, molan porque son tan sencillos que ayudan hasta a los que más nos cuesta organizar las cosas. Traducidos al castellano, los comentarios más importantes serían:

  1. Crea una estructura estándar para tus proyectos, respétala en todo momento, conócela como la palma de tu mano, y reutilízala en cada proyecto que hagas. Por ejemplo:
    1. Ten un directorio por cada proyecto que tengas. Todo lo necesario para un proyecto debería estar en el mismo directorio raíz.
    2. Dentro del directorio principal del proyecto, al menos los tres siguientes sub-directorios:
      1. Código: todos los scripts, borradores de código, etc.
      2. Datos: todos los raw data, datos tabulares, etc. Todo lo que se generó durante un experimento, así como información proporcionada por otra persona.
      3. Resultados: todo lo generado usando código.
  2. Usa enlaces simbólicos (==symbolic links, o symlinks) (ln -s) para evitar la redundancia de datos. Importantísimo, que a la hora de llamar el comando ‘ln -s’ se haga usando la ruta completa del archivo de origen, incluyendo cuanto menos el directorio home (“~/ruta/al/archivo” en lugar de, por ejemplo, “../ruta/al/archivo”).
  3. Usa rutas (==paths) relativas entre sí. Por ejemplo, si trabajas en R, sitúa tu workingdirectory en “~/ProjectName” y haz las llamadas a lecturas de datos desde “Data/…”. ¿Que tienes algún dato o cosa que necesitas usar rápido y sin más importancia? Usa el consejo #2 (link simbólico a “Data/” ) para respetar la estructura decidida en la regla 1.

Si quieres más consejos a cuenta de la casa, continúa leyendo.

Continue reading

REDEFINING THE WORKPLACE

Casual Friday, denim shirt tucked into blue jeans, reserved parking space, circular glasses, hair parted in the middle, racquetball at lunch, afternoon meeting’s postponed. I just sit and stare in my corner office at the stars rushing on my Gateway 2000 screensaver, dreaming away a sunny afternoon.

I wonder if the restaurant where we have reservations folds their cloth napkins the right way.

Little King Trashmouth on INTERNET CLUB : REDEFINING THE WORKPLACE