jennifer registry

@deckyard/strider

Reader for STRidER-style STR allele-frequency tables in XML, converting them into the generic @deckyard/forensicgenetics FrequencyDb.

forensicsgeneticsstrstriderxml

Depend on it

[decks]
"@deckyard/strider" = "^0.1.0"

Versions

VersionStatusKindPinRequiresEnginesCapabilities
0.1.0livegitaf8f6f5e0238@deckyard/forensicgenetics >=0.1.0jennifer >=0.25.0 jennifer-tiny >=0.25.0-

License

LGPL-3.0-only

Source

Released from
0.1.0
Published under
@deckyard mplx
Repository owner
deckyard

Resolutions

Times a client asked this registry where to find this deck. Not downloads: the registry only stores metadata, and the code is fetched from its repository directly, so we never see an install and cannot count one. Repeated builds inflate these numbers; installs from an existing lockfile do not appear at all. Counted in UTC.

Readme

@deckyard/strider

test docs release

Reads a STRidER STR allele-frequency export in XML, which holds every population at once, and converts the population you choose into the FrequencyDb that @deckyard/forensicgenetics computes with. Frequencies are kept as published.

Manual: https://deckyard.github.io/deck-strider-frequency-converter/

Install

Requires Jennifer 0.25.0 or newer. Neither this deck nor its dependency is in the public registry yet, so point jvc at this repository; the manifest carries the [sources] entry for @deckyard/forensicgenetics:

jvc source @deckyard/strider https://github.com/deckyard/deck-strider-frequency-converter.git
jvc add @deckyard/strider
jvc install

This vendors both decks under vendor/deckyard/. Without jvc, copy the src/ of both (from a checkout or a deckyard-strider-<version>.tar.gz release archive):

mkdir -p vendor/deckyard/strider vendor/deckyard/forensicgenetics
cp path/to/deck-strider-frequency-converter/src/*.j vendor/deckyard/strider/
cp path/to/deck-forensicgenetics/src/*.j            vendor/deckyard/forensicgenetics/
rm -f vendor/*/*/*_test.j

Example

use fs;
import "@deckyard/strider/" as strider;
import "@deckyard/forensicgenetics/" as forensics;

def t as strider.Table init strider.parse(fs.readString("strider.xml"));
strider.populations($t);                  # ["Entire Database", "Europe", "AUSTRIA", ...]
strider.frequencySums($t, "AUSTRIA");     # locus -> sum, each ~1.0 for a sound table
def db as forensics.FrequencyDb init strider.toFrequencyDb($t, "AUSTRIA", "STRidER AT");

Data

The deck ships no real STRidER table. STRidER's terms of use reserve redistribution and permit downloads for private, non-commercial use only; download the XML yourself from https://strider.online/frequencies/xml. testdata/frequencies.xml is synthetic.

Tests

jennifer test src/strider_test.j
jennifer run examples/readtable.j [export.xml] ["POPULATION"]

Licence

LGPL-3.0-only, see LICENSE. Copyright (C) 2026 mplx <[email protected]>.

This deck as JSON