[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 }}