#![forbid(unsafe_code)]
pub use molframe_core::annotation::{
AROMATIC_ATOM_ANNOTATION, ATOM_RADIUS_ANNOTATION, AUTODOCK_TYPE_ANNOTATION, AnnotationColumn,
AtomAnnotation, AtomAnnotations, COMPONENT_KIND_ANNOTATION, FORMAL_CHARGE_ANNOTATION,
HBOND_ACCEPTOR_ANNOTATION, HBOND_DONOR_ANNOTATION, INSTANCE_ID_ANNOTATION, PAE_ANNOTATION,
PARTIAL_CHARGE_ANNOTATION, PLDDT_ANNOTATION, POLYMER_ATOM_ROLE_ANNOTATION,
SEGMENT_ID_ANNOTATION, STEREO_CONFIGURATION_ANNOTATION,
};
pub use molframe_core::contract::{
AlgorithmId, AlignmentPolicy, AltlocPolicy, Analysis, AnalysisParameters, AnalysisPolicy,
AssemblyChoice, Assumption, AssumptionSource, ContactDefinition, Coverage, DictionaryVersion,
EquivalencePolicy, Fingerprint, HydrogenPolicy, Impact, Indeterminacy, MeasuredImpact,
MissingPolicy, ModelChoice, Namespace, Outcome, ParameterValue, PeriodicPolicy, PolicyField,
PolicyParseError, Precision, ProfileId, Provenance, Quality, RadiiSet, SourceRef, Status,
SymmetryPolicy, Tolerance,
};
pub use molframe_core::coords::Aabb;
pub use molframe_core::diagnostic::{
Class, Code, ContextItem, Diagnostic, Diagnostics, Findings, Kind, Rendered, Severity,
Strictness,
};
pub use molframe_core::element::Element;
pub use molframe_core::execution::{
CancellationToken, ContextError, ExecutionContext, MemoryBudget, MemoryBudgetError,
ScratchPolicy, TempStoragePolicy,
};
pub use molframe_core::index::{
AnisotropyIndex, AtomIndex, BondIndex, ChainIndex, EntityIndex, InstanceId, ModelIndex,
ResidueIndex,
};
pub use molframe_core::io::{
AmbiguousResidueBoundaryPolicy, BatchContinuity, CategoryFilter, Compression, ContinuityLevel,
Format, InputBuffer, InputDigest, InputKind, Limits, MissingElementPolicy, OutputOptions,
ParseMode, ReadOptions, ReadResult, Reader, Select, SelectAll, StructureAtomRecord,
StructureBatch, StructureBatchBuilder, StructureBatchError, collect_structure,
};
pub use molframe_core::span::{ByteSpan, Position};
pub use molframe_core::structure::{
AtomRef, ChainRef, ChainSequenceExt, CoordinateEditor, CountDifference, DifferenceError,
EntryMetadata, ExtensionStore, MetadataDifference, MissingResidue, ModelRef,
ReferenceAlignment, ReferenceSequence, ResidueRef, SEQUENCE_REFERENCES_EXTENSION,
SequenceMapping, SequenceReferences, StructureDifference, StructureDifferenceOptions, UnitCell,
ValueDifference,
};
pub use molframe_core::symbol::{AltId, SymbolId};
pub use molframe_core::topology::{EntityKind, PolymerKind, Topology};
pub use molframe_core::{
AnisotropicDisplacement, AnisotropyTable, AnisotropyTableBuilder, BondAdjacency, BondOrder,
BondProvenance, BondRecord, BondTable, BondTableBuilder,
};
pub use molframe_core::{Backpressure, BatchDemand, BatchLease, BatchSource, Presence};
pub use molframe_core::{SecondaryAssignment, SecondarySource, SecondaryStructure};
pub use molframe_engine::{
CompiledWorkflow, Cost, Explanation, Input, Node, OperationMetadata, Output, PhysicalNode,
Workflow, WorkflowBuildError, WorkflowError, WorkflowInputs, WorkflowResults,
};
#[cfg(feature = "adapters")]
pub use molframe_adapters as adapters;
#[cfg(feature = "audit")]
pub use molframe_audit as audit;
#[cfg(feature = "motif")]
pub use molframe_fx as motif;
#[cfg(feature = "interop")]
pub use molframe_interop as interop;
#[cfg(feature = "chemistry")]
pub use molframe_chem as chemistry;
pub mod formats;
#[cfg(feature = "geometry")]
pub use molframe_geom as geometry;
#[cfg(feature = "ic")]
pub use molframe_ic as ic;
#[cfg(feature = "spatial")]
pub use molframe_spatial as spatial;
#[cfg(feature = "query")]
pub use molframe_query as query;
#[cfg(feature = "query")]
pub use molframe_query::{
CompletionItem, CompletionKind, CompletionResult, Query, QueryAliases, QueryFingerprint,
StructureValues, complete,
};
#[cfg(feature = "crystal")]
pub use molframe_xtal as crystal;
#[cfg(feature = "analysis")]
pub use molframe_analysis as analysis;
#[cfg(feature = "compare")]
pub use molframe_compare as compare;
#[cfg(feature = "sequence")]
pub use molframe_seq as sequence;
#[cfg(feature = "surface")]
pub use molframe_surface as surface;
#[cfg(feature = "trajectory")]
pub use molframe_traj as trajectory;
#[cfg(feature = "trajectory")]
pub use molframe_traj::Trajectory;
#[cfg(feature = "validation")]
pub use molframe_validate as validation;
pub mod engine {
pub mod core;
}
mod document;
mod extensions;
mod facade;
mod policy_config;
pub mod prelude;
mod structure;
#[cfg(feature = "validation")]
mod validation_inputs;
pub use facade::{
WriteOptions, read, read_buffer, read_buffer_in, read_bytes, read_bytes_in,
read_with_diagnostics, read_with_options, read_with_options_in, write, write_as,
write_with_options,
};
#[cfg(all(feature = "chemistry", feature = "spatial"))]
pub use facade::{perceive, perceive_in};
#[cfg(any(
feature = "mmcif",
feature = "pdb",
feature = "bcif",
feature = "modelcif"
))]
pub use facade::{StructureBatchReader, open_structure_batches};
pub use policy_config::{
ApplicationConfiguration, ChemistryConfiguration, OutputConfiguration, PolicyConfigError,
PolicyOverrides, read_configuration, read_policy,
};
pub use structure::{
Atoms, AtomsIter, Chains, ChainsIter, Models, ModelsIter, Residues, ResiduesIter, Selection,
Structure, StructureEditor, structure_difference,
};
#[cfg(feature = "analysis")]
pub use extensions::AnalysisExt;
#[cfg(feature = "compare")]
pub use extensions::CompareExt;
#[cfg(feature = "validation")]
pub use extensions::ValidationExt;
#[cfg(feature = "validation")]
pub use validation_inputs::{
ValidationInputError, read_plane_restraints, read_reference_library, read_rotamer_profile,
read_tls_groups,
};
#[cfg(feature = "geometry")]
pub use facade::transform;
#[cfg(feature = "mmcif")]
pub use facade::{read_document, write_mmcif, write_mmcif_with_options};
#[cfg(feature = "bcif")]
pub use facade::{write_bcif, write_bcif_with_options};
#[cfg(feature = "pdb")]
pub use facade::write_pdb;
#[cfg(all(feature = "geometry", feature = "chemistry"))]
pub use structure::{
BackboneTorsionRecord, ProteinAlphaTrace, SideChainTorsionRecord, SideChainTorsionReport,
structure_backbone_torsions, structure_backbone_torsions_model, structure_protein_alpha_traces,
structure_side_chain_torsions,
};
#[cfg(feature = "chemistry")]
pub use facade::read_component_dictionary;
#[cfg(feature = "query")]
pub use structure::QueryStructure;
#[cfg(all(feature = "chemistry", feature = "spatial"))]
pub use structure::{
BondInference, BondInferenceReport, DEFAULT_BOND_RADIUS_SCALE, DEFAULT_MINIMUM_BOND_DISTANCE,
infer_bonds,
};