Skip to content

Conversation

jkbonfield
Copy link
Contributor

The fastq_umi option (FASTQ_OPT_UMI enum) is used to enable UMI parsing in read names.

When reading FASTQ it converts the 8th Illumina field to an aux tag (default to RX). We may need to amend this if people require it to work on earlier Illumina naming systems, but for now we target the current software.

When writing FASTQ we hunt for a series of tags and choose the first one found. RX is the usual one, but users may wish to also use OX if they potentially have error corrected data in RX and want to regenerate fastq from the original uncorrect tag.

Complexities arrive when dealing with /1 or /2 and #num multi-plexing strings, meaning we have to use temporary buffers rather than simply truncating the read names.

@jkbonfield jkbonfield force-pushed the UMI-import-export branch 4 times, most recently from c8d17d7 to 710291e Compare October 15, 2025 10:32
The fastq_umi option (FASTQ_OPT_UMI enum) is used to enable UMI
parsing in read names.

When reading FASTQ it converts the 8th Illumina field to an aux tag
(default to RX).  We may need to amend this if people require it to
work on earlier Illumina naming systems, but for now we target the
current software.

When writing FASTQ we hunt for a series of tags and choose the first
one found.  RX is the usual one, but users may wish to also use OX if
they potentially have error corrected data in RX and want to
regenerate fastq from the original uncorrect tag.

Complexities arrive when dealing with /1 or /2 and #num multi-plexing
strings, meaning we have to use temporary buffers rather than simply
truncating the read names.

Note we convert dual-index UMIs of SEQ+SEQ to RX:Z:SEQ-SEQ as per the
SAMtags recommendation.  However it's a bit wild west out there and
not everyone does this.  (I've seen 10X outputs with CR using
underscores for example.)  This is a best efforts approach to reduce
the likelihood of incompatibility with downstream pipelines.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants