Skip to main content

Module scan

Module scan 

Source
Expand description

Scoring whole records, piece by piece, across threads.

crate::fasta::split_seq_by_gaps breaks a record at unscoreable bases, and the resulting pieces are independent: curvature is computed from a sliding window that never spans a gap, so no piece needs anything from its neighbours. That makes the pieces the natural unit of parallelism.

Structs§

Chunk
One unit of independently scoreable work within a piece.
CurveParams
The parameters that define a curvature calculation.
PieceCurves
The curvature scores for one piece, with the positions they belong to.
SymParams
The parameters of the symmetry stage.

Enums§

Stage
Which stage of the calculation to produce.

Constants§

DEFAULT_CHUNK_SCORES
The default number of scores one chunk produces.

Functions§

chunks
Divide a piece of piece_len bases into chunks producing chunk_scores scores each.
score_bases
Score a run of bases with fresh state.
score_piece
Score a single piece.
score_piece_chunked
Score a single piece, dividing it into chunks of the given size.
score_pieces
Score every piece, in parallel, preserving input order.
score_symmetry_bases
Score a run of bases through to symmetry, with fresh state.
sym_chunks
Divide a piece into chunks of symmetry scores.