Skip to content

Feature request: library-type presets for common sequencing workflows #689

Description

@jdidion

Background

I'm the maintainer of atropos and am winding it down in favor of actively-maintained tools like fastp. A capability atropos has that fastp doesn't, which I'd like to propose here, is named presets for common library types.

Proposal

Add a --preset <name> CLI flag (or similar) that expands into a documented bundle of trimming/adapter settings appropriate for a specific library preparation. Users who know their library type but don't know which individual fastp knobs to set would get defaults that match published best practices.

Suggested presets (candidates; final list up to maintainers)

  • Bisulfite-RRBS — clip the CGG end-repair motif, suppress poly-X for C/T-biased reads (see Bismark docs).
  • Bisulfite-WGBS (directional) — standard R1/R2 end clipping.
  • Bisulfite-non-directional / Bisulfite-Swift / TruSeq-Epignome — tool-specific end clips from the respective kit documentation.
  • Small-RNA / miRNA — Illumina small-RNA 3′ adapter, short min length.
  • TruSeq and Nextera — vendor-specific default adapters (fastp already has these in knownadapters.h, this just surfaces them as a preset).
  • Amplicon — aggressive overlap merge, strict quality filtering.

Why this is useful

Right now fastp has great defaults for generic Illumina shotgun data but users running bisulfite, small-RNA, or vendor-specific workflows have to assemble the correct combination of individual flags themselves, often from scattered documentation. A preset tells them "I know my library type; do the right thing" and reduces trimming-related bugs in downstream analyses.

Prior art

Happy to supply the atropos cut-rule tables as a starting point if useful.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions