MTZ-files generated by phenix (at least some of them) are missing the base dataset (HKL_base) which is a requirement since CCP4 5.0. Is this deliberate? Ed. -- "I'd jump in myself, if I weren't so good at whistling." Julian, King of Lemurs
Hi Ed,
MTZ-files generated by phenix (at least some of them) are missing the base dataset (HKL_base) which is a requirement since CCP4 5.0. Is this deliberate?
Could you be more specific? The iotbx.mtz library I wrote should create the HKL_base pseudo-dataset. But we also generate mtz files from solve, resolve, and phaser, which use the raw cmtzlib directly. If you know which phenix application didn't write the HKL_base it will save us some time reviewing the various mtz writers. Also, I'm curious to know where you run into difficulties with the old-style mtz files. Ralf
So far I've only checked the phenix.refine output files (both mtz with map coefficients and calculated amplitudes). I ran into this with some of my own code automatically assuming the 5.0 compliance and using the HKL_base dataset to get the unit cell parameters. HTH, Ed. On Mon, 2010-08-16 at 16:15 -0700, Ralf W. Grosse-Kunstleve wrote:
Hi Ed,
MTZ-files generated by phenix (at least some of them) are missing the base dataset (HKL_base) which is a requirement since CCP4 5.0. Is this deliberate?
Could you be more specific? The iotbx.mtz library I wrote should create the HKL_base pseudo-dataset. But we also generate mtz files from solve, resolve, and phaser, which use the raw cmtzlib directly. If you know which phenix application didn't write the HKL_base it will save us some time reviewing the various mtz writers. Also, I'm curious to know where you run into difficulties with the old-style mtz files.
Ralf _______________________________________________ phenixbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/phenixbb
Hi Ed,
So far I've only checked the phenix.refine output files (both mtz with map coefficients and calculated amplitudes).
phenix.refine uses the iotbx.mtz module I mentioned before. It definitely writes the HKL_base information. You can use phenix.mtz.dump to check. See below for an example. Let me know if you think it isn't right, but it has been this way for over five years. Ralf % phenix.mtz.dump tmp_refine_001_map_coeffs.mtz Processing: tmp_refine_001_map_coeffs.mtz Title: None Space group symbol from file: P21 Space group number from file: 4 Space group from matrices: P 1 21 1 (No. 4) Point group symbol from file: 2 Number of crystals: 2 Number of Miller indices: 553 Resolution range: 22.4416 1.80066 History: Date 2010-08-16 Time 18:29:14 PDT -0700 (1282008554.15 s)
file name: tmp_refine_001_map_coeffs.mtz Crystal 1: Name: HKL_base Project: HKL_base Id: 0 Unit cell: (21.937, 4.866, 23.477, 90, 107.08, 90) Number of datasets: 1 Dataset 1: Name: HKL_base Id: 0 Wavelength: 0 Number of columns: 0 Crystal 2: Name: crystal Project: project Id: 2 Unit cell: (21.937, 4.866, 23.477, 90, 107.08, 90) Number of datasets: 1 Dataset 1: Name: dataset Id: 1 Wavelength: 1 Number of columns: 9 label #valid %valid min max type H 553 100.00% -12.00 11.00 H: index h,k,l K 553 100.00% 0.00 2.00 H: index h,k,l L 553 100.00% 0.00 13.00 H: index h,k,l 2FOFCWT 553 100.00% 0.01 97.89 F: amplitude PH2FOFCWT 553 100.00% -179.41 180.00 P: phase angle in degrees 2FOFCWT_no_fill 494 89.33% 0.05 76.28 F: amplitude PH2FOFCWT_no_fill 494 89.33% -178.65 180.00 P: phase angle in degrees FOFCWT 494 89.33% 0.04 37.99 F: amplitude PHFOFCWT 494 89.33% -177.51 180.00 P: phase angle in degrees
On Mon, Aug 16, 2010 at 6:35 PM, Ralf W. Grosse-Kunstleve
Crystal 1: Name: HKL_base Project: HKL_base Id: 0 Unit cell: (21.937, 4.866, 23.477, 90, 107.08, 90) Number of datasets: 1 Dataset 1: Name: HKL_base Id: 0 Wavelength: 0 Number of columns: 0
Could the problem be that the H,K,L columns aren't part of this "crystal", but are grouped with the others in "Crystal 2" instead? -Nat
Curious. Both phenix.mtz.dump and ccp4 mtzdmp indicate that HKL_base is present, yet when you actually look at the headers it's missing. The mtzlib description says that HKL_base will be inserted automatically if missing, perhaps this is what happens when mtz file is dumped? On Mon, 2010-08-16 at 18:35 -0700, Ralf W. Grosse-Kunstleve wrote:
Hi Ed,
So far I've only checked the phenix.refine output files (both mtz with map coefficients and calculated amplitudes).
phenix.refine uses the iotbx.mtz module I mentioned before. It definitely writes the HKL_base information. You can use phenix.mtz.dump to check. See below for an example. Let me know if you think it isn't right, but it has been this way for over five years.
Ralf
% phenix.mtz.dump tmp_refine_001_map_coeffs.mtz
Processing: tmp_refine_001_map_coeffs.mtz Title: None Space group symbol from file: P21 Space group number from file: 4 Space group from matrices: P 1 21 1 (No. 4) Point group symbol from file: 2 Number of crystals: 2 Number of Miller indices: 553 Resolution range: 22.4416 1.80066 History: Date 2010-08-16 Time 18:29:14 PDT -0700 (1282008554.15 s)
file name: tmp_refine_001_map_coeffs.mtz Crystal 1: Name: HKL_base Project: HKL_base Id: 0 Unit cell: (21.937, 4.866, 23.477, 90, 107.08, 90) Number of datasets: 1 Dataset 1: Name: HKL_base Id: 0 Wavelength: 0 Number of columns: 0 Crystal 2: Name: crystal Project: project Id: 2 Unit cell: (21.937, 4.866, 23.477, 90, 107.08, 90) Number of datasets: 1 Dataset 1: Name: dataset Id: 1 Wavelength: 1 Number of columns: 9 label #valid %valid min max type H 553 100.00% -12.00 11.00 H: index h,k,l K 553 100.00% 0.00 2.00 H: index h,k,l L 553 100.00% 0.00 13.00 H: index h,k,l 2FOFCWT 553 100.00% 0.01 97.89 F: amplitude PH2FOFCWT 553 100.00% -179.41 180.00 P: phase angle in degrees 2FOFCWT_no_fill 494 89.33% 0.05 76.28 F: amplitude PH2FOFCWT_no_fill 494 89.33% -178.65 180.00 P: phase angle in degrees FOFCWT 494 89.33% 0.04 37.99 F: amplitude PHFOFCWT 494 89.33% -177.51 180.00 P: phase angle in degrees
Hi Ed,
Curious. Both phenix.mtz.dump and ccp4 mtzdmp indicate that HKL_base is present, yet when you actually look at the headers it's missing. The mtzlib description says that HKL_base will be inserted automatically if missing, perhaps this is what happens when mtz file is dumped?
Honestly, I never really understood how the HKL_base mechnism is supposed to work. Practically: to my knowledge, you are the first ever to report trouble reading phenix.refine mtz files. How exactly are you reading them? Maybe a small adjustment could make your reader work? We are reading everything through the ccp4 cmtz library, just through C++ wrappers that hide the technicalities of the C interfaces. Therefore I think any other program using the cmtz library should also be able to read our files. The mtz code used by phenix.refine is in this directory: http://cci.lbl.gov/cctbx_sources/iotbx/mtz/ The main files are object.h, object.cpp, and __init__.py which contains a .set_hkl_base() method. I guess I could try to assign the H,K,L columns to crystal 1 as Nat suggested, but nobody knows what problems such a change would trigger, and it will probably take a decade anyway before the current implementation is flushed out of the system. I think modifying your reader to work with our files is the best solution and should be very easy. Ralf
participants (3)
-
Ed Pozharski
-
Nathaniel Echols
-
Ralf W. Grosse-Kunstleve