1pub mod adapters;
17pub mod cif;
18pub mod ffi;
19pub mod ops;
20pub mod render;
21pub mod secondary_structure;
22pub mod types;
23
24#[cfg(feature = "python")]
25pub mod python;
26
27#[cfg(feature = "python")]
31use pyo3::prelude::*;
32pub use secondary_structure::SSType;
33pub use types::coords::{Coords, CoordsAtom, CoordsError, Element};
34pub use types::entity::{
35 EntityKind, MoleculeEntity, MoleculeType, NucleotideRing,
36};
37
38#[cfg(feature = "python")]
39#[pymodule(name = "molex")]
40fn molex(_py: Python, m: &Bound<PyModule>) -> PyResult<()> {
41 m.add_function(wrap_pyfunction!(python::pdb_to_coords, m)?)?;
43 m.add_function(wrap_pyfunction!(python::mmcif_to_coords, m)?)?;
44 m.add_function(wrap_pyfunction!(python::coords_to_pdb, m)?)?;
45 m.add_function(wrap_pyfunction!(python::deserialize_coords_py, m)?)?;
46 m.add_function(wrap_pyfunction!(
49 adapters::atomworks::entities_to_atom_array,
50 m
51 )?)?;
52 m.add_function(wrap_pyfunction!(
53 adapters::atomworks::entities_to_atom_array_plus,
54 m
55 )?)?;
56 m.add_function(wrap_pyfunction!(
57 adapters::atomworks::atom_array_to_entities,
58 m
59 )?)?;
60 m.add_function(wrap_pyfunction!(
61 adapters::atomworks::coords_to_atom_array,
62 m
63 )?)?;
64 m.add_function(wrap_pyfunction!(
65 adapters::atomworks::coords_to_atom_array_plus,
66 m
67 )?)?;
68 m.add_function(wrap_pyfunction!(
69 adapters::atomworks::atom_array_to_coords,
70 m
71 )?)?;
72 m.add_function(wrap_pyfunction!(
73 adapters::atomworks::entities_to_atom_array_parsed,
74 m
75 )?)?;
76 m.add_function(wrap_pyfunction!(
77 adapters::atomworks::parse_file_to_entities,
78 m
79 )?)?;
80 m.add_function(wrap_pyfunction!(adapters::atomworks::parse_file_full, m)?)?;
81
82 Ok(())
83}