Category Archives: Software

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

Otra perspectiva de alguien de quien ya se ha hablado más que suficiente

Me he leído la biografía de Steve jobs.

Hacía tiempo que quería comenzar a leer cosas más reales y menos ficción. Cosas relacionadas con el mundo en el que vivo, y no con mundos que van más allá. Es lógico, cada vez tengo más y más presente que las cosas funcionan de ciertas maneras y que, ni yo las voy a conseguir cambiar por completo, ni tampoco me interesa cambiarlas todas. Lo cual no quiere decir que no deba saber un poco cómo funcionan. El cómo se desarrolla una idea y se acaba montando un negocio a su alrededor, una fuente que permita crecer a dicho proyecto. El tipo de dificultades que se encuentra uno a lo largo del tiempo. Y como ésas, mil cosas más. También es cierto que me pilla en un punto de bastante inflexión respecto a ciertos eventos futuros que decidirán el curso de mi vida a medio plazo, en los próximos años. Me gustaría estar preparado para ello, y por todas estas razones y mezcla de algún capricho, decidí probar con la historia de este hombre.

Y me he dado cuenta de muchas cosas. Continue reading