Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
rdml-qpcr
Rust implementation of RDML (Real-time PCR Data Markup Language), the RDML consortium's XML interchange format for qPCR and digital PCR data.
- Complete model of RDML 1.3 (REC) and 1.4 (CR): every element, attribute, and enumeration, including melting curves, digital-PCR partitions with their TSV sidecar tables, all protocol step kinds, commercial assays, and oligo sequences.
- Reads all published versions (1.0–1.4) into one model; writes 1.1–1.4. Version migrations are explicit and reported, in both directions.
- Reads
.rdml/.rdmzip containers and bare.xml(detected by content). Unknown archive members — vendor sidecar files — are preserved byte-for-byte on round-trip. validate()checks the schema's identity constraints (reference resolution, id and per-element uniqueness), which XSD tooling does not, and reports all findings with document paths. Writing validates first.- The whole model derives serde
Serialize/Deserializewith clean field names, for conversion to JSON, CBOR, etc. - The format's out-of-schema rules are encoded in the types: the
-1.0"not available" sentinel maps toOption,excl/notepresence semantics make<excl>false</excl>unrepresentable, and;-joined reason lists are a dedicated type.
This crate stores results computed elsewhere; it does no Cq calling, baselining, or curve fitting.
Writing a file
use *;
use NonZeroU32;
Reading a file
Versions
| RDML | status | read | write |
|---|---|---|---|
| 1.0 | REC | yes (migrated, with notes) | no |
| 1.1 | REC | yes | yes |
| 1.2 | REC | yes | yes |
| 1.3 | REC | yes | yes (default) |
| 1.4 | CR (may still change) | yes | yes |
Writing an older version than the document uses returns a WriteReport
listing every element the target version cannot express; nothing is
dropped silently. RDML 1.0 is read-only: its enumerated plate formats and
well-label reaction ids are a different document shape, which reading
migrates (positions mapped from labels, dye records synthesized from
free-text names) with a note for each non-trivial step.
Cargo features
time(off by default): conversions betweenrdml_qpcr::DateTimeand thetimecrate's types.
Serde support is not feature-gated.
MSRV: Rust 1.88.
License
Licensed under either of Apache License, Version 2.0 or MIT license at your option.
The vendored RDML schema files under schema/ are © the RDML
consortium, MIT-licensed (see schema/LICENSE-RDML-consortium).
Conformance test files under tests/corpus/ come from the consortium's
RDMLpython and the
rdml R package, both MIT; see
tests/corpus/README.md for provenance.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.