|
1 |
| -//! Rust bindings for libSBML - Systems Biology Markup Language library |
| 1 | +//! # Rust bindings for libSBML - Systems Biology Markup Language library |
2 | 2 | //!
|
3 |
| -//! This crate provides safe Rust bindings to the C++ libSBML library, which is used for |
4 |
| -//! reading, writing, manipulating and validating SBML (Systems Biology Markup Language) files. |
5 |
| -//! SBML is a widely used format for representing computational models in systems biology. |
| 3 | +//! This crate provides safe, idiomatic Rust bindings to the C++ libSBML library for |
| 4 | +//! working with SBML (Systems Biology Markup Language) files - a standard format for |
| 5 | +//! representing computational models in systems biology research. |
6 | 6 | //!
|
7 |
| -//! The bindings are generated using autocxx to provide a safe interface while maintaining |
8 |
| -//! close integration with the underlying C++ library. The main components include: |
| 7 | +//! ## Features |
9 | 8 | //!
|
10 |
| -//! - SBMLDocument: The root container for SBML models |
11 |
| -//! - Model: Represents a biological model with species, reactions etc. |
12 |
| -//! - Species: Represents chemical species/entities in the model |
13 |
| -//! - Compartment: Represents physical containers/spaces in the model |
14 |
| -//! - Reaction: Represents biochemical reactions between species |
15 |
| -//! - Parameter: Represents numerical parameters used in the model |
16 |
| -//! - Unit/UnitDefinition: Represents units of measurement |
17 |
| -//! - SpeciesReference: Represents species participating in reactions |
| 9 | +//! - Complete access to libSBML functionality with a Rust-friendly API |
| 10 | +//! - Type-safe interfaces for creating and manipulating SBML models |
| 11 | +//! - Reading and writing SBML files with validation support |
| 12 | +//! - Memory-safe wrappers around the C++ library using autocxx |
| 13 | +//! |
| 14 | +//! ## Core Components |
| 15 | +//! |
| 16 | +//! - **SBMLDocument** (`sbmldoc`): Root container for SBML models |
| 17 | +//! - **Model** (`model`): Biological model with species, reactions, and other components |
| 18 | +//! - **Species** (`species`): Chemical entities/molecules in the model |
| 19 | +//! - **Compartment** (`compartment`): Physical containers/spaces where species reside |
| 20 | +//! - **Reaction** (`reaction`): Biochemical transformations with reactants, products and kinetics |
| 21 | +//! - **Parameter** (`parameter`): Numerical values used throughout the model |
| 22 | +//! - **LocalParameter** (`localparameter`): Parameters scoped to specific reactions |
| 23 | +//! - **KineticLaw** (`kineticlaw`): Mathematical expressions defining reaction rates |
| 24 | +//! - **Unit** (`unit`): Base units for quantities in the model |
| 25 | +//! - **UnitDefinition** (`unitdef`): Composite units of measurement |
| 26 | +//! - **Rule** (`rule`): Mathematical expressions that define model behavior |
| 27 | +//! - **SpeciesReference** (`speciesref`): References to species as reactants or products |
| 28 | +//! - **ModifierSpeciesReference** (`modref`): Species references for catalysts and regulators |
18 | 29 | //!
|
19 | 30 |
|
20 |
| -/// Module providing traits for the SBML library |
| 31 | +/// Traits providing common functionality across SBML components |
21 | 32 | pub mod traits {
|
22 | 33 | pub mod annotation;
|
23 | 34 | pub mod fromptr;
|
24 | 35 | pub mod inner;
|
25 | 36 | pub mod intoid;
|
26 | 37 | }
|
27 | 38 |
|
28 |
| -/// Module providing upcast functionality |
| 39 | +/// Type casting and conversion utilities for SBML objects |
29 | 40 | pub mod cast;
|
30 |
| -/// Module providing compartment functionality |
| 41 | +/// Compartments representing physical containers in the model |
31 | 42 | pub mod compartment;
|
32 |
| -/// Module providing kinetic law functionality |
| 43 | +/// Kinetic laws that define reaction rates and mathematics |
33 | 44 | pub mod kineticlaw;
|
34 |
| -/// Module providing local parameter functionality |
| 45 | +/// Local parameters scoped to specific reactions or expressions |
35 | 46 | pub mod localparameter;
|
36 |
| -/// Module providing model functionality |
| 47 | +/// Model definition and management for biological systems |
37 | 48 | pub mod model;
|
38 |
| -/// Module providing modifier species reference functionality |
| 49 | +/// Modifier species references for catalysts and regulators |
39 | 50 | pub mod modref;
|
40 |
| -/// Module providing parameter functionality |
| 51 | +/// Global parameters defining constant or variable model values |
41 | 52 | pub mod parameter;
|
42 |
| -/// Module providing reaction functionality |
| 53 | +/// Reactions describing biochemical transformations between species |
43 | 54 | pub mod reaction;
|
44 |
| -/// Module providing rate rule functionality |
| 55 | +/// Rules for mathematical constraints and assignments within models |
45 | 56 | pub mod rule;
|
46 |
| -/// Module providing core SBML document functionality |
| 57 | +/// Core document handling for SBML files and model containers |
47 | 58 | pub mod sbmldoc;
|
48 |
| -/// Module providing species functionality |
| 59 | +/// Species representing chemical entities and molecules |
49 | 60 | pub mod species;
|
50 |
| -/// Module providing species reference functionality |
| 61 | +/// References to species as reactants or products in reactions |
51 | 62 | pub mod speciesref;
|
52 |
| -/// Module providing unit functionality |
| 63 | +/// Units of measurement for model quantities |
53 | 64 | pub mod unit;
|
54 |
| -/// Module providing unit definition functionality |
| 65 | +/// Unit definitions composing multiple base units |
55 | 66 | pub mod unitdef;
|
56 | 67 |
|
57 |
| -/// Module containing helper macros |
| 68 | +/// Helper macros for working with SBML components |
58 | 69 | pub mod macros;
|
59 | 70 |
|
60 |
| -/// Module containing property functionality |
| 71 | +/// Property handling for SBML element attributes |
61 | 72 | pub mod property;
|
62 | 73 |
|
63 |
| -/// Module containing reader functionality |
| 74 | +/// File and model input/output operations |
64 | 75 | pub mod reader;
|
65 | 76 |
|
66 |
| -/// Internal module containing the wrapper types for the annotation. |
| 77 | +/// Internal module containing the wrapper types for annotations |
67 | 78 | pub(crate) mod wrapper;
|
68 | 79 |
|
69 |
| -/// Internal module containing the container types for the annotation. This is mainly used to extract annotations from the model. Collections are handled by the [`Model`] struct. |
| 80 | +/// Internal module containing collections of SBML components |
70 | 81 | pub(crate) mod collections {
|
71 | 82 | pub(crate) use crate::collections::compartments::*;
|
72 | 83 | pub(crate) use crate::collections::parameters::*;
|
|
0 commit comments