[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.
{{Note
|Depuis StdEnv/2023, l'extension parasail-python fait partie du module parasail. Avec StdEnv/2020, le module doit cependant être chargé pour que l'extension Python soit installée dans un environnement virtuel.
}}
= Utilisation =
Pour connaître la version disponible, utilisez
{{Command|module spider parasail}}
Chargez la bibliothèque avec
{{Command|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
{{Command|module spider parasail/1.3.4}}
=== Utiliser l'extension ===
1. Chargez les modules requis.
{{Command|module load parasail/2.6.2 python/3.11 scipy-stack/2023b}}
2. Importez parasail 1.3.4.
{{Command|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
|name=parasail-sw.py
|lang="python"
|contents=
import parasail
from Bio.Align import PairwiseAligner
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
|name=submit-parasail.sh
|lang="sh"
|contents=
#!/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
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 :
{{Command
|avail_wheel parasail
|result=
name version python arch
-------- --------- -------- -------
parasail 1.2.4 py2,py3 generic
}}
Installez maintenant la version choisie dans votre environnement virtuel.
{{File
|name=submit-parasail.sh
|lang="sh"
|contents=
#!/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
module load StdEnv/2020 gcc parasail/2.5 python/3.10
# 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
python parasail-sw.py
}}
3. Soumettez la tâche avec
{{Command
|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.
{{Command
|less slurm-*.out
|result=
parasail: 4000
biopython: 4000.0
}}
==== Paquets Python disponibles ====
Les exigences des paquets Python qui dépendent de parasail seront satisfaites en chargeant le module parasail.
{{Command
|pip list {{!}} grep parasail
|result=
parasail 1.3.4
}}