Hi all, I have a script that extracts Fobs and Fcalc from an MTZ file produced by Refmac for some analysis. I was just doing this in a trivial way: fobs = m.extract_reals("F").data fc = m.extract_reals("FC_ALL").data and this worked fine, until I came across a file with missing observations, so that the lengths of fobs and fc do not match. Can anybody advise a better way to do this please? I'm inexperienced with iotbx.mtz. I don't need anything other than the values of the structure factors, but I need each element of fobs and fc to contain the equivalent values. Thanks -- David
HI David dials/command_line/rfactor.py contains some useful hints - you want to work with miller arrays and common sets All the best Graeme
On 14 Aug 2018, at 11:37, David Waterman
wrote: Hi all,
I have a script that extracts Fobs and Fcalc from an MTZ file produced by Refmac for some analysis. I was just doing this in a trivial way:
fobs = m.extract_reals("F").data fc = m.extract_reals("FC_ALL").data
and this worked fine, until I came across a file with missing observations, so that the lengths of fobs and fc do not match.
Can anybody advise a better way to do this please? I'm inexperienced with iotbx.mtz. I don't need anything other than the values of the structure factors, but I need each element of fobs and fc to contain the equivalent values.
Thanks
-- David _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
Thanks! common_sets is what I wanted of course. Then fc.amplitudes().data() is comparable to fobs.data() Cheers -- David On Tue, 14 Aug 2018 at 11:54, [email protected] < [email protected]> wrote:
HI David
dials/command_line/rfactor.py contains some useful hints - you want to work with miller arrays and common sets
All the best Graeme
On 14 Aug 2018, at 11:37, David Waterman
wrote: Hi all,
I have a script that extracts Fobs and Fcalc from an MTZ file produced by Refmac for some analysis. I was just doing this in a trivial way:
fobs = m.extract_reals("F").data fc = m.extract_reals("FC_ALL").data
and this worked fine, until I came across a file with missing observations, so that the lengths of fobs and fc do not match.
Can anybody advise a better way to do this please? I'm inexperienced with iotbx.mtz. I don't need anything other than the values of the structure factors, but I need each element of fobs and fc to contain the equivalent values.
Thanks
-- David _______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail. Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd. Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message. Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi David,
I would do something like this:
$ cat tst.py
def run(mtz):
from iotbx.reflection_file_reader import any_reflection_file
miller_arrays = any_reflection_file(mtz).as_miller_arrays()
for ma in miller_arrays: print ma.info().labels
fobs = [ma for ma in miller_arrays if ma.info().labels == ['F', 'SIGF']]
fc = [ma for ma in miller_arrays if ma.info().labels == ['FC_ALL', 'PHIC_ALL']]
assert len(fobs) == 1, len(fobs)
assert len(fc) == 1, len(fc)
fobs = fobs[0]
fc = fc[0]
fobs.show_summary()
fc.show_summary()
if __name__ == '__main__':
import sys
run(sys.argv[1])
$ dials.python tst.py dimple/final.mtz
['FreeR_flag']
['F', 'SIGF']
['FC', 'PHIC']
['FC_ALL', 'PHIC_ALL']
['FWT', 'PHWT']
['DELFWT', 'PHDELWT']
['FOM']
['FC_ALL_LS', 'PHIC_ALL_LS']
Miller array info: dimple/final.mtz:F,SIGF
Observation type: xray.amplitude
Type of data: double, size=14217
Type of sigmas: double, size=14217
Number of Miller indices: 14217
Anomalous flag: False
Unit cell: (68.2317, 68.2317, 108.095, 90, 90, 90)
Space group: P 43 21 2 (No. 96)
Miller array info: dimple/final.mtz:FC_ALL,PHIC_ALL
Observation type: None
Type of data: complex_double, size=14551
Type of sigmas: None
Number of Miller indices: 14551
Anomalous flag: False
Unit cell: (68.2317, 68.2317, 108.095, 90, 90, 90)
Space group: P 43 21 2 (No. 96)
Cheers,
Richard
Dr Richard Gildea
Data Analysis Scientist
Tel: +441235 77 8078
Diamond Light Source Ltd.
Diamond House
Harwell Science & Innovation Campus
Didcot
Oxfordshire
OX11 0DE
________________________________
From: [email protected]
participants (3)
-
David Waterman
-
Graeme.Winter@Diamond.ac.uk
-
richard.gildea@diamond.ac.uk