Skip to content

EM‐Seq Pipeline

sprokopec edited this page Feb 27, 2026 · 2 revisions

Running individual steps

Sometimes, you may only want to run one or a few steps, rather than the full pipeline (ie, alignment), or you may already have BAMs (aligned elsewhere) and want to run a specific variant calling tool (ie, methyldackel).

In all cases, tools will write individual commands to file: /path/to/output/directory/TOOL/logs/run_tool_step_sample/script.sh

Pre-processing steps

run trim galore to remove adapter sequences from fastq files

perl trim_adapters.pl \
-t /path/to/em_pipeline_config.yaml \
-d /path/to/fastq_em_config.yaml \
-o /path/to/output/fastq_trimmed \
-b /path/to/output/fastq_trimmed/trimmed_fastq_files.yaml \
-c slurm \
--dry-run { if this is a dry-run } \
--no-wait { if not a dry-run and you don't want to wait around for it to finish }

run fastqc to summarize trimmed fastq QC metrics

perl fastqc.pl \
-t /path/to/em_pipeline_config.yaml \
-d /path/to/output/fastq_trimmed/trimmed_fastq_files.yaml \
-o /path/to/output/fastqc \
-c slurm \
--dry-run { if this is a dry-run } \
--no-wait { if not a dry-run and you don't want to wait around for it to finish }

run BWA to align to a reference genome

perl bwa.pl \
-t /path/to/em_pipeline_config.yaml \
-d /path/to/output/fastq_trimmed/trimmed_fastq_files.yaml \
-o /path/to/output/BWA \
-b /path/to/output/BWA/bwa_bam.yaml \
-c slurm \
--remove \
--dry-run { if this is a dry-run } \
--no-wait { if not a dry-run and you don't want to wait around for it to finish }

QC steps

once BWA has finished, get BAM QC metrics

perl get_sequencing_metrics.pl \
-t /path/to/em_pipeline_config.yaml \
-d /path/to/output/BWA/bwa_bam.yaml \
-o /path/to/output/BAMQC \
-c slurm \
--remove \
--dry-run { if this is a dry-run } \
--no-wait { if not a dry-run and you don't want to wait around for it to finish }

Variant calling steps

Methylation

run methyldackel to estimate methylation levels


perl methyldackel.pl \
-t /path/to/em_pipeline_config.yaml \
-d /path/to/output/BWA/bwa_bam.yaml \
-o /path/to/output/MethylDackel \
-c slurm \
--dry-run { if this is a dry-run } \
--no-wait { if not a dry-run and you don't want to wait around for it to finish }

Clone this wiki locally