Skip to content

IUPAC degenerate nucleotide codes accepted as input? #1582

Description

@RhysCAllen

Description of bug

Greetings SPAdes team,

Does spades.py parse input files with degenerate IUPAC DNA codes such as R,Y,K,M? Or does it process ACGTN inputs only?

I noticed unexpected behavior in running BayesHammer, and I'm unable to find spades documentation on degenerate nucleotide symbol inputs.

Specifically, with an input read using degenerate symbol R, such as
@S0R13002195/1
CATTTCTTGGAAAAATATATTCATTTC R GTGAAATCTAAATGTTGAGTTCGCGTTTCACAAGA

BayesHammer error correction returns a non-IUPAC symbol:

@S0R13002195/1
CATTTCTTGGAAAAATATATTCATTTC ? GTGAAATCTAAATGTTGAGTTCGCGTTTCACAAGA

AlphabetValidator: invalid sequence character: 'ÿ' reported by fq, a FASTQ linter utility.

Using grep, the actual symbol returned by BayesHammer for this ambiguous nucleotide is neither ? nor ÿ. AWK indicates the character may be invalid multibyte data.

Since the FASTA standard includes IUPAC definitions for degenerate DNA bases, but BayesHammer is returning a non-standard symbol, I'm uncertain whether this is a symptom of a bug, or this is expected behavior (e.g. SPAdes requires AGTCN-only input files).

Thank you for any additional info you could provide. If available, please share the relevant section of documentation / publication.

spades.log

NA

params.txt

NA

SPAdes version

4.2.0

Operating System

Linux-6.8.0-90-generic-x86_64-with-glibc2.39

Python Version

3.12.13

Method of SPAdes installation

binaries

No errors reported in spades.log

  • Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions