Retour
Biotech
Octobre 2021

BlastN sur Qarnot Cloud

Basic Local Alignment Search Tool (BLAST) est initialement un outil en ligne basé sur le web qui permet de trouver des régions de similarité entre des séquences biologiques. Le programme compare les séquences de nucléotides à des bases de données de séquences et calcule leur signification statistique. Il existe différents outils spécifiques selon le type de données de séquençage. Dans cet article, nous nous concentrons sur l'alignement des séquences de nucléotides, et donc sur l'utilisation de BlastN.

Version

Le cas test utilise BLAST 2.10.1, sorti en 2020.

Si vous êtes intéressé par une autre version, veuillez nous envoyer un e-mail à qlab@qarnot.com.

Prérequis

Avant de lancer une tâche de calcul, veuillez vous assurer que vous remplissez déjà ces conditions :

Cas test

Ce cas test est un exemple simple d'utilisation de BLAST, et plus particulièrement de l'outil BlastN, sur Qarnot Cloud, en utilisant le SDK Python. Nous allons aligner une liste de séquences ADN de requête (query) contre une autre liste de séquences ADN de référence. Veuillez trouver un jeu de données contenant deux séquences locales. Décompressez-les et placez-les toutes deux dans un dossier nommé dataset-blastn. (Trouvez ci-dessous les en-têtes des deux fichiers de séquences locales :)

NC_000006.12 Homo sapiens chromosome 6, GRCh38.p13 Primary Assembly
NM_005514.8 Homo sapiens major histocompatibility complex, class I, B (HLA-B), mRNA

Dans ce même dossier dataset-blastn, créez un fichier run_blastn.sh et copiez-y le code suivant.

run_blastn.sh

#!/bin/bash

makeblastdb -in chr6.fna -dbtype nucl -parse_seqids -out chr6
blastn -db chr6 -query hla-b.fsa -out results.out

Ce code contient des instructions pour :

Lancement du cas

Copiez le code suivant dans un script Python et enregistrez-le dans le même chemin que le dossier dataset-blastn sous le nom blastn.py.

blastn.py

#!/usr/bin/env python3

# Import the Qarnot SDK
import qarnot

# Connect to the Qarnot platform
conn=qarnot.connection.Connection(client_token='MY_SECRET_TOKEN')

# Create a task
task = conn.create_task("BLASTN-demo", "docker-batch", 1)

# Create an input bucket with the case files
input_bucket = conn.create_bucket("blastn-demo-input")
input_bucket.sync_directory("dataset-blastn")
task.resources.append(input_bucket)

# Create an output bucket
output_bucket = conn.create_bucket("blastn-demo-output")
task.results = output_bucket

# Give parameters regarding the Docker image to be used
task.constants["DOCKER_REPO"] = "ncbi/blast"
task.constants["DOCKER_TAG"] = "2.10.1"
task.constants['DOCKER_CMD'] = "./run_blastn.sh"

# Submit the task and download results
task.run(output_dir="output")

Assurez-vous d'avoir copié votre jeton d'authentification dans le script (à la place de <<<MY_SECRET_TOKEN>>>) pour pouvoir lancer la tâche sur Qarnot. Assurez-vous que tous les fichiers d'entrée mentionnés ci-dessus (1 fichier .fna, 1 fichier .fsa, 1 fichier .sh) sont dans le même dossier nommé dataset-blastn. Votre répertoire de travail devrait ressembler à ceci :

Pour lancer ce script, ouvrez un terminal dans votre répertoire de travail et exécutez python3 blastn.py.

Résultats

À tout moment, vous pouvez surveiller l'état de votre tâche sur notre plateforme.

Vous devriez maintenant avoir un dossier output dans votre répertoire de travail sur votre ordinateur et un bucket blastn-demo-output contenant tous les fichiers de sortie (base de données construite et scores pour l'alignement des séquences dans le fichier results.out, voir ci-dessous).

results.out

BLASTN 2.10.1+

Reference: Zheng Zhang, Scott Schwartz, Lukas Wagner, and Webb
Miller (2000), "A greedy algorithm for aligning DNA sequences", J
Comput Biol 2000; 7(1-2):203-14.



Database: chr6.fna
           1 sequences; 170,805,979 total letters



Query= NM_005514.8 Homo sapiens major histocompatibility complex, class I,
B (HLA-B), mRNA

Length=1536
                                                                      Score     E
Sequences producing significant alignments:                          (Bits)  Value

NC_000006.12 Homo sapiens chromosome 6, GRCh38.p13 Primary Assembly   784     0.0  


&gt;NC_000006.12 Homo sapiens chromosome 6, GRCh38.p13 Primary Assembly
Length=170805979

 Score = 784 bits (424),  Expect = 0.0
 Identities = 424/424 (100%), Gaps = 0/424 (0%)
 Strand=Plus/Minus

Query  1113      AGCCTGAGACAGCTGTCTTGTGAGGGACTGAGATGCAGGATTTCTTCACGCCTCCCCTTT  1172
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31354298  AGCCTGAGACAGCTGTCTTGTGAGGGACTGAGATGCAGGATTTCTTCACGCCTCCCCTTT  31354239

Query  1173      GTGACTTCAAGAGCCTCTGGCATCTCTTTCTGCAAAGGCACCTGAATGTGTCTGCGTCCC  1232
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31354238  GTGACTTCAAGAGCCTCTGGCATCTCTTTCTGCAAAGGCACCTGAATGTGTCTGCGTCCC  31354179

Query  1233      TGTTAGCATAATGTGAGGAGGTGGAGAGACAGCCCACCCTTGTGTCCACTGTGACCCCTG  1292
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31354178  TGTTAGCATAATGTGAGGAGGTGGAGAGACAGCCCACCCTTGTGTCCACTGTGACCCCTG  31354119

Query  1293      TTCCCATGCTGACCTGTGTTTCCTCCCCAGTCATCTTTCTTGTTCCAGAGAGGTGGGGCT  1352
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31354118  TTCCCATGCTGACCTGTGTTTCCTCCCCAGTCATCTTTCTTGTTCCAGAGAGGTGGGGCT  31354059

Query  1353      GGATGTCTCCATCTCTGTCTCAACTTTACGTGCACTGAGCTGCAACTTCTTACTTCCCTA  1412
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31354058  GGATGTCTCCATCTCTGTCTCAACTTTACGTGCACTGAGCTGCAACTTCTTACTTCCCTA  31353999

Query  1413      CTGAAAATAAGAATCTGAATATAAATTTGTTTTCTCAAATATTTGCTATGAGAGGTTGAT  1472
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31353998  CTGAAAATAAGAATCTGAATATAAATTTGTTTTCTCAAATATTTGCTATGAGAGGTTGAT  31353939

Query  1473      GGATTAATTAAATAAGTCAATTCCTGGAATTTGAGAGAGCAAATAAAGACCTGAGAACCT  1532
                 ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sbjct  31353938  GGATTAATTAAATAAGTCAATTCCTGGAATTTGAGAGAGCAAATAAAGACCTGAGAACCT  31353879

Query  1533      TCCA  1536
                 ||||
Sbjct  31353878  TCCA  31353875

...

Conclusion

C'est tout ! Si vous avez des questions, veuillez contacter qlab@qarnot.com et ce sera un plaisir pour nous de vous aider !

Retour

Nos articles