use molframe_core::diagnostic::Findings;
use crate::structure::Structure;
pub fn write_pdb(
structure: &Structure,
options: &molframe_pdb::PdbOptions,
) -> Result<String, Findings> {
molframe_pdb::write(
structure.engine(),
&super::complete_pdb_options(structure.engine(), options),
)
.map_err(Findings::from)
}
pub fn write_pdb_with_findings(
structure: &Structure,
options: &molframe_pdb::PdbOptions,
) -> Result<(String, Findings), Findings> {
let completed = super::complete_pdb_options(structure.engine(), options);
let text = molframe_pdb::write(structure.engine(), &completed).map_err(Findings::from)?;
let mut losses = molframe_pdb::projection_loss(structure.engine(), &completed);
losses.extend(super::loss::uncarried_extensions(
structure.engine(),
&super::loss::pdb_carried(structure.engine()),
"PDB",
));
Ok((text, Findings::from(losses)))
}