Function chemfiles::guess_format
source · pub fn guess_format<P>(path: P) -> Result<String, Error>where
P: AsRef<Path>,
Expand description
Get the format that chemfiles would use to read a file at the given
path
.
The format is mostly guessed from the path extension, chemfiles only tries
to read the file to distinguish between CIF and mmCIF files. Opening the
file using the returned format string might still fail. For example, it will
fail if the file is not actually formatted according to the guessed format;
or the format/compression combination is not supported (e.g. XTC / GZ
will
not work since the XTC reader does not support compressed files).
The returned format is represented in a way compatible with the various
Trajectory
constructors, i.e. "<format name> [/ <compression>]"
, where
compression is optional.
Errors
This function returns an error if the file format couldn’t be guessed.
Panics
This function panics if the path can’t be converted to a Unicode string.
Examples
let format = chemfiles::guess_format("trajectory.xyz.xz").unwrap();
assert_eq!(format, "XYZ / XZ");
let format = chemfiles::guess_format("trajectory.nc").unwrap();
assert_eq!(format, "Amber NetCDF");
let format = chemfiles::guess_format("trajectory.unknown.format");
assert!(format.is_err());