Περιγραφή¶
Bismark is a program to map bisulfite treated sequencing reads to a genome of interest and perform methylation calls in a single step. The output can be easily imported into a genome viewer, such as SeqMonk, and enables a researcher to analyse the methylation levels of their samples straight away. Its main features are:
- Bisulfite mapping and methylation calling in one single step
- Supports single-end and paired-end read alignments
- Supports ungapped and gapped alignments
- Alignment seed length, number of mismatches etc. are adjustable
- Output discriminates between cytosine methylation in CpG, CHG and CHH context
Bismark 0.24.2¶
Παράδειγμα χρήσης¶
Στο $HOME
μας στο login node, δημιουργούμε ένα νέο φάκελο όπου τοποθετούμε τα αρχεία εισόδου και το script υποβολής της εργασίας, έστω bismark-0.24.2-case.sh
.
# mkdir bismark-0.24.2-case
# cd bismark-0.24.2-case
Έστω ότι τα γονιδιώματα αναφοράς βρίσκονται στο φάκελο ~/bismark-0.24.2-case/test_files
και τα δεδομένα προς ανάλυση στο αρχείο ~/bismark-0.24.2-case/test_data.fastq
. Το script υποβολής της εργασίας θα έχει την ακόλουθη μορφή:
SLURM submission script
#!/bin/bash
#SBATCH --job-name=bismark-0.24.2-case.sh
#SBATCH --partition=rome
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=8
#SBATCH --mem=120GB
#SBATCH --time=1:00:00
# Choose how many parallel processes to use
parallel_processes=2
module load Bismark
bismark_genome_preparation test_files
bismark --parallel $parallel_processes -p $(expr $SLURM_NTASKS_PER_NODE / $parallel_processes) test_files test_data.fastq
Το παραπάνω σκριπτ θα ανοίξει 2 παράλληλες διεργασίες με 8/2=4 νήματα η καθεμία. Εδώ θα πρέπει να αναφέρουμε ότι καλό θα είναι να κάνετε κάποιες δοκιμές για να βρείτε σε πόσες διεργασίες πρέπει να διαιρέσετε τα συνολικά διαθέσιμα νήματα (εδώ 8) για μέγιστη αποδοτικότητα.
ΠΡΟΣΟΧΗ
Οι απαιτήσεις του Bismark σε μνήμη είναι μεγάλες, οπότε η δέσμευση μνήμης (μέσω της εντολής #SBATCH --mem=<αριθμός>GB
) είναι απαραίτητη. Θα πρέπει να δεσμεύσουμε κοντά στα 16GB ανά νήμα, αλλά σε κάθε περίπτωση λιγότερο από 125GB, που είναι το όριο του κόμβου.
Στην περίπτωσή μας, δεσμεύσαμε 120GB, το οποίο σημαίνει ότι κατά μέσο όρο κάθε νήμα θα πάρει 120/8=15GB. Ο μέσος όρος χρήσης μνήμης ανά νήμα δεν αναμένεται να είναι μεγαλύτερος, οπότε 120GB αρκούν για το συγκεκριμένο παράδειγμα.
Η υποβολή της εργασίας γίνεται με την εντολή sbatch bismark-0.24.2-case.sh
ως εξής:
# sbatch bismark-0.24.2-case.sh
Παρακολουθούμε με την εντολή squeue
την εξέλιξη της εργασίας.
Eφόσον η εργασία έχει εκκινήσει μπορούμε να ελέγχουμε την πρόοδο της επίλυσης μέσω των αρχείων εξόδου. Π.χ.:
# tail -f *.out