Skip to main content

write_pdb_structure

Function write_pdb_structure 

Source
pub fn write_pdb_structure<W: Write>(
    writer: W,
    structure: &Structure,
) -> Result<(), Error>
Expand description

Writes a Structure to PDB format, including optional CRYST1 and TER records.

The function traverses chains in their stored order, emits ATOM records for polymeric residues, HETATM records for everything else, and appends a final END line so the file is ready for legacy toolchains.

§Arguments

  • writer - Destination implementing Write, such as a file or in-memory buffer.
  • structure - Source structure whose chains and atoms are serialized.

§Returns

Ok if writing succeeded; Error if IO failures occur.

§Examples

use bio_forge::io::{write_pdb_structure, IoContext, read_pdb_structure};
use std::io::Cursor;

// Parse a minimal PDB and immediately write it back out.
let pdb = "\
ATOM      1  N   GLY A   1       0.000   0.000   0.000  1.00 20.00           N\n\
END\n";
let context = IoContext::new_default();
let mut cursor = Cursor::new(pdb.as_bytes());
let structure = read_pdb_structure(&mut cursor, &context).unwrap();
let mut out = Vec::new();
write_pdb_structure(&mut out, &structure).unwrap();
assert!(String::from_utf8(out).unwrap().contains("END"));