Skip to content

interproscan: strip * from protein sequences #13130

Open

Description

@erikrikarddaniel

InterProScan rejects any protein sequence containing *.
The output of the common ORF callers (Prodigal, Pyrodigal, TransDecoder) ends every protein with *, so the module fails on exactly the input it is most likely to get.

With the module's container (interproscan:5.59_91.0), the module's own test protein with a trailing * fails:

java.lang.IllegalArgumentException: You have submitted a protein sequence which contains an asterix (*). This may be from an ORF prediction program. '*' is not a valid IUPAC amino acid character and amino acid sequences which go through our pipeline should not contain it. Please strip out all asterix characters from your sequence and resubmit your search.

Proposal: strip * from the sequence lines in the module's script, in the step that already decompresses a gzipped input, so no extra process or uncompressed copy is needed:

sed '/^>/! s/\*//g'

Stripping is lossless for this tool, since it cannot accept the character.
A test with a trailing * in the input would cover it.

Found in nf-core/metatdenovo#593, which currently works around it with a separate local process.
I am happy to open the PR.

Reported with Claude Code.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

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