INNER CODE UNIT · Rust
lex_cif
steineggerlab/folddisco · lib/pdbtbx-cif/src/lib.rs:7
pub fn lex_cif(text: &str) -> Result<DataBlock, PDBError> {
parse_main(&mut Position {
text,
line: 1,
column: 1,
})
}
/// Parse a CIF file
fn parse_main(input: &mut Position<'_>) -> Result<DataBlock, PDBError> {
trim_comments_and_whitespace(input);
parse_data_block(input)
}
/// Parse a data block, the main item of a CIF file
fn parse_data_block(input: &mut Position<'_>) -> Result<DataBlock, PDBError> {
if start_with(input, "data_").is_none() {
return Err(PDBError::new(