Internet of Science reviewed · under review · unreviewed · retracted · hub

History: Length filter: Keeps FASTA records whose sequence length lies within [minLen, maxLen]

VersionDateWhoKindSummary
12026-10-26 Jens Allmerwritingpublication scaffold attribution

Who wrote which line of version 1

Lines kept from an earlier version keep their author; added lines belong to the version that added them. Kinds: the heuristic of the store (a wholly new line with ≥ 15 words → writing, otherwise editing) unless set on save.

1Jens Allmerv1 writing*A component publication of the Internet of Science: `FASTALenFilter` 0.2.0, an atom. Generated from the manifest and the class comment on 2026-10-26; the author completes it and saves new versions. Lines marked FILL IN are the author's.*
2Jens Allmerv1 writing
3Jens Allmerv1 writing## What it does and why
4Jens Allmerv1 writing
5Jens Allmerv1 writingKeeps the FASTA records whose sequence length lies within [minLen, maxLen] (inclusive).
6Jens Allmerv1 writing
7Jens Allmerv1 writingFILL IN: why this component exists — the problem it solves and what the IoS lacked without it.
8Jens Allmerv1 writing
9Jens Allmerv1 writing## Algorithm
10Jens Allmerv1 writing
11Jens Allmerv1 writingFILL IN: the algorithm reference (a citation tag from docs/vision/README.md or a paper); the class comment names none yet.
12Jens Allmerv1 writing
13Jens Allmerv1 writing## Inputs and outputs
14Jens Allmerv1 writing
15Jens Allmerv1 writing- input `in`: `FASTA.Entry` — One FASTA record: { header: string (with leading ">"), seq: string (no whitespace) }.
16Jens Allmerv1 writing- output `out`: `FASTA.Entry` — One FASTA record: { header: string (with leading ">"), seq: string (no whitespace) }.
17Jens Allmerv1 writing
18Jens Allmerv1 writing## Parameters
19Jens Allmerv1 writing
20Jens Allmerv1 writing- `minLen` (integer, default 1, min 1): Minimum length
21Jens Allmerv1 writing- `maxLen` (integer, default -1, min 1, -1 = unlimited): Maximum length (-1: unlimited)
22Jens Allmerv1 writing
23Jens Allmerv1 writing## How it is tested
24Jens Allmerv1 writing
25Jens Allmerv1 writing- `tests/unit/apps/graph-to-workflow.test.js`
26Jens Allmerv1 writing- `tests/unit/apps/presentation-publications.test.js`
27Jens Allmerv1 writing- `tests/unit/apps/suggest.test.js`
28Jens Allmerv1 writing- `tests/unit/apps/wfms-server.test.js`
29Jens Allmerv1 writing- `tests/unit/atomic/fasta/FASTALenFilter.test.js`
30Jens Allmerv1 writing- `tests/unit/bin/ios-batch.test.js`
31Jens Allmerv1 writing- `tests/unit/bin/ios-bundle.test.js`
32Jens Allmerv1 writing- `tests/unit/bin/ios-new.test.js`
33Jens Allmerv1 writing- `tests/unit/bin/ios-publish-component.test.js`
34Jens Allmerv1 writing- `tests/unit/runtime/pipeline.test.js`
35Jens Allmerv1 writing- `tests/unit/runtime/qc.test.js`
36Jens Allmerv1 writing- `tests/unit/runtime/registry-roots.test.js`
37Jens Allmerv1 writing- `tests/unit/runtime/registry-workflows.test.js`
38Jens Allmerv1 writing- `tests/unit/runtime/registry.test.js`
39Jens Allmerv1 writing- `tests/unit/runtime/workflow-failure.test.js`
40Jens Allmerv1 writing- `tests/unit/runtime/workflow-subworkflows.test.js`
41Jens Allmerv1 writing- `tests/unit/runtime/workflow.test.js`
42Jens Allmerv1 writing- `tests/unit/runtime/WorkflowStage.test.js`
43Jens Allmerv1 writing- `tests/unit/tools/build-browser.test.js`
44Jens Allmerv1 writing- `tests/unit/tools/bundler.test.js`
45Jens Allmerv1 writing- the conformance suite (`tests/conformance/components.test.js`, `tests/conformance/credits.test.js`, `tests/conformance/dead-ends.test.js`, `tests/conformance/maturity.test.js`, `tests/conformance/tasks.test.js`): the component contract for every registered component
46Jens Allmerv1 writing
47Jens Allmerv1 writingFILL IN: the positive cases (synthetic data of known truth), the negative controls and the experimental data the tests use.
48Jens Allmerv1 writing
49Jens Allmerv1 writing## Maturity
50Jens Allmerv1 writing
51Jens Allmerv1 writingMaturity 1 of 3 (ADR 0012); a reviewer raises it, the credits earn it. Maturity 2 needs a test or test-validation credit by a person who is not an author: independent tests (CONTRIBUTING rules 17, 21); from then on this publication must exist (rule components/publication).
52Jens Allmerv1 writing
53Jens Allmerv1 writing## Credits
54Jens Allmerv1 writing
55Jens Allmerv1 writing- Software: Jens Allmer (implementation)
56Jens Allmerv1 writing
57Jens Allmerv1 writing## How to use
58Jens Allmerv1 writing
59Jens Allmerv1 writing```
60Jens Allmerv1 writingnode bin/ios.js describe FASTALenFilter
61Jens Allmerv1 writingnode bin/ios.js run FASTALenFilter < input > output
62Jens Allmerv1 writing```
63Jens Allmerv1 writing
64Jens Allmerv1 writingOther parameters as `--<name> <value>`; `node bin/ios.js describe FASTALenFilter` lists them with their defaults.
65Jens Allmerv1 writing
66Jens Allmerv1 writingAs a node of a workflow document (`*.workflow.json`, ADR 0011):
67Jens Allmerv1 writing
68Jens Allmerv1 writing```json
69Jens Allmerv1 writing{ "id": "filter", "type": "FASTALenFilter", "params": { "minLen": 1, "maxLen": -1 } }
70Jens Allmerv1 writing```
71Jens Allmerv1 writing
72Jens Allmerv1 writingExample workflow: `src/workflows/examples/fasta-length-filter.workflow.json`.
73Jens Allmerv1 writing
74Jens Allmerv1 writing## Results
75Jens Allmerv1 writing
76Jens Allmerv1 writingFILL IN: run the example workflow (`node bin/ios.js run-workflow src/workflows/examples/fasta-length-filter.workflow.json --artefacts <dir>`) on a registered dataset, open the result in the builder and drag the figure or table into this article (Manuscript pane); write one paragraph on what it shows.