-
Notifications
You must be signed in to change notification settings - Fork 1
EM‐Seq Pipeline
sprokopec edited this page Feb 27, 2026
·
2 revisions
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
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 }
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 }
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 }