This documentation page refers to a previous release of DIALS (1.14).
Click here to go to the corresponding page for the latest version of DIALS

dials.export

Introduction

This program is used to export the results of dials processing in various formats.

The output formats currently supported are:

MTZ format exports the files as an unmerged mtz file, ready for input to downstream programs such as Pointless and Aimless. For exporting integrated, but unscaled data, the required input is an experiments.json file and an integrated.pickle file. For exporting scaled data, the required input is an experiments.json file and a scaled.pickle file, also passing the option intensity=scale.

NXS format exports the files as an NXmx file. The required input is an experiments.json file and an integrated.pickle file.

MMCIF format exports the files as an mmcif file. The required input is an experiments.json file and an integrated.pickle file.

XDS_ASCII format exports intensity data and the experiment metadata in the same format as used by the output of XDS in the CORRECT step - output can be scaled with XSCALE.

SADABS format exports intensity data (and geometry by direction cosines) as an ersatz-SADABS format reverse engineered from the file format used by EvalCCD for input to SADABS.

MOSFLM format exports the files as an index.mat mosflm-format matrix file and a mosflm.in file containing basic instructions for input to mosflm. The required input is an experiments.json file.

XDS format exports an experiments.json file as XDS.INP and XPARM.XDS files. If a reflection pickle is given it will be exported as a SPOT.XDS file.

Examples:

# Export to mtz
dials.export experiments.json integrated.pickle
dials.export experiments.json integrated.pickle mtz.hklout=integrated.mtz
dials.export experiments.json scaled.pickle intensity=scale mtz.hklout=scaled.mtz

# Export to nexus
dials.export experiments.json integrated.pickle format=nxs
dials.export experiments.json integrated.pickle format=nxs nxs.hklout=integrated.nxs

# Export to mmcif
dials.export experiments.json integrated.pickle format=mmcif
dials.export experiments.json integrated.pickle format=mmcif mmcif.hklout=integrated.mmcif

# Export to mosflm
dials.export experiments.json integrated.pickle format=mosflm

# Export to xds
dials.export strong.pickle format=xds
dials.export indexed.pickle format=xds
dials.export experiments.json format=xds
dials.export experiments.json indexed.pickle format=xds

Basic parameters

format = *mtz sadabs nxs mmcif mosflm xds best xds_ascii json
intensity = *profile *sum scale
debug = False
mtz {
  combine_partials = True
  partiality_threshold = 0.99
  ignore_panels = False
  min_isigi = -5
  force_static_model = False
  filter_ice_rings = False
  d_min = None
  hklout = integrated.mtz
  crystal_name = XTAL
}
sadabs {
  hklout = integrated.sad
  run = 1
  predict = False
}
xds_ascii {
  hklout = DIALS.HKL
}
nxs {
  hklout = integrated.nxs
}
mmcif {
  hklout = integrated.cif
}
mosflm {
  directory = mosflm
}
xds {
  directory = xds
}
best {
  prefix = best
  n_bins = 100
  min_partiality = 0.1
}
json {
  filename = rlp.json
  compact = True
  n_digits = 6
}
output {
  log = dials.export.log
  debug_log = dials.export.debug.log
}

Full parameter definitions

format = *mtz sadabs nxs mmcif mosflm xds best xds_ascii json
  .help = "The output file format"
  .type = choice
intensity = *profile *sum scale
  .help = "Choice of which intensities to export. Allowed combinations:
      "
          "     scale, profile, sum, profile+sum, sum+profile+scale."
  .type = choice(multi=True)
debug = False
  .help = "Output additional debugging information"
  .type = bool
mtz {
  combine_partials = True
    .help = "Combine partials that have the same partial id into one
       "
            "reflection, with an updated partiality given by the sum of the
  "
            "     individual partialities."
    .type = bool
  partiality_threshold = 0.99
    .help = "All reflections with partiality values above the partiality
     "
            "  threshold will be retained. This is done after any combination"
            "of
        partials if applicable."
    .type = float(allow_none=True)
  ignore_panels = False
    .help = "Ignore multiple panels / detectors in output (deprecated)"
    .type = bool
  min_isigi = -5
    .help = "Exclude reflections with unfeasible values of I/Sig(I)"
    .type = float(allow_none=True)
  force_static_model = False
    .help = "Force program to use static model even if scan varying is present"
    .type = bool
  filter_ice_rings = False
    .help = "Filter reflections at ice ring resolutions"
    .type = bool
  d_min = None
    .help = "Filter out reflections with d-spacing below d_min"
    .type = float(allow_none=True)
  hklout = integrated.mtz
    .help = "The output MTZ file"
    .type = path
  crystal_name = XTAL
    .help = "The name of the crystal, for the mtz file metadata"
    .type = str
}
sadabs {
  hklout = integrated.sad
    .help = "The output raw sadabs file"
    .type = path
  run = 1
    .help = "Batch number / run number for output file"
    .type = int(allow_none=True)
  predict = False
    .help = "Compute centroids with static model, not observations"
    .type = bool
}
xds_ascii {
  hklout = DIALS.HKL
    .help = "The output raw hkl file"
    .type = path
}
nxs {
  hklout = integrated.nxs
    .help = "The output Nexus file"
    .type = path
}
mmcif {
  hklout = integrated.cif
    .help = "The output CIF file"
    .type = path
}
mosflm {
  directory = mosflm
    .help = "The output directory for mosflm output"
    .type = path
}
xds {
  directory = xds
    .help = "The output directory for xds output"
    .type = path
}
best {
  prefix = best
    .help = "The prefix for the output file names for best (.hkl, .dat and"
            ".par files)"
    .type = str
  n_bins = 100
    .help = "Number of resolution bins for background estimation"
    .type = int(value_min=1, allow_none=True)
  min_partiality = 0.1
    .help = "Minimum partiality of reflections to export"
    .type = float(value_min=0, value_max=1, allow_none=True)
}
json {
  filename = rlp.json
    .type = path
  compact = True
    .type = bool
  n_digits = 6
    .help = "Number of decimal places to be used for representing the"
            "reciprocal lattice points."
    .type = int(value_min=1, allow_none=True)
}
output {
  log = dials.export.log
    .help = "The log filename"
    .type = path
  debug_log = dials.export.debug.log
    .help = "The debug log filename"
    .type = path
}