httk.io¶
Submodules¶
Functions¶
|
Generic cif reader, given a filename / ioadapter it places all data in a python dictionary. |
|
Parse a VASP POSCAR/CONTCAR into a neutral, string-preserving mapping. |
Package Contents¶
- httk.io.read_cif(fs, pragmatic=True, allow_cif2=False, use_types=False)[source]¶
Generic cif reader, given a filename / ioadapter it places all data in a python dictionary.
It returns a tuple: (header, list) Where list are pairs of data blocks names and data blocks
Each data block is a dictionary with tag_name:value
For loops, value is another dictionary with format column_name:value
The optional parameter pragmatic regulates handling of some counter-intuitive aspects of the cif specification, where the default pragmatic=True handles these features the way people usually use them, whereas pragmatic=False means to read the cif file precisely according to the spec. For example, in a multiline text field:
; some text ;
Means the string ‘nsome text’. For this specific case pragmatic=True removes the leading newline.
set use_types to True to convert things that look like floats and integers to those respective types
A filename (
stroros.PathLike) is opened throughhttk.core.TextstreamFileView, so a compressed file (.cif.bz2,.cif.gz, …) is decompressed transparently. An already-open text stream or a plain iterable of lines is consumed as-is and left open for the caller.
- httk.io.read_poscar(source: Any) dict[str, Any][source]¶
Parse a VASP POSCAR/CONTCAR into a neutral, string-preserving mapping.
sourcemay be a filename (stroros.PathLike, opened throughhttk.core.TextstreamFileViewso compressed files such asCONTCAR.bz2are decompressed transparently) or an already-open text stream / iterable of lines.The returned mapping has the keys
format(always"vasp-poscar"),comment,scaleandvolume(exactly one is a string, the otherNone),cell(a 3x3 list of coordinate strings),symbols(list[str]for VASP-5,Nonefor VASP-4),counts(list[int]),cartesian(bool),coords(anN``x3 list of strings), and ``selective_dynamics(anN``x3 list of booleans when the file declares selective dynamics, else ``None). Malformed input raises a clearValueErrornaming the offending line.