<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bwhpc.de/wiki/index.php?action=history&amp;feed=atom&amp;title=BinAC2%2FSoftware%2FBismark</id>
	<title>BinAC2/Software/Bismark - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bwhpc.de/wiki/index.php?action=history&amp;feed=atom&amp;title=BinAC2%2FSoftware%2FBismark"/>
	<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BinAC2/Software/Bismark&amp;action=history"/>
	<updated>2026-10-30T11:04:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BinAC2/Software/Bismark&amp;diff=16556&amp;oldid=prev</id>
		<title>F Bartusch at 12:46, 28 October 2026</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BinAC2/Software/Bismark&amp;diff=16556&amp;oldid=prev"/>
		<updated>2026-10-28T12:46:27Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 14:46, 28 October 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Softwarepage|bio/bismark}}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Softwarepage|bio/bismark&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/3.1.0&lt;/ins&gt;}}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| width=600px class=&quot;wikitable&quot;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{| width=600px class=&quot;wikitable&quot;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| module load&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| module load&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| bio/bismark&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| bio/bismark&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;/3.1.0&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| License&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| License&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>F Bartusch</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=BinAC2/Software/Bismark&amp;diff=16555&amp;oldid=prev</id>
		<title>F Bartusch: Created page with &quot;{{Softwarepage|bio/bismark}}  {| width=600px class=&quot;wikitable&quot; |- ! Description !! Content |- | module load | bio/bismark |- | License | GPL-3.0 - see [https://github.com/FelixKrueger/Bismark/blob/master/license.txt] |- | Citing | [https://academic.oup.com/bioinformatics/article/27/11/1571/216956 Krueger F, Andrews SR. Bismark: a flexible aligner and methylation caller for Bisulfite-Seq applications. Bioinformatics 27(11), 1571-1572 (2011)] |- | Links | Bismark Documenta...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=BinAC2/Software/Bismark&amp;diff=16555&amp;oldid=prev"/>
		<updated>2026-10-28T12:45:48Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Softwarepage|bio/bismark}}  {| width=600px class=&amp;quot;wikitable&amp;quot; |- ! Description !! Content |- | module load | bio/bismark |- | License | GPL-3.0 - see [https://github.com/FelixKrueger/Bismark/blob/master/license.txt] |- | Citing | [https://academic.oup.com/bioinformatics/article/27/11/1571/216956 Krueger F, Andrews SR. Bismark: a flexible aligner and methylation caller for Bisulfite-Seq applications. Bioinformatics 27(11), 1571-1572 (2011)] |- | Links | Bismark Documenta...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Softwarepage|bio/bismark}}&lt;br /&gt;
&lt;br /&gt;
{| width=600px class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Description !! Content&lt;br /&gt;
|-&lt;br /&gt;
| module load&lt;br /&gt;
| bio/bismark&lt;br /&gt;
|-&lt;br /&gt;
| License&lt;br /&gt;
| GPL-3.0 - see [https://github.com/FelixKrueger/Bismark/blob/master/license.txt]&lt;br /&gt;
|-&lt;br /&gt;
| Citing&lt;br /&gt;
| [https://academic.oup.com/bioinformatics/article/27/11/1571/216956 Krueger F, Andrews SR. Bismark: a flexible aligner and methylation caller for Bisulfite-Seq applications. Bioinformatics 27(11), 1571-1572 (2011)]&lt;br /&gt;
|-&lt;br /&gt;
| Links&lt;br /&gt;
| Bismark Documentation: [https://felixkrueger.github.io/Bismark/] &amp;lt;br&amp;gt;&lt;br /&gt;
Bismark Repository: [https://github.com/FelixKrueger/Bismark]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Description =&lt;br /&gt;
&lt;br /&gt;
Bismark maps bisulfite-converted reads (WGBS, RRBS, EM-seq, ...) to a reference genome and calls cytosine methylation in CpG, CHG and CHH context.&lt;br /&gt;
&lt;br /&gt;
The module &amp;lt;code&amp;gt;bio/bismark/3.1.0&amp;lt;/code&amp;gt; is the &amp;#039;&amp;#039;&amp;#039;Rust rewrite&amp;#039;&amp;#039;&amp;#039; of Bismark. Upstream validates its default output as byte-identical to Perl Bismark v0.25.1. We checked this on BinAC 2 with the upstream test data (all outputs identical) and with 10 million human EM-seq read pairs (identical alignments). It is much faster than the Perl version, mostly in the methylation extraction:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Step (10M read pairs, GRCh38, 16 cores) !! Perl 0.25.1 (&amp;lt;code&amp;gt;--multicore 8&amp;lt;/code&amp;gt;) !! Rust 3.1.0 (&amp;lt;code&amp;gt;-p 8&amp;lt;/code&amp;gt;)&lt;br /&gt;
|-&lt;br /&gt;
| Alignment || 785 s || 699 s&lt;br /&gt;
|-&lt;br /&gt;
| Deduplication || 190 s || 169 s&lt;br /&gt;
|-&lt;br /&gt;
| Methylation extraction (with cytosine report) || 3067 s || 293 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;#039;&amp;#039;&amp;#039;Total&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;4042 s&amp;#039;&amp;#039;&amp;#039; || &amp;#039;&amp;#039;&amp;#039;1162 s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
All classic tool names are available: &amp;lt;code&amp;gt;bismark&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bismark_genome_preparation&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;deduplicate_bismark&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bismark_methylation_extractor&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bismark2bedGraph&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;coverage2cytosine&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bam2nuc&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bismark2report&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;bismark2summary&amp;lt;/code&amp;gt; and more. Your existing commands keep working, but see [[#Moving from Perl Bismark 0.25.1|below]] for the thread options.&lt;br /&gt;
&lt;br /&gt;
The module loads &amp;lt;code&amp;gt;bio/bowtie2/2.5.5&amp;lt;/code&amp;gt; automatically. HISAT2 (&amp;lt;code&amp;gt;--hisat2&amp;lt;/code&amp;gt;) and minimap2 (&amp;lt;code&amp;gt;--minimap2&amp;lt;/code&amp;gt;) are optional and must be loaded separately. samtools is not needed.&lt;br /&gt;
&lt;br /&gt;
= Quick start =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
#SBATCH --nodes=1&lt;br /&gt;
#SBATCH --ntasks=1&lt;br /&gt;
#SBATCH --cpus-per-task=32&lt;br /&gt;
#SBATCH --mem=32G&lt;br /&gt;
#SBATCH --time=04:00:00&lt;br /&gt;
&lt;br /&gt;
module load bio/bismark/3.1.0&lt;br /&gt;
&lt;br /&gt;
GENOME=/path/to/genome_folder        # prepared with bismark_genome_preparation&lt;br /&gt;
cd &amp;quot;$TMPDIR&amp;quot;                         # fast local scratch of the job&lt;br /&gt;
&lt;br /&gt;
bismark --genome &amp;quot;$GENOME&amp;quot; -p 15 \&lt;br /&gt;
    -1 /path/to/sample_R1.fq.gz -2 /path/to/sample_R2.fq.gz&lt;br /&gt;
deduplicate_bismark -p --parallel 4 sample_R1_bismark_bt2_pe.bam&lt;br /&gt;
bismark_methylation_extractor -p --gzip --bedGraph \&lt;br /&gt;
    sample_R1_bismark_bt2_pe.deduplicated.bam&lt;br /&gt;
&lt;br /&gt;
mkdir -p /path/to/results&lt;br /&gt;
cp *.bam *.txt *.gz *.html /path/to/results/ 2&amp;gt;/dev/null&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For 50 million read pairs against the human genome this takes about one hour.&lt;br /&gt;
&lt;br /&gt;
= Preparing the genome =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
module load bio/bismark/3.1.0&lt;br /&gt;
bismark_genome_preparation --parallel 16 /path/to/genome_folder/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Large genomes:&amp;#039;&amp;#039;&amp;#039; Bowtie 2 builds a large index (&amp;lt;code&amp;gt;.bt2l&amp;lt;/code&amp;gt;) automatically for genomes above 2 GiB (human, mouse and most mammals); you do not need &amp;lt;code&amp;gt;--large-index&amp;lt;/code&amp;gt;. Giving it anyway does no harm. Bismark finds the large index automatically when aligning.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Use one file extension for all FASTA files&amp;#039;&amp;#039;&amp;#039; in the genome folder. Bismark reads only the first non-empty group of &amp;lt;code&amp;gt;.fa&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.fa.gz&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.fasta&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;.fasta.gz&amp;lt;/code&amp;gt; and silently ignores the others. For example, if your genome is &amp;lt;code&amp;gt;genome.fasta.gz&amp;lt;/code&amp;gt; and you add a spike-in as &amp;lt;code&amp;gt;lambda.fa.gz&amp;lt;/code&amp;gt;, only the spike-in is indexed. Rename the files so they all end the same way.&lt;br /&gt;
* Check the result: &amp;lt;code&amp;gt;grep -c &amp;#039;^&amp;gt;&amp;#039; /path/to/genome_folder/Bisulfite_Genome/CT_conversion/genome_mfa.CT_conversion.fa&amp;lt;/code&amp;gt; must show the number of sequences of your genome.&lt;br /&gt;
* Bismark builds two indexes (C to T and G to A converted genome); &amp;lt;code&amp;gt;--parallel N&amp;lt;/code&amp;gt; builds both at the same time with N threads each. &amp;#039;&amp;#039;&amp;#039;Request &amp;lt;code&amp;gt;--cpus-per-task=32 --mem=64G&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; for &amp;lt;code&amp;gt;--parallel 16&amp;lt;/code&amp;gt;: each index build needs about 25 GiB, and both run at the same time. For the human genome this takes less than one hour.&lt;br /&gt;
* Prepare the index once and reuse it for all samples.&lt;br /&gt;
&lt;br /&gt;
= Choosing threads and resources =&lt;br /&gt;
&lt;br /&gt;
All recommendations below were measured on BinAC 2 standard nodes (AMD EPYC 7543) with human GRCh38 and EM-seq reads (2 x 151 bp). Other genomes and read lengths need different times and memory, but the thread recommendations apply in general.&lt;br /&gt;
&lt;br /&gt;
== Recommended job size ==&lt;br /&gt;
&lt;br /&gt;
Request &amp;#039;&amp;#039;&amp;#039;&amp;lt;code&amp;gt;--cpus-per-task=32&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;--mem=32G&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039;. On BinAC 2, Slurm counts hardware threads as CPUs, so this gives you 16 physical cores with 2 hardware threads each. In our tests this was the most efficient job size: with twice as many cores, the alignment of one sample was only 1.26x faster.&lt;br /&gt;
&lt;br /&gt;
If you have many samples, run one job per sample with these settings rather than fewer jobs with more cores.&lt;br /&gt;
&lt;br /&gt;
== Alignment: use &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;, not &amp;lt;code&amp;gt;--multicore&amp;lt;/code&amp;gt; ==&lt;br /&gt;
&lt;br /&gt;
Bismark runs 2 Bowtie 2 processes (4 with &amp;lt;code&amp;gt;--non_directional&amp;lt;/code&amp;gt;), each with &amp;lt;code&amp;gt;-p N&amp;lt;/code&amp;gt; threads. Choose&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; = cpus-per-task / 2 - 1&lt;br /&gt;
&lt;br /&gt;
so &amp;lt;code&amp;gt;-p 15&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;--cpus-per-task=32&amp;lt;/code&amp;gt;. The 2 remaining hardware threads are used by Bismark itself.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Setting (10M read pairs, 16 cores) !! Time&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-p 8&amp;lt;/code&amp;gt; || 720 s&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-p 15&amp;lt;/code&amp;gt; || &amp;#039;&amp;#039;&amp;#039;551 s&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;-p 16&amp;lt;/code&amp;gt; || 599 s&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--multicore&amp;lt;/code&amp;gt; splits the input and starts a full Bismark with its own copy of the index per worker. It was clearly slower than &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt; with the same number of threads (559 s vs 374 s on a full node) and needs much more memory. Results are identical either way.&lt;br /&gt;
* Do not use more threads than you requested: oversubscribed jobs get slower, not faster.&lt;br /&gt;
&lt;br /&gt;
== Deduplication ==&lt;br /&gt;
&lt;br /&gt;
Use &amp;lt;code&amp;gt;--parallel 4&amp;lt;/code&amp;gt;. For 10M read pairs this reduces the time from 169 s to 36 s. The output is identical.&lt;br /&gt;
&lt;br /&gt;
== Methylation extraction ==&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;--multicore&amp;lt;/code&amp;gt; does not make the extraction of BAM files faster. The extractor already uses about 4 cores on its own.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Use &amp;lt;code&amp;gt;--cytosine_report&amp;lt;/code&amp;gt; only if you need it.&amp;#039;&amp;#039;&amp;#039; It writes every CpG of the genome, including uncovered ones, and takes most of the extraction time and memory:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Extraction (10M read pairs) !! Time !! Memory&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--bedGraph&amp;lt;/code&amp;gt; || 106 s || 0.8 GiB&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;--bedGraph --cytosine_report&amp;lt;/code&amp;gt; || 293 s || 3.4 GiB&lt;br /&gt;
|}&lt;br /&gt;
: Many downstream tools can read the coverage file (&amp;lt;code&amp;gt;*.bismark.cov.gz&amp;lt;/code&amp;gt;) directly. If you need the cytosine report later, create it from the coverage file with &amp;lt;code&amp;gt;coverage2cytosine&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Time, memory and scratch space ==&lt;br /&gt;
&lt;br /&gt;
Measured with &amp;lt;code&amp;gt;--cpus-per-task=32&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-p 15&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;--parallel 4&amp;lt;/code&amp;gt;, human GRCh38:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Read pairs !! Alignment !! Deduplication !! Extraction !! Extraction with cytosine report !! Scratch space during alignment&lt;br /&gt;
|-&lt;br /&gt;
| 10 million || 9 min || 0.6 min || 1.6 min || 4.8 min || 10 GB&lt;br /&gt;
|-&lt;br /&gt;
| 25 million || 23 min || 1.4 min || 3.9 min || 7.2 min || 26 GB&lt;br /&gt;
|-&lt;br /&gt;
| 50 million || 45 min || 2.6 min || 7.6 min || 11 min || 47 GB&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Rules of thumb:&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Time:&amp;#039;&amp;#039;&amp;#039; about 1 minute per million read pairs for alignment, deduplication and extraction together. In jobs that share a node with other jobs, plan about 15% more.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Memory:&amp;#039;&amp;#039;&amp;#039; about 12 GiB for aligning against the human genome, &amp;#039;&amp;#039;&amp;#039;independent of the number of reads&amp;#039;&amp;#039;&amp;#039;. Deduplication and extraction stay below 4 GiB up to 50M read pairs. A job with &amp;lt;code&amp;gt;--mem=16G&amp;lt;/code&amp;gt; processed 50M read pairs successfully; &amp;lt;code&amp;gt;--mem=32G&amp;lt;/code&amp;gt; leaves a safe margin.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Scratch space:&amp;#039;&amp;#039;&amp;#039; about 1 GB per million read pairs during the alignment (temporary converted read files), plus the input and output files. Work in the job&amp;#039;s &amp;lt;code&amp;gt;$TMPDIR&amp;lt;/code&amp;gt; (local disk) and copy the results back at the end. Alignment reads and writes a lot of data (50M pairs: about 180 GB read, 130 GB written); doing this on the parallel file system is slower and loads it for all users.&lt;br /&gt;
&lt;br /&gt;
= Moving from Perl Bismark 0.25.1 =&lt;br /&gt;
&lt;br /&gt;
* Results are the same as with Perl Bismark 0.25.1. The &amp;lt;code&amp;gt;@PG&amp;lt;/code&amp;gt; line of the BAM header therefore still reports &amp;lt;code&amp;gt;VN:v0.25.1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Replace &amp;lt;code&amp;gt;--multicore&amp;lt;/code&amp;gt; by &amp;lt;code&amp;gt;-p&amp;lt;/code&amp;gt;&amp;#039;&amp;#039;&amp;#039; for the alignment, and add &amp;lt;code&amp;gt;--parallel 4&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;deduplicate_bismark&amp;lt;/code&amp;gt;.&lt;br /&gt;
* If you ran Perl Bismark with &amp;lt;code&amp;gt;--multicore&amp;lt;/code&amp;gt;, a tiny fraction of your methylation calls may differ from a new run (399 of 58.6 million CpG report lines in our test). Perl&amp;#039;s &amp;lt;code&amp;gt;--multicore&amp;lt;/code&amp;gt; writes the BAM in a different order, so deduplication keeps different but equivalent duplicates. The alignments themselves are identical.&lt;br /&gt;
&lt;br /&gt;
= Support =&lt;br /&gt;
&lt;br /&gt;
If you have questions or problems, contact hpcmaster [at] uni-tuebingen.de.&lt;/div&gt;</summary>
		<author><name>F Bartusch</name></author>
	</entry>
</feed>