Parasail/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
No edit summary
(Updating to match new version of source page)
Line 3: Line 3:
[https://github.com/jeffdaily/parasail parasail] est une bibliothèque  SIMD C (C99) qui contient des implémentations d'algorithmes d'alignement de séquences par paires Smith-Waterman (alignement local), Needleman-Wunsch (alignement global) et autres alignements semi-globaux.
[https://github.com/jeffdaily/parasail parasail] est une bibliothèque  SIMD C (C99) qui contient des implémentations d'algorithmes d'alignement de séquences par paires Smith-Waterman (alignement local), Needleman-Wunsch (alignement global) et autres alignements semi-globaux.


<div class="mw-translate-fuzzy">
{{Note
{{Note
|Depuis StdEnv/2023, l'extension parasail-python fait partie du module parasail. Avec StdEnv/2020, le module doit être chargé pour que l'extension Python soit installée dans un environnement virtuel.
|Depuis StdEnv/2023, l'extension parasail-python fait partie du module parasail. Avec StdEnv/2020, le module doit être chargé pour que l'extension Python soit installée dans un environnement virtuel.
}}
}}
</div>


= Utilisation =  
= Utilisation =  


<div class="mw-translate-fuzzy">
Pour connaître la version disponible, utillisez
Pour connaître la version disponible, utillisez
{{Command|module spider parasail}}
{{Command|module spider parasail}}
</div>


Chargez la bibliothèque avec
Chargez la bibliothèque avec
Line 38: Line 42:
Comparez les résultats d'un alignement local avec BioPython et parasail.
Comparez les résultats d'un alignement local avec BioPython et parasail.


<div class="mw-translate-fuzzy">
1. Préparez le script Python.
1. Préparez le script Python.
{{File
{{File
Line 45: Line 50:
import parasail
import parasail
from Bio.Align import PairwiseAligner
from Bio.Align import PairwiseAligner
</div>


A = "ACGT" * 1000
A = "ACGT" * 1000
Line 59: Line 65:
}}
}}


<div class="mw-translate-fuzzy">
2. Préparez le script de soumission selon votre environnement.
2. Préparez le script de soumission selon votre environnement.
<tabs>
<tabs>
Line 71: Line 78:
#SBATCH --mem-per-cpu=3G      # increase as needed
#SBATCH --mem-per-cpu=3G      # increase as needed
#SBATCH --time=1:00:00
#SBATCH --time=1:00:00
</div>


module load parasail/2.6.2 python/3.11 scipy-stack/2023b
module load parasail/2.6.2 python/3.11 scipy-stack/2023b
Line 93: Line 101:
}}
}}


<div class="mw-translate-fuzzy">
Inatallez maintenant la version choisie dans votre environnement virtuel.
Inatallez maintenant la version choisie dans votre environnement virtuel.
{{File
{{File
Line 103: Line 112:
#SBATCH --mem-per-cpu=3G      # increase as needed
#SBATCH --mem-per-cpu=3G      # increase as needed
#SBATCH --time=1:00:00
#SBATCH --time=1:00:00
</div>


module load StdEnv/2020 gcc parasail/2.5 python/3.10
module load StdEnv/2020 gcc parasail/2.5 python/3.10


<div class="mw-translate-fuzzy">
# Install any other requirements, such as Biopython
# Install any other requirements, such as Biopython
virtualenv --no-download $SLURM_TMPDIR/env
virtualenv --no-download $SLURM_TMPDIR/env
Line 111: Line 122:
pip install --no-index --upgrade pip
pip install --no-index --upgrade pip
pip install --no-index parasail==1.2.4 biopython==1.83
pip install --no-index parasail==1.2.4 biopython==1.83
</div>


python parasail-sw.py
python parasail-sw.py
Line 117: Line 129:
</tabs>
</tabs>


<div class="mw-translate-fuzzy">
3. Soumettez la tâche avec
3. Soumettez la tâche avec
{{Command
{{Command
|sbatch submit-parasail.sh
|sbatch submit-parasail.sh
}}
}}
</div>


<div class="mw-translate-fuzzy">
4. Une fois la tâche terminée, vérifiez le résultat dans le fichier de sortie de l'ordonnanceur Slurm.
4. Une fois la tâche terminée, vérifiez le résultat dans le fichier de sortie de l'ordonnanceur Slurm.
{{Command
{{Command
Line 129: Line 144:
biopython: 4000.0
biopython: 4000.0
}}
}}
</div>


<div class="mw-translate-fuzzy">
==== Paquets Python disponibles ====
==== Paquets Python disponibles ====
Les exigences des paquets Python qui dépendent de parasail seront satisfaites en chargeant  
Les exigences des paquets Python qui dépendent de parasail seront satisfaites en chargeant  
Line 137: Line 154:
parasail                          1.3.4
parasail                          1.3.4
}}
}}
</div>

Revision as of 14:04, 28 June 2024

Other languages:

parasail est une bibliothèque SIMD C (C99) qui contient des implémentations d'algorithmes d'alignement de séquences par paires Smith-Waterman (alignement local), Needleman-Wunsch (alignement global) et autres alignements semi-globaux.

Light-bulb.pngDepuis StdEnv/2023, l'extension parasail-python fait partie du module parasail. Avec StdEnv/2020, le module doit être chargé pour que l'extension Python soit installée dans un environnement virtuel.

Utilisation

Pour connaître la version disponible, utillisez

Question.png
[name@server ~]$ module spider parasail

Chargez la bibliothèque avec

Question.png
[name@server ~]$ module load parasail/2.6.2

Avec le binaire parasail_aligner

Il est important de définir le nombre de fils selon le nombre de cœurs alloués à votre tâche, par exemple

parasail_aligner -t ${SLURM_CPUS_PER_TASK:-1} ...}}

Extension Python

Le module contient des liaisons pour plusieurs versions de Python. Pour connaître les versions compatibles de Python, lancez

Question.png
[name@server ~]$ module spider parasail/1.3.4

Utiliser l'extension

1. Chargez les modules requis.

Question.png
[name@server ~]$ module load parasail/2.6.2 python/3.11 scipy-stack/2023b

2. Importez parasail 1.3.4.

Question.png
[name@server ~]$ python -c "import parasail"

L'importation est réussie quand la commande ne retourne rien.

Exemple

Comparez les résultats d'un alignement local avec BioPython et parasail.

1. Préparez le script Python.

File : parasail-sw.py

import parasail
from Bio.Align import PairwiseAligner
</div>

A = "ACGT" * 1000

# parasail
matrix = parasail.matrix_create("ACGT", 1, 0)
parasail_score = parasail.sw(A, A, 1, 1, matrix).score

# biopython
bio_score = PairwiseAligner().align(A, A)[0].score

print('parasail:', parasail_score)
print('biopython:', bio_score)


2. Préparez le script de soumission selon votre environnement.

File : submit-parasail.sh

#!/bin/bash
#SBATCH --account=def-someuser  # replace with your PI account
#SBATCH --cpus-per-task=1 
#SBATCH --mem-per-cpu=3G      # increase as needed
#SBATCH --time=1:00:00
</div>

module load parasail/2.6.2 python/3.11 scipy-stack/2023b

# Install any other requirements, such as Biopython
virtualenv --no-download $SLURM_TMPDIR/env
source $SLURM_TMPDIR/env/bin/activate
pip install --no-index --upgrade pip
pip install --no-index biopython==1.83

python parasail-sw.py


2.1. Identify available wheels first :

Question.png
[name@server ~]$ avail_wheel parasail
name      version    python    arch
--------  ---------  --------  -------
parasail  1.2.4      py2,py3   generic

Inatallez maintenant la version choisie dans votre environnement virtuel.

File : submit-parasail.sh

#!/bin/bash
#SBATCH --account=def-someuser  # replace with your PI account
#SBATCH --cpus-per-task=1 
#SBATCH --mem-per-cpu=3G      # increase as needed
#SBATCH --time=1:00:00
</div>

module load StdEnv/2020 gcc parasail/2.5 python/3.10

<div class="mw-translate-fuzzy">
# Install any other requirements, such as Biopython
virtualenv --no-download $SLURM_TMPDIR/env
source $SLURM_TMPDIR/env/bin/activate
pip install --no-index --upgrade pip
pip install --no-index parasail==1.2.4 biopython==1.83
</div>

python parasail-sw.py


3. Soumettez la tâche avec

Question.png
[name@server ~]$ sbatch submit-parasail.sh

4. Une fois la tâche terminée, vérifiez le résultat dans le fichier de sortie de l'ordonnanceur Slurm.

Question.png
[name@server ~]$ less slurm-*.out
parasail: 4000
biopython: 4000.0

Paquets Python disponibles

Les exigences des paquets Python qui dépendent de parasail seront satisfaites en chargeant

Question.png
[name@server ~]$ pip list | grep parasail
parasail                           1.3.4