diff --git a/src/mol-io/writer/_spec/cif.spec.ts b/src/mol-io/writer/_spec/cif.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..efd8eac6e22c9f9728a4c31dcd3bc54e64dc32fe --- /dev/null +++ b/src/mol-io/writer/_spec/cif.spec.ts @@ -0,0 +1,27 @@ +import { CifWriter } from '../cif'; + +const cif = await downloadFromPdb('1brr') +const encoder = CifWriter.createEncoder({ + binary: true, + encoderName: 'mol*', + binaryAutoClassifyEncoding: true, + binaryEncodingPovider: CifWriter.createEncodingProviderFromJsonConfig([ + { + 'categoryName': 'atom_site', + 'columnName': 'Cartn_y', + 'encoding': 'rle', + 'precision': 0 + }, + { + 'categoryName': 'atom_site', + 'columnName': 'Cartn_z', + 'encoding': 'delta', + 'precision': 1 + }, + { + 'categoryName': 'atom_site', + 'columnName': 'label_seq_id', + 'encoding': 'delta-rle' + } + ]) +}); \ No newline at end of file diff --git a/src/mol-io/writer/cif.ts b/src/mol-io/writer/cif.ts index 762f1988f1868b0c4d1e58f48b86ad06c6f5fd47..3fd87a346b9ba50b9e0f1b768705ef490c07bff6 100644 --- a/src/mol-io/writer/cif.ts +++ b/src/mol-io/writer/cif.ts @@ -103,8 +103,9 @@ export namespace CifWriter { export interface EncodingStrategyHint { categoryName: string, columnName: string, - // 'pack', 'rle', 'delta', or 'delta-rle' - encoding: string, + encoding: EncodingType, // number of decimal places to keep - must be specified to float columns precision?: number -} \ No newline at end of file +} + +type EncodingType = 'pack' | 'rle' | 'delta' | 'delta-rle' \ No newline at end of file