10#ifndef GEMMI_MTZ2CIF_HPP_
11#define GEMMI_MTZ2CIF_HPP_
26 const char* block_name =
nullptr;
27 std::string entry_id =
"xxxx";
28 bool with_comments =
true;
29 bool with_history =
true;
30 bool skip_empty =
false;
31 bool skip_negative_sigi =
false;
32 bool enable_UB =
false;
33 bool write_staraniso_tensor =
true;
34 bool write_special_marker_for_pdb =
false;
35 int less_anomalous = 0;
37 double wavelength =
NAN;
39 int free_flag_value = -1;
44 static const char* merged[] = {
48 "? FREE|RFREE|FREER|FreeR_flag|R-free-flags|FreeRflag I status S",
49 "? IMEAN|I|IOBS|I-obs J intensity_meas",
50 "& SIG{prev} Q intensity_sigma",
51 "? I(+)|IOBS(+)|I-obs(+)|Iplus K pdbx_I_plus",
52 "& SIG{prev} M pdbx_I_plus_sigma",
53 "? I(-)|IOBS(-)|I-obs(-)|Iminus K pdbx_I_minus",
54 "& SIG{prev} M pdbx_I_minus_sigma",
56 "? F|FP|FOBS|F-obs F F_meas_au",
57 "& SIG{prev} Q F_meas_sigma_au",
58 "? F(+)|FOBS(+)|F-obs(+)|Fplus G pdbx_F_plus",
59 "& SIG{prev} L pdbx_F_plus_sigma",
60 "? F(-)|FOBS(-)|F-obs(-)|Fminus G pdbx_F_minus",
61 "& SIG{prev} L pdbx_F_minus_sigma",
62 "? DP D pdbx_anom_difference",
63 "& SIGDP Q pdbx_anom_difference_sigma",
65 "? PHIC P phase_calc",
67 "? HLA A pdbx_HL_A_iso",
68 "& HLB A pdbx_HL_B_iso",
69 "& HLC A pdbx_HL_C_iso",
70 "& HLD A pdbx_HL_D_iso",
71 "? FWT|2FOFCWT F pdbx_FWT",
72 "& PHWT|PH2FOFCWT P pdbx_PHWT .3f",
73 "? DELFWT|FOFCWT F pdbx_DELFWT",
74 "& DELPHWT|PHDELWT|PHFOFCWT P pdbx_DELPHWT .3f",
83 "? I J intensity_net",
84 "& SIGI Q intensity_sigma .5g",
86 "? ROT R pdbx_scan_angle",
87 "$image pdbx_image_id",
99 const std::string& entry_id,
100 char* buf, std::ostream& os);
static const char ** default_spec(bool for_merged)
std::string gemmi_run_from
std::string staraniso_version
void write_cif(const Mtz &mtz, const Mtz *mtz2, SMat33< double > *staraniso_b, std::ostream &os)
std::vector< std::string > spec_lines
void write_cif_from_xds(const XdsAscii &xds, std::ostream &os) const
std::string skip_empty_cols
Class Intensities that reads multi-record data from MTZ, mmCIF or XDS_ASCII and merges it into mean o...
Logger - a tiny utility for passing messages through a callback.
MTZ reflection file format.
GEMMI_DLL void remove_appendix_from_column_names(Mtz &mtz, const Logger &logger)
remove '_dataset_name' that can be appended to column names in ccp4i
GEMMI_DLL std::vector< SoftwareItem > get_software_from_mtz_history(const std::vector< std::string > &history)
GEMMI_DLL void write_staraniso_b_in_mmcif(const SMat33< double > &b, const std::string &entry_id, char *buf, std::ostream &os)
GEMMI_DLL bool validate_merged_intensities(Intensities &mi, Intensities &ui, bool relaxed_check, const Logger &logger)
GEMMI_DLL bool validate_merged_mtz_deposition_columns(const Mtz &mtz, const Logger &logger)
Passes messages (including warnings/errors) to a callback function.
Read XDS files: XDS_ASCII. HKL and INTEGRATE. HKL.