Parasail/fr: Difference between revisions
(Created page with "A = "ACGT" * 1000") |
No edit summary |
||
(26 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<languages /> | <languages /> | ||
[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] | |||
{{Note | {{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 = | = Utilisation = | ||
Pour connaître la version disponible, | Pour connaître la version disponible, utilisez | ||
{{Command|module spider parasail}} | {{Command|module spider parasail}} | ||
Line 19: | Line 15: | ||
{{Command|module load parasail/2.6.2}} | {{Command|module load parasail/2.6.2}} | ||
== Avec le binaire <tt>parasail_aligner</tt> == | |||
Il est important de définir le nombre de fils selon le nombre de cœurs alloués à votre tâche, par exemple | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
parasail_aligner -t ${SLURM_CPUS_PER_TASK:-1} ...}} | parasail_aligner -t ${SLURM_CPUS_PER_TASK:-1} ...}} | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== Extension Python == | |||
== 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}} | {{Command|module spider parasail/1.3.4}} | ||
=== Utiliser l'extension === | === Utiliser l'extension === | ||
Line 41: | Line 33: | ||
{{Command|python -c "import parasail"}} | {{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. | |||
1. | |||
{{File | {{File | ||
|name=parasail-sw.py | |name=parasail-sw.py | ||
Line 58: | Line 45: | ||
import parasail | import parasail | ||
from Bio.Align import PairwiseAligner | from Bio.Align import PairwiseAligner | ||
A = "ACGT" * 1000 | A = "ACGT" * 1000 | ||
# parasail | # parasail | ||
matrix = parasail.matrix_create("ACGT", 1, 0) | matrix = parasail.matrix_create("ACGT", 1, 0) | ||
parasail_score = parasail.sw(A, A, 1, 1, matrix).score | parasail_score = parasail.sw(A, A, 1, 1, matrix).score | ||
# biopython | # biopython | ||
bio_score = PairwiseAligner().align(A, A)[0].score | bio_score = PairwiseAligner().align(A, A)[0].score | ||
print('parasail:', parasail_score) | print('parasail:', parasail_score) | ||
print('biopython:', bio_score) | print('biopython:', bio_score) | ||
}} | }} | ||
2. Préparez le script de soumission selon votre environnement. | |||
2. | |||
<tabs> | <tabs> | ||
<tab name=" | <tab name="StdEnv par défaut"> | ||
{{File | {{File | ||
|name=submit-parasail.sh | |name=submit-parasail.sh | ||
Line 92: | Line 71: | ||
#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 | ||
module load parasail/2.6.2 python/3.11 scipy-stack/2023b | module load parasail/2.6.2 python/3.11 scipy-stack/2023b | ||
# 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 104: | Line 79: | ||
pip install --no-index --upgrade pip | pip install --no-index --upgrade pip | ||
pip install --no-index biopython==1.83 | pip install --no-index biopython==1.83 | ||
python parasail-sw.py | python parasail-sw.py | ||
}} | }} | ||
Line 119: | Line 92: | ||
parasail 1.2.4 py2,py3 generic | parasail 1.2.4 py2,py3 generic | ||
}} | }} | ||
Installez maintenant la version choisie dans votre environnement virtuel. | |||
{{File | {{File | ||
|name=submit-parasail.sh | |name=submit-parasail.sh | ||
Line 132: | Line 103: | ||
#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 | ||
module load StdEnv/2020 gcc parasail/2.5 python/3.10 | module load StdEnv/2020 gcc parasail/2.5 python/3.10 | ||
# 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 144: | Line 111: | ||
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 | ||
python parasail-sw.py | python parasail-sw.py | ||
}} | }} | ||
</tab> | </tab> | ||
</tabs> | </tabs> | ||
3. Soumettez la tâche avec | |||
3. | |||
{{Command | {{Command | ||
|sbatch submit-parasail.sh | |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. | |||
4. | |||
{{Command | {{Command | ||
|less slurm-*.out | |less slurm-*.out | ||
Line 168: | Line 129: | ||
biopython: 4000.0 | biopython: 4000.0 | ||
}} | }} | ||
==== Paquets Python disponibles ==== | |||
=== | Les exigences des paquets Python qui dépendent de parasail seront satisfaites en chargeant le module parasail. | ||
{{Command | {{Command | ||
|pip list {{!}} grep parasail | |pip list {{!}} grep parasail | ||
Line 178: | Line 137: | ||
parasail 1.3.4 | parasail 1.3.4 | ||
}} | }} | ||
Latest revision as of 14:11, 28 June 2024
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.
Utilisation
Pour connaître la version disponible, utilisez
[name@server ~]$ module spider parasail
Chargez la bibliothèque avec
[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
[name@server ~]$ module spider parasail/1.3.4
Utiliser l'extension
1. Chargez les modules requis.
[name@server ~]$ module load parasail/2.6.2 python/3.11 scipy-stack/2023b
2. Importez parasail 1.3.4.
[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.
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.
#!/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 :
[name@server ~]$ avail_wheel parasail
name version python arch
-------- --------- -------- -------
parasail 1.2.4 py2,py3 generic
Installez maintenant la version choisie dans votre environnement virtuel.
#!/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
[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.
[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 le module parasail.
[name@server ~]$ pip list | grep parasail
parasail 1.3.4