Parasail/fr: Difference between revisions

From Alliance Doc
Jump to navigation Jump to search
(Created page with "python parasail-sw.py }} </tab> <tab name="StdEnv/2020"> 2.1. Identify available wheels first : {{Command |avail_wheel parasail |result= name version python arch -------- --------- -------- ------- parasail 1.2.4 py2,py3 generic }}")
No edit summary
 
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages />
<languages />


<div lang="en" dir="ltr" class="mw-content-ltr">
[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] is a SIMD C (C99) library containing implementations of the Smith-Waterman (local), Needleman-Wunsch (global), and various semi-global pairwise sequence alignment algorithms.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
{{Note
{{Note
|Starting from StdEnv/2023, parasail python extension is now bundled in the module parasail. As for 2020, the module needs to be loaded in order for the python extension to be installed in a virtual environment.
|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.
}}
}}
</div>


= Utilisation =  
= Utilisation =  


Pour connaître la version disponible, utillisez
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}}


<div lang="en" dir="ltr" class="mw-content-ltr">
== Avec le binaire <tt>parasail_aligner</tt> ==
== parasail_aligner Example ==
Il est important de définir le nombre de fils selon le nombre de cœurs alloués à votre tâche, par exemple
When using the binary <tt>parasail_aligner</tt> it is important to set the number of threads according to the number of cores allocated in our job. We can set it with
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
parasail_aligner -t ${SLURM_CPUS_PER_TASK:-1} ...}}
parasail_aligner -t ${SLURM_CPUS_PER_TASK:-1} ...}}
</syntaxhighlight>
</syntaxhighlight>
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
== Extension Python ==
== Python extension ==
Le module contient des liaisons pour plusieurs versions de Python.  
The module contains bindings for multiple Python versions.  
Pour connaître les versions compatibles de Python, lancez
To discover which are the compatible Python versions, run
{{Command|module spider parasail/1.3.4}}
{{Command|module spider parasail/1.3.4}}
</div>


=== Utiliser l'extension ===
=== Utiliser l'extension ===
Line 41: Line 33:
{{Command|python -c "import parasail"}}
{{Command|python -c "import parasail"}}


<div lang="en" dir="ltr" class="mw-content-ltr">
L'importation est réussie quand la commande ne retourne rien.
If the command displays nothing, the import was successful.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
=== Exemple ===
=== Example ===
Comparez les résultats d'un alignement local avec BioPython et parasail.
Run a quick local alignment score comparison between BioPython and parasail.
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
1. Préparez le script Python.
1. Write the python script:
{{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
</div>


A = "ACGT" * 1000
A = "ACGT" * 1000
Line 107: Line 93:
}}
}}


<div lang="en" dir="ltr" class="mw-content-ltr">
Installez maintenant la version choisie dans votre environnement virtuel.
Then install the desired version in your virtual environment:
{{File
{{File
   |name=submit-parasail.sh
   |name=submit-parasail.sh
Line 118: 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
</div>


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


<div lang="en" dir="ltr" class="mw-content-ltr">
# 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 128: 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
</div>


python parasail-sw.py
python parasail-sw.py
Line 140: Line 122:
}}
}}


<div lang="en" dir="ltr" class="mw-content-ltr">
4. Une fois la tâche terminée, vérifiez le résultat dans le fichier de sortie de l'ordonnanceur Slurm.
4. The output will be in the slurm output file, once the job has run:
{{Command
{{Command
|less slurm-*.out
|less slurm-*.out
Line 148: Line 129:
biopython: 4000.0
biopython: 4000.0
}}
}}
</div>


<div lang="en" dir="ltr" class="mw-content-ltr">
==== Paquets Python disponibles ====
==== Available Python packages  ====
Les exigences des paquets Python qui dépendent de parasail seront satisfaites en chargeant le module parasail.
Other Python packages that depend on parasail will have their requirement satisfied with the module loaded:
{{Command
{{Command
|pip list {{!}} grep parasail
|pip list {{!}} grep parasail
Line 158: Line 137:
parasail                          1.3.4
parasail                          1.3.4
}}
}}
</div>

Latest revision as of 14:11, 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 cependant être chargé pour que l'extension Python soit installée dans un environnement virtuel.


Utilisation

Pour connaître la version disponible, utilisez

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

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

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

Installez 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

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

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 le module parasail.

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