Skip to content

Add ITSx-style multi-profile selection and SSU/LSU region export #5

Description

@vmikk

Hello Aaron,

Thank you for developing ITSxRust, it is a very good initiative!

I would like to kindly request adding support for running multiple ITSx HMM profile sets and selecting the best-matching profile per read, similar to the original ITSx -t all behavior. This would be extremely useful for metabarcoding studies using universal primers, where samples can contain mixed eukaryotic community composition and the best profile may vary read by read.

It would also be great if the --region option could be extended to export SSU and LSU parts, in addition to the current ITS regions.

Thanks again for the excellent work.
With kind regards,
Vladimir

Activity

  1. self-assigned this
    on May 28, 2026
  2. ayobi commented on May 28, 2026

    @ayobi
    Owner

    Hi Vladimir,
    Thanks for taking a look at ITSxRust!
    Love the suggestions

    I've had a look at how they'd fit. The SSU/LSU export via --region is a smaller, self-contained change since those flanks are already located by the anchor chain, so I can get to that prettty soon. The multi-profile / -t all behavior (best-matching profile per read) will be a fun challenge..I gotta add a taxonomic-group dimension to the selection so each read gets assigned to its best group rather than assuming one group per run.. this would be perfect for universal-primer metabarcoding with mixed eukaryotic communities, and it would open ITSxRust up well beyond fungi which I didn't anticipate to be honest

    with that I did recently speak with your collegue Leho about EUKARYOME.... the non-fungal HMM profiles that -t all needs are a natural fit to build from those alignments, so the two threads tie together nicely I think , I'll keep the issue updated as these take shape and whatnot!

    Thanks again for the kind words and for pushing the tool in this direction :))

  3. vmikk commented on May 28, 2026

    @vmikk
    Author

    Thanks a lot for the fast response and considering these features!
    In ITSx, as I understand, the best profile per read is selected based on the highest sum of retained bitscores.

    Multi-profile option also helps to detect chimeric sequences (which occur quite often with long reads).

  4. ayobi commented on May 29, 2026

    @ayobi
    Owner

    update! --region ssu and --region lsu are now in main

    The output is the portion of the SSU/LSU gene captured in the read, bounded by the conserved HMM anchor, substantial on a full-operon long read, a sliver on a short ITS amplicon, not a curated 18S/28S gene. both regions require a successful full 4-anchor chain (no partial-chain fallback for the flanks, deliberately conservative for now). Soo the SSU ++ FULL ++ LSU reconstructs the original read (or its reverse complement for - strand reads), which the integration tests verify across both strands.

    The multi-profile -t all per-read best-matching-group feature is the next piece. Planning that out now!

  5. ayobi commented on Jul 29, 2026

    @ayobi
    Owner

    Thanks @vmikk again, and sorry for the slow progress

    The second request is in v0.3.0! --region ssu and --region lsu export the flanking ribosomal genes alongside ITS1, ITS2 and full ITS. On Bioconda and as a container.

    Multi-profile selection is the more substantial of the two, so I've split it into #6 to track properly rather than leaving it buried here. Closing this one as the SSU/LSU half is complete. Thanks for both suggestions! I'll keep at it!

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

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions