Sometimes, when trying a new model you just downloaded (e.g. AlphaFold), you don't want to mess with your existing Python libraries. The best way to achieve that is to use a virtual environment. For a detailed explanation, follow this link. Otherwise, follow the instructions below. Keep in mind that proj_folder is the folder where your code files are located, env_path is the folder inside of that where the environment will be created and package_name is the name of a package you want to install (e.g. pandas). Remember to verify the python version with $ python3 -V
Creation (only once): $ python3 -m venv proj_folder/env_path
Activation (once per session): $ source proj_folder/env_path/bin/activate
Install packages: $ python3 -m pip install package_name
Saving dependencies: $ pip freeze > requirements.txt
Reproduce dependencies: $ pip install -r requirements.txt
Deactivation (per session): $ deactivate
Delete environment(!): $ rm -rf proj_folder/env_path
When programming, good practices of software development tell you to write documentation for your software/script as you are coding it (inside the .py files). However, these it should ALSO be documented in a manuscript which is human-readable, like an API. One of the most popular tools in this regard is SPHINX, which auto-documents python code. A nice tutorial for SPHINX with many of the required features is shown here. The first part of the tutorial introduces the syntax for comments inside the script (DocStrings), while the second part deals with the bash commands required to start a SPHINX documentation for a script. The syntax for sphinx can be seen in this cheatsheet.
I'm sure first thoughts on file synchronization may be Google Drive or Dropbox. Big Con: you need an account, and transferring huge files may need an upgraded account (⇾ $$$). A nice alternative I found in this regard is a peer-to-peer (P2P) tool called Syncthing, which allows file transfers among different computers of possibly different Operating Systems (Linux, Windows, Mac). Synchronization is minute-fast and does not rely on cloud services, therefore lowering the risk of infiltration. A simple tutorial for Ubuntu is here, but maybe I will record a video myself doing the same.
Writing a scientific text can be a tedious task for a non-native English speaker. For that purpose, some nice tools I have used completely free of charge, and I recommend are:
https://scribens.com/ is a free tool which reports redundancies, proposes vocabulary enhancements, analyzes how to improve sentences and points out possible clichés to be avoided.
https://spellcheck24.net/ is another tool which allows you to check text in several languages. So far, I haven't seen any word limit on this online resource, although a Premium service is offered.
Believe it or not, https://www.linguee.com/ is a very useful tool for getting contextual examples of how to use certain terms or verbs, since is usually shows texts that contain the word(s) you looked up, or similar translations.
Using the micro editor, there is a plugin called aspell, which can be installed using micro -plugin install aspell. After that, the editor will underline the challenged words considered as typos. Unfortunately, no semantic checker is available so far. The help guide for aspell can be found here.
Last but not least, the simplest tool for some texts may be Google Docs, since it makes contextualized suggestions. Another tool which works together not only with Google Docs, but also with Chrome-related web browsers can be found at https://languagetool.org/. Even the free version is powerful, in finding ways to enhance a text.
A LSTM-based recurrent neural network designed to model polyphonic music with expressive timing and dynamics. The performances generated by the model lack the overall coherence that one might expect from a piano composition; in musical jargon, it might sound like the model is “noodling”— playing without a long-term structure. However, to our ears, the local characteristics of the performance (i.e. the phrasing within a one or two seconds time window) are quite expressive. It can be found here. Note (pun-intended) that the AI will start playing live from your device after 3 to 12 seconds of loading once you enter the link.
20 December, 2022
New paper: The paper "Gene Expression Datasets for Two Versions of the Saccharum spontaneum AP85-441 Genome" was published on Data, from MDPI. The paper can be found here.
02 December, 2022
New collaboration in paper: The paper "GOCompare: An R package to compare functional enrichment analysis between two species" was published on Genomics, from Elsevier. The paper can be found here.
16 - 18 November, 2022
I presented two parts of my work on the OMICAS symposium 2022. The first one is related to creating gene co-expression networks and predicting functional annotations. The second one is a new approach to predict protein-protein interaction (PPI). Click for more info and video (2:04:56 and 3:27:37)
31 August, 2022 - 01 February 2023
I am currently doing an international internship for my PhD in Düsseldorf, Germany, at the Heinrich Heine University. More specifically, I am working in the Quantitative and Theoretical Biology Institute, which works with the Cluster of Excellence on Plants Sciences (CEPLAS), which is actually very similar to OMICAS.
8 - 10 November, 2022
I participated in the conference Complex Networks and Applications 2022 (CNA2022), in Palermo, Sicily. I presented three posters (one from a friend). Click here for more info and detailed program.
8 - 12 October, 2022
I participated on the International Conference on Systems Biology (ISCB2022) in Berlin. I presented a poster about predicting gene co-expression networks. Click here for more info and detailed program.