(english below (here))
Le projet Elegant-Elegans s'appuie à ce jour sur 2 outils utilisés dans le monde de la recherche en biologie:
- CeleST (version MacOS) qui est un programme développé en Matlab.
- WF_NTP qui est un programme développé en Python. À ce jour, ces 2 outils ne semblent plus être actif en terme de développement et maintenance mais semblent encore utilisés par la communauté scientifique.
Dans les sections qui vont suivre sont détaillés les étapes d'installation pour CeleST et WF_NTP.
La documentation détaillée d'anaconda se trouve ici.
- télécharger le script d'installation d'anaconda (
wget -P /tmp https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
)À noter que l'exécutable télécharger par la commande wget est pour un système dont l'architecture est x86 (pour vérifier tapper
arch
ouuname -m
dans votre terminal) - ajouter les droits d'exécution à l'utilisateur (
sudo chmod u+x Anaconda3-2020.02-Linux-x86_64.sh
) et exécuter le script d'installation - Ajouter le répertoire
anaconda3/bin
auPATH
en exportant celui-ci au sein de votrebashrc
ouzshrc
(PATH="$HOME/anaconda3/bin:$HOME/.local/bin:$PATH"
) - fermer et réouvrir votre shell et lancer la commande
conda init bash
(ouconda init zsh
en fonction de votre shell) - fermer et réouvrir votre shell encore une fois
L'installation est complète.
- Télécharger l'exécutable d'installation Anaconda ou Miniconda pour Python 3.8.
- Lancer l'exécutable et suivre les instructions jusqu'à ce que l'installation soit complète.
- Créer un environement conda virtuel avec la commande:
conda create -n v_wf_ntp python=3.8
- Activer l'environnement:
conda activate v_wf_ntp
Note
Si vous utilisez miniconda a la place d'anaconda pensez a ajouter le channel conda-forge grâce à la commande:
conda config --append channels conda-forge
3. Installer les différentes librairies rassemblées dans le fichier `conda_wf_ntp_requirements.txt` via la commande:
```bash
conda install --file conda_wf_ntp_requirements.txt
- Copier le fichier
run_script/multiwormtracker_app
à la racine du répertoireWF_NTP/
L'installation de WF_NTP
est complète, vous pouvez lancer le programme avec la commande ./multiwormtracker_app
ou bien double cliquer dessus.
- Ouvrir l'Anaconda Prompt et se placer dans le répertoire
Elegant-Elegans
cd path\to\Elegant-Elegans
- Créer un environnement conda virtuel
v_wf_ntp
, puis l'activer :conda env create -f env_wf_ntp.yml conda activate v_wf_ntp
L'environnement est bien activé si
v_wf_ntp
apparaît entre parenthèses au début de la ligne de commande.
- Dans l'Anaconda Prompt, se placer dans le répertoire
WF_NTP
cd path\to\Elegant-Elegans\WF_NTP
- Vérifier que l'environnement
v_wf_ntp
est bien activé et lancer le programme deWF_NTP
avec la commande :python multiwormtracker_app
Afin de pouvoir lancer CeleST, plusieurs étapes préliminaires sont nécessaires:
- télécharger le code source à partir de http://celest.mbb.rutgers.edu/
- installer le logiciel Octave (ici pour les systèmes Linux ou encore là pour MacOS)
L'installation du logiciel Octave est simple. Si vous êtes root et sous un système Ubuntu, vous avez simplement à effectuer les commandes:
apt install octave
apt install liboctave-dev # development files
Pour un système Linux différent, vous trouverez la démarche sur la page wiki d'Octave
Dans le cas où vous n'êtes pas root, il est possible d'installer Octave en tant que distribution indépendante au sein d'Anaconda.
Dans ce cas vous pouvez l'ajouter à l'environnement conda v_wf_ntp
(de sorte à avoir un environnement unique) où bien dans un second environnement conda.
Une fois l'environnement activé, effectué la commande:
conda install -c conda-forge octave
Il est également possible d'installer Octave avec flatpak
:
flatpak install flathub org.octave.Octave
L'installation d'Octave est complète. Vous pouvez le lancer via votre centre d'applications.
Le code source de CeleST est présent au sein du répertoire pour des raisons de comodités car il a été nécesaire de faire quelques modifications pour le faire fonctionner sur une version récente d'Octave ou Matlab. La version fournie est prête à être lancée avec Octave directement.
Si vous désirez exécuter CeleST à partir du code source original, voici les étapes à suivre:
- décompresser l'archive
'source code.zip'
:unzip 'source code.zip' -d /path/to/the/desired/directory/celest
- Le code de
CeleST
est en Matlab, de plus il a été rédigé il y a quelques années et ne semble pas être maintenu. Deux répertoires sont présents dans l'archiveCeleST
:__MACOSX
(code source pour MacOS)source code
(code source pour Linux)
- Installation Linux: Dans le répertoire contenant le code source (
source code
) effectué la modification suivante:# fichier CeleST.m ligne 174 tableVideos = uitable(...,'ColumnEditable',[],...); # remplacer les crochets par: tableVideos = uitable(...,'ColumnEditable',false,...);
- Installation MacOS: #TODO: cela devrait être sensiblement les mêmes étapes que sous Linux.
CeleST
est prêt à être lancer avec Octave
.
- Lancer
Octave
- Modifier le répertoire courant afin que celui-ci soit le répertoire contenant le code source (voir image).
- clique-droit sur le fichier
CeleST.m
et sélectionnerRun
:
L'interface de CeleST
s'ouvre, vous pouvez alors utiliser le programme.
cd source_code
octave --eval "run(CeleST.m)"
Note: Les différentes étapes ont été réalisées sur un système Ubuntu22.04, a priori cela devrait être identique sur Ubuntu21.04
Elegant-Elegans is based on 2 tools used by the academic biological community:
There are no recent activities on the respective github repository, but it seems that these tools are still used by some scientist.
In the following section, we described the different steps to setup a working environment for CeleST and WF_NTP.
Anaconda documentation can be found here (installation is more detailled there)
- Download installation script of anaconda (
wget -P /tmp https://repo.anaconda.com/archive/Anaconda3-2020.02-Linux-x86_64.sh
).info
Note that the downloaded executable with the command above is for a x86 architecture system. To check your architecture, you can look at the output of:
arch # or uname -m
- Add the executable permission (
sudo chmod u+x Anaconda3-2020.02-Linux-x86_64.sh
) and execute the script (./Anaconda3-2020.02-Linux-x86_64.sh
) - Add the repository
anaconda3/bin
at yourPATH
variable environment by writing the export in your~/.bashrc
ou~/.zshrc
(export PATH="$HOME/anaconda3/bin:$HOME/.local/bin:$PATH"
at the end of~/.bashrc
ou~/.zshrc
). - Now you can close and reopen your terminal and execute the command
conda init bash
(ouconda init zsh
depending on the shell you are using). - Close and reopen your terminal one more time.
The installation should be complete.
- Download the installation executable Anaconda or Miniconda for Python 3.8.
- Execute the script and follow the instructions until the installation is completed.
- Create an virtual conda environment with the command:
conda create -n v_wf_ntp python=3.8
- activate the venv:
conda activate v_wf_ntp
Note
If you are using Minicondat instead of Anaconda, you need to add the
conda-forge
channel:conda config --append channels conda-forge
3. Install the libraries gather in `conda_wf_ntp_requirements.txt` with the command:
```bash
conda install --file conda_wf_ntp_requirements.txt
- Copy the file
run_script/multiwormtracker_app
at the root of the repositoryWF_NTP/
Installation of WF_NTP
should be complete, you can run the program with the command ./multiwormtracker_app
or double click on it.
- Open the Anaconda pompt and go to
Elegant-Elegans
folder.cd path\to\Elegant-Elegans
- Create a conda virtual environment named
v_wf_ntp
, and activate it:conda env create -f env_wf_ntp.yml conda activate v_wf_ntp
Virtual environment is correctly created if
v_wf_ntp
appears between parentheses at the beginning of the line in the prompt.
- In the Anaconda Prompt, go to the folder
WF_NTP
cd path\to\Elegant-Elegans\WF_NTP
- Verify
v_wf_ntp
is activated and run the programWF_NTP
with the command:python multiwormtracker_app
To run CeleST
, several steps are needed:
- Download the source code from http://celest.mbb.rutgers.edu/
- Install Octave (here Linux system or there for MacOS)
Installation step are prety simple.
If you are root user and on Ubuntu system, you only need to run the following commands:
apt install octave
apt install liboctave-dev # development files
For a different system than Linux, one can find the steps on the wiki of Octave (wiki d'Octave).
If you are not a root user, it is possible to install Octave as an independante distribution within Anaconda.
In that case, you can either add it to your conda virtual environment v_wf_ntp
or create a new virtual environment.
After you choose in which virtual environment you want to add octave, activate it and write the command:
conda install -c conda-forge octave
Last option listed here, you can install Octave with flatpak
:
flatpak install flathub org.octave.Octave
Octave installation should be complete. You can run it from your application center.
CeleST source code can be found in the repository Elegant-Elegans for simplicity. It has been slighly modified to work with recent version of Octave or Matlab. Thus it should work directly.
!!! warning
CeleST
code is in Matlab and has been written few years ago. So the code is obsolete.
If one want to use CeleST from the orignal source code, here are the steps you have to follow to make it work:
- unzip the file
'source code.zip'
:unzip 'source code.zip' -d /path/to/the/desired/directory/celest
- You will find 2 folders within
CeleST
:__MACOSX
(code source for MacOS)source code
(code source for Linux)
- Linux Installation: In the folder (
source code
) one have to make the following modification::# CeleST.m file - line 174 tableVideos = uitable(...,'ColumnEditable',[],...); # replacing the square bracket by: tableVideos = uitable(...,'ColumnEditable',false,...);
- MacOS Installation: #TODO: should be quite similar to Linux.
CeleST
should be ready to be execute with Octave
.
- Launch
Octave
- Modify the
current folder
to be the folder containing the source code (see picture). - right click on the file
CeleST.m
and selectRun
:
CeleST
interface should be opening, you can use CelesT
with Octave.
cd source_code
octave --eval "run(CeleST.m)"
Note: The different steps has been realised with Ubuntu22.04, a priori this should be identical on Ubuntu21.04
Contributors must used black formatter, used isort and flake8 to check their code. Thus before doing a pull request, you have to setup your local repository to install the pre-commit hooks.
Here are the steps to setup the pre-commit hooks:
- Install pre-commit
pip install pre-commit
- Install the hooks with:
pre-commit install
- run the hooks with
pre-commit run -a