Expand description
Rust types and validating parsers for the betula bioinformatics JSON schemas.
types is generated by typify from the JSON Schemas; don’t edit it.
typify doesn’t enforce every JSON Schema keyword (e.g. minItems), so
parse and parse_str validate against the canonical schema first and
only then deserialize. Use them rather than serde_json::from_* directly.
let tree: betula_schema::Tree =
betula_schema::parse_str(r#"{"name": "A", "length": 0.1, "children": []}"#).unwrap();
assert_eq!(tree.name, "A");
assert!(betula_schema::parse_str::<betula_schema::Tree>(r#"{"name": "A", "length": -1, "children": []}"#).is_err());Re-exports§
pub use crate::types::Alignment;pub use crate::types::Annotation;pub use crate::types::BlastResult;pub use crate::types::DistanceMatrix;pub use crate::types::DnaAlphabet;pub use crate::types::DnaSequence;pub use crate::types::Hit;pub use crate::types::HitMember;pub use crate::types::Hsp;pub use crate::types::Identifier;pub use crate::types::Location;pub use crate::types::Metadata;pub use crate::types::ProteinAlphabet;pub use crate::types::ProteinSequence;pub use crate::types::RnaAlphabet;pub use crate::types::RnaSequence;pub use crate::types::Sequence;pub use crate::types::SequenceReference;pub use crate::types::TaxonomyNode;pub use crate::types::Tree;pub use crate::types::UntypedSequence;pub use crate::types::UnwrappedAlignment;pub use crate::types::WrappedAlignment;
Modules§
Enums§
- Error
- Why parsing failed.
- Strand
- GFF3 strand (column 7). Hand-written because typify can’t derive variant
names from
+/-/.; generated types refer to it asbetula_schema::Strand.
Constants§
- KINDS
- Every betula kind name.
Traits§
- Kind
- A betula schema kind: a generated type paired with the schema it must satisfy.