httk.io.cif.cif_writer

Functions

is_sequence(val)

write_cif(ioa, data[, header, max_line_length, use_types])

Generic cif writer, given a filename / ioadapter

Module Contents

httk.io.cif.cif_writer.is_sequence(val)[source]
httk.io.cif.cif_writer.write_cif(ioa, data, header=None, max_line_length=80, use_types=False)[source]

Generic cif writer, given a filename / ioadapter

data = the cif data to write as an (ordered) dictionary of tag_name:value

header = the header (comment) segment

max_line_length = the maximum number of characters allowed on each line. This should not be set < 80 (there is no point, and the length calculating algorithm breaks down at some small line length)

use_types =

if True: always quote values that are of string type. Numeric values are put in the file unquoted (as they should) if False (default): also strings that look like cif numbers are put in the file unquoted

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