FastQC Equivalence Report

Comparing Rust FastQC output against Java FastQC v0.12.1 reference data.

Test CaseFileArgsTextImages
minimal_default minimal.fastq (default) 9/9 8/8
minimal_nogroup minimal.fastq --nogroup 9/9 8/8
minimal_expgroup minimal.fastq --expgroup 9/9 8/8
minimal_casava minimal.fastq --casava 9/9 8/8
minimal_casava_nofilter minimal.fastq --casava --nofilter 9/9 8/8
minimal_kmers5 minimal.fastq --kmers 5 9/9 8/8
minimal_kmers10 minimal.fastq --kmers 10 9/9 8/8
minimal_min_length_10 minimal.fastq --min_length 10 9/9 8/8
minimal_dup_length_10 minimal.fastq --dup_length 10 9/9 8/8
complex_default complex.fastq (default) 9/9 8/8
complex_nogroup complex.fastq --nogroup 9/9 8/8
complex_expgroup complex.fastq --expgroup 9/9 8/8
complex_casava complex.fastq --casava 9/9 8/8
complex_casava_nofilter complex.fastq --casava --nofilter 9/9 8/8
complex_kmers5 complex.fastq --kmers 5 9/9 8/8
complex_kmers10 complex.fastq --kmers 10 9/9 8/8
complex_min_length_10 complex.fastq --min_length 10 9/9 8/8
complex_dup_length_10 complex.fastq --dup_length 10 9/9 8/8
realistic_default realistic.fastq.gz (default) 9/9 8/8

minimal_default PASS

Input: minimal.fastq | Args: (default)
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_nogroup PASS

Input: minimal.fastq | Args: --nogroup
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_expgroup PASS

Input: minimal.fastq | Args: --expgroup
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_casava PASS

Input: minimal.fastq | Args: --casava
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_casava_nofilter PASS

Input: minimal.fastq | Args: --casava --nofilter
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_kmers5 PASS

Input: minimal.fastq | Args: --kmers 5
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_kmers10 PASS

Input: minimal.fastq | Args: --kmers 10
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_min_length_10 PASS

Input: minimal.fastq | Args: --min_length 10
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 12865 (2.68%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="60" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="80" height="520" x="100" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="140" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -98,12 +98,12 @@ <line x1="520" y1="560" x2="600" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="600" y1="560" x2="680" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="680" y1="560" x2="750" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 6 7 8 9 10 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 6 7 8 9 10 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

minimal_dup_length_10 PASS

Input: minimal.fastq | Args: --dup_length 10
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 11538 (2.40%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 8534 (1.78%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 100%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 100% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 7272 (1.52%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 9323 (1.94%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -289,8 +289,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3824 (0.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -5,14 +5,14 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7035 (1.47%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -5,10 +5,10 @@ <rect width="800" height="600" x="0" y="0" style="fill:rgb(255,255,255);stroke:none"/> <text x="0" y="566" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -17,7 +17,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_default PASS

Input: complex.fastq | Args: (default)
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_nogroup PASS

Input: complex.fastq | Args: --nogroup
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_expgroup PASS

Input: complex.fastq | Args: --expgroup
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_casava PASS

Input: complex.fastq | Args: --casava
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_casava_nofilter PASS

Input: complex.fastq | Args: --casava --nofilter
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_kmers5 PASS

Input: complex.fastq | Args: --kmers 5
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_kmers10 PASS

Input: complex.fastq | Args: --kmers 10
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_min_length_10 PASS

Input: complex.fastq | Args: --min_length 10
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10837 (2.26%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="60" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="80" height="520" x="100" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="140" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -98,12 +98,12 @@ <line x1="520" y1="560" x2="600" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="600" y1="560" x2="680" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="680" y1="560" x2="750" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 6 7 8 9 10 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 6 7 8 9 10 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

complex_dup_length_10 PASS

Input: complex.fastq | Args: --dup_length 10
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✓ Identical
Icons/fastqc_icon.png ✓ Identical
Icons/tick.png ✓ Identical
Icons/warning.png ✓ Identical
Total: 480000 px | Differ: 10457 (2.18%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="150" height="520" x="180" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="250" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -60,12 +60,12 @@ <line x1="260" y1="560" x2="410" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="410" y1="560" x2="560" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> <line x1="560" y1="560" x2="710" y2="560" stroke="rgb(170,68,153)" stroke-width="[SW]"/> -<rect width="220" height="123" x="570" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="220" height="123" x="570" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="580" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> -<text x="580" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> -<text x="580" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> -<text x="580" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> -<text x="580" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> -<text x="580" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> +<rect width="200" height="123" x="590" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="200" height="123" x="590" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="600" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Illumina Universal Adapter</text> +<text x="600" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Illumina Small RNA 3' Adapter</text> +<text x="600" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">Illumina Small RNA 5' Adapter</text> +<text x="600" y="115" fill="rgb(221,204,119)" font-family="[FONT]" font-size="12">Nextera Transposase Sequence</text> +<text x="600" y="135" fill="rgb(68,170,153)" font-family="[FONT]" font-size="12">PolyA</text> +<text x="600" y="155" fill="rgb(170,68,153)" font-family="[FONT]" font-size="12">PolyG</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9913 (2.07%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 20%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="310" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="130" height="23" x="660" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="130" height="23" x="660" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="660" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 20% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 4893 (1.02%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="320" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> +<text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="30" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %N
Total: 480000 px | Differ: 5740 (1.20%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -88,7 +88,7 @@ <text x="760" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="40" height="0" x="20" y="560" style="fill:rgb(240,240,0);stroke:none"/> <rect width="40" height="0" x="20" y="560" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="40" y1="560" x2="40" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Position in read (bp)
Total: 480000 px | Differ: 48167 (10.03%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -14,10 +14,10 @@ <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">80</text> <text x="0" y="98" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">90</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">100</text> -<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> +<text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -113,8 +113,8 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="40" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="710" y1="40" x2="760" y2="560" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="30" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="30" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 %T %C %A %G
Total: 480000 px | Differ: 11780 (2.45%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -10,10 +10,10 @@ <text x="0" y="252" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="173" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> <text x="0" y="95" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">6</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> +<text x="300" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="10" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="20" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -299,8 +299,8 @@ <line x1="700" y1="560" x2="700" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="700" y1="560" x2="710" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> -<text x="630" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> +<text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 1 2 3 4 5 6 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 3977 (0.83%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="270" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="280" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="400" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="456" x2="790" y2="456" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="10" y1="248" x2="790" y2="248" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="144" x2="790" y2="144" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="170" height="23" x="620" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="170" height="23" x="620" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="620" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 1 2 3 4 5 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 7188 (1.50%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -9,10 +9,10 @@ <text x="0" y="254" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">3</text> <text x="0" y="150" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">4</text> <text x="0" y="46" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">5</text> -<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> +<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Distribution of sequence lengths over all sequences</text> <line x1="10" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="10" y1="560" x2="10" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> +<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Length (bp)</text> <text x="130" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">15</text> <rect width="260" height="520" x="270" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="390" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">16</text> @@ -25,7 +25,7 @@ <line x1="10" y1="40" x2="790" y2="40" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="140" y1="560" x2="400" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="400" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length
Rust
0 1 2 3 4 5 Distribution of sequence lengths over all sequences Sequence Length (bp) 15 16 17 Sequence Length

realistic_default PASS

Input: realistic.fastq.gz | Args: (default)
FileJavaRustStatus
fastqc.fo ✓ Identical
fastqc_data.txt ✓ Identical
  • base64-encoded PNG images replaced with placeholders
summary.txt ✓ Identical
Icons/error.png ✗ Only in Rust
Icons/fastqc_icon.png ✗ Only in Rust
Icons/tick.png ✗ Only in Rust
Icons/warning.png ✗ Only in Rust
Total: 480000 px | Differ: 11598 (2.42%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/adapter_content.svg +++ rust/Images/adapter_content.svg @@ -17,7 +17,7 @@ <text x="380" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">% Adapter</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="20" height="520" x="50" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text>
Java
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Rust
0 10 20 30 40 50 60 70 80 90 100 % Adapter Position in read (bp) 1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24 26 28 30 32 34 36 38 Illumina Universal Adapter Illumina Small RNA 3' Adapter Illumina Small RNA 5' Adapter Nextera Transposase Sequence PolyA PolyG
Total: 480000 px | Differ: 9812 (2.04%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/duplication_levels.svg +++ rust/Images/duplication_levels.svg @@ -17,7 +17,7 @@ <text x="260" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Percent of seqs remaining if deduplicated 87.81%</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="320" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> +<text x="330" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence Duplication Level</text> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="50" height="520" x="80" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="100" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -68,7 +68,7 @@ <line x1="620" y1="560" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="660" y1="560" x2="710" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="710" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="120" height="23" x="670" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="120" height="23" x="670" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="670" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> +<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">% Total sequences</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 87.81% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Rust
0 10 20 30 40 50 60 70 80 90 100 Percent of seqs remaining if deduplicated 87.81% Sequence Duplication Level 1 2 3 4 5 6 7 8 9 >10 >50 >100 >500 >1k >5k >10k % Total sequences
Total: 480000 px | Differ: 7132 (1.49%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_n_content.svg +++ rust/Images/per_base_n_content.svg @@ -17,7 +17,7 @@ <text x="330" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">N content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="20" height="520" x="40" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -132,7 +132,7 @@ <line x1="730" y1="560" x2="740" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="740" y1="560" x2="760" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="760" y1="560" x2="770" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="20" height="23" x="770" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="20" height="23" x="770" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="23" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="23" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%N</text> </svg>
Java
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 %N
Rust
0 10 20 30 40 50 60 70 80 90 100 N content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 %N
Total: 480000 px | Differ: 8275 (1.72%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_quality.svg +++ rust/Images/per_base_quality.svg @@ -21,7 +21,7 @@ <text x="0" y="121" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">30</text> <text x="0" y="91" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">32</text> <text x="0" y="61" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">34</text> -<text x="250" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality scores across all bases (Illumina 1.5 encoding)</text> +<text x="240" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality scores across all bases (Illumina 1.5 encoding)</text> <rect width="20" height="297" x="20" y="263" style="fill:rgb(230,175,175);stroke:none"/> <rect width="20" height="119" x="20" y="144" style="fill:rgb(230,215,175);stroke:none"/> <rect width="20" height="104" x="20" y="40" style="fill:rgb(175,230,175);stroke:none"/> @@ -203,7 +203,7 @@ <rect width="20" height="104" x="760" y="40" style="fill:rgb(195,230,195);stroke:none"/> <line x1="20" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="20" y1="560" x2="20" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <rect width="10" height="0" x="20" y="427" style="fill:rgb(240,240,0);stroke:none"/> <rect width="10" height="0" x="20" y="427" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(0,0,0)"/> <line x1="30" y1="427" x2="30" y2="427" stroke="rgb(0,0,0)" stroke-width="[SW]"/>
Java
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Position in read (bp)
Rust
0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 Quality scores across all bases (Illumina 1.5 encoding) 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 Position in read (bp)
Total: 480000 px | Differ: 21213 (4.42%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_base_sequence_content.svg +++ rust/Images/per_base_sequence_content.svg @@ -17,7 +17,7 @@ <text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Sequence content across all bases</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Position in read (bp)</text> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1</text> <rect width="20" height="520" x="40" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="50" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -279,8 +279,8 @@ <line x1="730" y1="443" x2="740" y2="446" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="740" y1="446" x2="760" y2="443" stroke="rgb(221,204,119)" stroke-width="[SW]"/> <line x1="760" y1="443" x2="770" y2="448" stroke="rgb(221,204,119)" stroke-width="[SW]"/> -<rect width="20" height="83" x="770" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="20" height="83" x="770" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="20" height="83" x="760" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="20" height="83" x="760" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="770" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">%T</text> <text x="770" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">%C</text> <text x="770" y="95" fill="rgb(17,119,51)" font-family="[FONT]" font-size="12">%A</text>
Java
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 %T %C %A %G
Rust
0 10 20 30 40 50 60 70 80 90 100 Sequence content across all bases Position in read (bp) 1 2 3 4 5 6 7 8 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 %T %C %A %G
Total: 480000 px | Differ: 14705 (3.06%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_gc_content.svg +++ rust/Images/per_sequence_gc_content.svg @@ -15,7 +15,7 @@ <text x="310" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">GC distribution over all sequences</text> <line x1="30" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="30" y1="560" x2="30" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="340" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> +<text x="350" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean GC content (%)</text> <text x="30" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">0</text> <rect width="10" height="520" x="40" y="40" style="fill:rgb(230,230,230);stroke:none"/> <text x="40" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">2</text> @@ -303,8 +303,8 @@ <line x1="710" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="720" y1="560" x2="720" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> <line x1="720" y1="560" x2="730" y2="560" stroke="rgb(51,34,136)" stroke-width="[SW]"/> -<rect width="160" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<rect width="150" height="43" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="43" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> <text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">GC count per read</text> <text x="640" y="75" fill="rgb(51,34,136)" font-family="[FONT]" font-size="12">Theoretical Distribution</text> </svg>
Java
0 20 40 60 80 100 120 140 160 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Rust
0 20 40 60 80 100 120 140 160 GC distribution over all sequences Mean GC content (%) 0 2 4 6 8 11 15 19 23 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 GC count per read Theoretical Distribution
Total: 480000 px | Differ: 5525 (1.15%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/per_sequence_quality.svg +++ rust/Images/per_sequence_quality.svg @@ -9,10 +9,10 @@ <text x="0" y="257" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">600</text> <text x="0" y="154" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">800</text> <text x="0" y="51" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">1000</text> -<text x="290" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> +<text x="280" y="30" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Quality score distribution over all sequences</text> <line x1="40" y1="560" x2="790" y2="560" stroke="rgb(0,0,0)" stroke-width="[SW]"/> <line x1="40" y1="560" x2="40" y2="40" stroke="rgb(0,0,0)" stroke-width="[SW]"/> -<text x="290" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> +<text x="300" y="595" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">Mean Sequence Quality (Phred Score)</text> <text x="410" y="575" fill="rgb(0,0,0)" font-family="[FONT]" font-size="12">9</text> <line x1="40" y1="560" x2="790" y2="560" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="40" y1="457" x2="790" y2="457" stroke="rgb(180,180,180)" stroke-width="[SW]"/> @@ -20,7 +20,7 @@ <line x1="40" y1="251" x2="790" y2="251" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="40" y1="148" x2="790" y2="148" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="40" y1="45" x2="790" y2="45" stroke="rgb(180,180,180)" stroke-width="[SW]"/> -<rect width="160" height="23" x="630" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="160" height="23" x="630" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="630" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> +<rect width="150" height="23" x="640" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="150" height="23" x="640" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="640" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Average Quality per read</text> </svg>
Java
0 200 400 600 800 1000 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Rust
0 200 400 600 800 1000 Quality score distribution over all sequences Mean Sequence Quality (Phred Score) 9 Average Quality per read
Total: 480000 px | Differ: 8655 (1.80%) | Max channel diff: 255
Java
Java
Rust
Rust
Pixel Diff
Diff

Identical after applying patch:

--- java/Images/sequence_length_distribution.svg +++ rust/Images/sequence_length_distribution.svg @@ -25,7 +25,7 @@ <line x1="40" y1="45" x2="790" y2="45" stroke="rgb(180,180,180)" stroke-width="[SW]"/> <line x1="160" y1="560" x2="410" y2="40" stroke="rgb(136,34,85)" stroke-width="[SW]"/> <line x1="410" y1="40" x2="660" y2="560" stroke="rgb(136,34,85)" stroke-width="[SW]"/> -<rect width="110" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> -<rect width="110" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> -<text x="680" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> +<rect width="100" height="23" x="680" y="40" style="fill:rgb(255,255,255);stroke:none"/> +<rect width="100" height="23" x="680" y="40" rx="0" ry="0" style="fill:none;stroke-width:1;stroke:rgb(192,192,192)"/> +<text x="690" y="55" fill="rgb(136,34,85)" font-family="[FONT]" font-size="12">Sequence Length</text> </svg>
Java
0 200 400 600 800 1000 Distribution of sequence lengths over all sequences Sequence Length (bp) 49 50 51 Sequence Length
Rust
0 200 400 600 800 1000 Distribution of sequence lengths over all sequences Sequence Length (bp) 49 50 51 Sequence Length

Known Differences

The following differences between Java and Rust output are expected and normalized during comparison. SVG files that show as "Expected diff" or "NORMALIZED" have had these normalizations applied before diffing.

Font family

Java uses Arial (system font). Rust uses 'Liberation Sans', Arial, Helvetica, sans-serif (bundled Liberation Sans, metric-compatible with Arial). The font-family attribute is normalized to [FONT] before comparison.

font-weight="bold" on titles

Rust renders chart titles with font-weight="bold" for visual correctness. Java's SVGGenerator doesn't capture the bold attribute in the SVG output (though the rendered PNG uses bold). The bold attribute is stripped before comparison.

stroke-width on data lines

Java's SVGGenerator captures data lines with stroke-width="1", but the actual PNG rendering uses BasicStroke(2) for 2px-wide lines. Rust uses stroke-width="2" in the SVG so the PNG output matches Java visually. The stroke-width attribute is normalized before comparison.

SVG x-coordinate snapping

Text positioning in SVG depends on precise font metrics. Java uses FontMetrics.stringWidth() with the actual Arial font, while Rust approximates character widths. This produces 1-7px differences in text element x-coordinates (titles, axis labels, legend positions). Coordinates are snapped to the nearest 10px before comparison to absorb these differences.

PNG rendering engine differences

Java renders PNGs via Java2D, Rust via resvg + tiny-skia. Even with identical SVG coordinates, subpixel antialiasing differs between the two engines. This produces ~1-2% pixel differences on most charts, and up to ~10% on charts with many diagonal data lines. The pixel tolerance threshold is 12.0%.

Upstream font bundling

s-andrews/FastQC#185 (merged) bundles Liberation Sans in Java FastQC, matching the font used by this Rust rewrite. Once the reference data is regenerated from a release that includes this change, many SVG differences caused by font-metric mismatches (x-coordinate positioning, legend box sizing, title centering) should be eliminated or significantly reduced.