Dear CCTBX-list I am trying to reproduce the (scaled) intensities for Si reported here: http://rruff.geo.arizona.edu/AMS/xtal_data/DIFfiles/15285.txt based on this information: http://rruff.geo.arizona.edu/AMS/CIF_text_files/15285_cif.txt I am using CCTBX in Python: from cctbx.array_family import flex from cctbx import sgtbx, crystal, miller, xray sgnum = 227 sg = sgtbx.space_group_info(sgnum).group() latticepar = [5.43070, 5.43070, 5.43070, 90, 90, 90] dmin = 1.0 atompos = [['Si',(0.0, 0.0, 0.0)]] scatterers = flex.xray_scatterer() scatterers.append(xray.scatterer(label=atompos[0][0], site=atompos[0][1])) pg = sg.build_derived_point_group() sym = crystal.symmetry(space_group=sg,unit_cell=latticepar) sps = crystal.special_position_settings(crystal_symmetry=sym) structure = xray.structure(special_position_settings=sps,scatterers=scatterers) F = structure.structure_factors(d_min=dmin,algorithm='direct').f_calc() list(F.amplitudes()) This gives: [((0, 2, 2), 0.0), ((0, 4, 0), 120.21765812638594), ((1, 1, 1), 84.18849550806966), ((1, 3, 1), 65.48371727205928), ((1, 3, 3), 57.45438308324155), ((1, 5, 1), 51.48759686950681), ((2, 2, 2), 128.54540698861973), ((2, 4, 2), 0.0), ((3, 3, 3), 51.48759686950681)] How come CCTBX give an amplitude of 0.0 for (0,2,2) and (2,4,2)? The measured intensities in the DIFfile above does not show this. Am I missing something? Cheers, /Allan
Hi Allan, I'm not entirely sure why the difference between observed (experimentally measured) and calculated (using your script below) amplitudes of structure factors surprises you.. Also: - your script computes structure factors and prints out amplitudes (not intensities); - you do not set the B-factor. By default scatterer object is constructed with u_iso=0. Pavel On 8/24/15 15:01, Allan Lyckegaard wrote:
Dear CCTBX-list
I am trying to reproduce the (scaled) intensities for Si reported here: http://rruff.geo.arizona.edu/AMS/xtal_data/DIFfiles/15285.txt based on this information: http://rruff.geo.arizona.edu/AMS/CIF_text_files/15285_cif.txt
I am using CCTBX in Python:
from cctbx.array_family import flex
from cctbx import sgtbx, crystal, miller, xray
sgnum = 227
sg = sgtbx.space_group_info(sgnum).group()
latticepar = [5.43070, 5.43070, 5.43070, 90, 90, 90]
dmin = 1.0
atompos = [['Si',(0.0, 0.0, 0.0)]]
scatterers = flex.xray_scatterer()
scatterers.append(xray.scatterer(label=atompos[0][0], site=atompos[0][1]))
pg = sg.build_derived_point_group()
sym = crystal.symmetry(space_group=sg,unit_cell=latticepar)
sps = crystal.special_position_settings(crystal_symmetry=sym)
structure = xray.structure(special_position_settings=sps,scatterers=scatterers)
F = structure.structure_factors(d_min=dmin,algorithm='direct').f_calc()
list(F.amplitudes())
This gives:
[((0, 2, 2), 0.0),
((0, 4, 0), 120.21765812638594),
((1, 1, 1), 84.18849550806966),
((1, 3, 1), 65.48371727205928),
((1, 3, 3), 57.45438308324155),
((1, 5, 1), 51.48759686950681),
((2, 2, 2), 128.54540698861973),
((2, 4, 2), 0.0),
((3, 3, 3), 51.48759686950681)]
How come CCTBX give an amplitude of 0.0 for (0,2,2) and (2,4,2)? The measured intensities in the DIFfile above does not show this. Am I missing something?
Cheers, /Allan
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
Hi,
There are two standard space group settings for F d -3 m (namely 1 and 2)
and I am not sure what the literature uses.
It is a puzzle indeed, in one setting (2,2,0) is absent, in another it
isn't. I guess the difference is space group settings, but the choice
between setting 1 and 2 still doesn't reproduce the table you send, which
by chance isn't in the paper listed in the link you send.
P
On 24 August 2015 at 15:55, Pavel Afonine
Hi Allan,
I'm not entirely sure why the difference between observed (experimentally measured) and calculated (using your script below) amplitudes of structure factors surprises you..
Also:
- your script computes structure factors and prints out amplitudes (not intensities); - you do not set the B-factor. By default scatterer object is constructed with u_iso=0.
Pavel
On 8/24/15 15:01, Allan Lyckegaard wrote:
Dear CCTBX-list
I am trying to reproduce the (scaled) intensities for Si reported here: http://rruff.geo.arizona.edu/AMS/xtal_data/DIFfiles/15285.txt based on this information: http://rruff.geo.arizona.edu/AMS/CIF_text_files/15285_cif.txt
I am using CCTBX in Python:
from cctbx.array_family import flex
from cctbx import sgtbx, crystal, miller, xray
sgnum = 227
sg = sgtbx.space_group_info(sgnum).group()
latticepar = [5.43070, 5.43070, 5.43070, 90, 90, 90]
dmin = 1.0
atompos = [['Si',(0.0, 0.0, 0.0)]]
scatterers = flex.xray_scatterer()
scatterers.append(xray.scatterer(label=atompos[0][0], site=atompos[0][1]))
pg = sg.build_derived_point_group()
sym = crystal.symmetry(space_group=sg,unit_cell=latticepar)
sps = crystal.special_position_settings(crystal_symmetry=sym)
structure = xray.structure(special_position_settings=sps,scatterers=scatterers)
F = structure.structure_factors(d_min=dmin,algorithm='direct').f_calc()
list(F.amplitudes())
This gives:
[((0, 2, 2), 0.0),
((0, 4, 0), 120.21765812638594),
((1, 1, 1), 84.18849550806966),
((1, 3, 1), 65.48371727205928),
((1, 3, 3), 57.45438308324155),
((1, 5, 1), 51.48759686950681),
((2, 2, 2), 128.54540698861973),
((2, 4, 2), 0.0),
((3, 3, 3), 51.48759686950681)]
How come CCTBX give an amplitude of 0.0 for (0,2,2) and (2,4,2)? The measured intensities in the DIFfile above does not show this. Am I missing something?
Cheers, /Allan
_______________________________________________ cctbxbb mailing [email protected]http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- ----------------------------------------------------------------- P.H. Zwart Staff Scientist Berkeley Center for Structural Biology, Science lead Lawrence Berkeley National Laboratories 1 Cyclotron Road, Berkeley, CA-94703, USA Cell: 510 289 9246 SASTBX: http://sastbx.als.lbl.gov BCSB: http://bcsb.als.lbl.gov PHENIX: http://www.phenix-online.org CAMERA: http://camera.lbl.gov/ -----------------------------------------------------------------
Hi,
It took me a bit to figure it out, but the intensity lines you quote in the
database listed are powder lines and are multiplicity weighted. If you take
that into account, the calculated values have a better correspondence to
the table listed, but are still not perfect which likely has to do with
Pavel's suggestions as well as with the fact that bonding electrons
breaking spherical symmetry have a contribution to the total.
Note that you can use this for reading in the cif file you attached earlier:
from __future__ import division
from cctbx import xray
from scitbx.array_family import flex
from libtbx import easy_pickle
from libtbx.str_utils import show_string
import sys, os
op = os.path
def run(args):
for f in args:
try:
xray_structures = xray.structure.from_cif(file_path=f)
except KeyboardInterrupt:
raise
except Exception, e:
print "Error extracting xray structure from file: %s:" % (
show_string(f))
print " ", str(e)
continue
basename, _ = op.splitext(op.basename(f))
for key, xs in xray_structures.items():
xs.show_summary()
r = basename
if key != r:
r += '_'+key
#easy_pickle.dump(file_name=r+'_xray_structure.pickle', obj=xs)
F = xs.structure_factors(d_min=1.5,algorithm='direct').f_calc()
I = F.as_intensity_array()
d = I.d_spacings().data()
m = I.multiplicities().data()
max_i = flex.max( I.data() )
for i,dd,mm in zip(I,d,m):
print i[0], i[1], dd,mm
if (__name__ == "__main__"):
import sys
run(args=sys.argv[1:])
resulting in
Number of scatterers: 1
At special positions: 1
Unit cell: (5.43094, 5.43094, 5.43094, 90, 90, 90)
Space group: F d -3 m :1 (No. 227)
(0, 2, 2) 4878.06695169 1.92012760466 12 100.0
(1, 1, 1) 3543.96579287 3.1355552483 8 48.4340187479
(1, 3, 1) 2144.13899149 1.63749032323 24 87.9093711801
these values are close to what Debye reported (contact me personally for
the manuscript).
P
On Mon, Aug 24, 2015 at 4:47 PM, Peter Zwart
Hi,
There are two standard space group settings for F d -3 m (namely 1 and 2) and I am not sure what the literature uses. It is a puzzle indeed, in one setting (2,2,0) is absent, in another it isn't. I guess the difference is space group settings, but the choice between setting 1 and 2 still doesn't reproduce the table you send, which by chance isn't in the paper listed in the link you send.
P
On 24 August 2015 at 15:55, Pavel Afonine
wrote: Hi Allan,
I'm not entirely sure why the difference between observed (experimentally measured) and calculated (using your script below) amplitudes of structure factors surprises you..
Also:
- your script computes structure factors and prints out amplitudes (not intensities); - you do not set the B-factor. By default scatterer object is constructed with u_iso=0.
Pavel
On 8/24/15 15:01, Allan Lyckegaard wrote:
Dear CCTBX-list
I am trying to reproduce the (scaled) intensities for Si reported here: http://rruff.geo.arizona.edu/AMS/xtal_data/DIFfiles/15285.txt based on this information: http://rruff.geo.arizona.edu/AMS/CIF_text_files/15285_cif.txt
I am using CCTBX in Python:
from cctbx.array_family import flex
from cctbx import sgtbx, crystal, miller, xray
sgnum = 227
sg = sgtbx.space_group_info(sgnum).group()
latticepar = [5.43070, 5.43070, 5.43070, 90, 90, 90]
dmin = 1.0
atompos = [['Si',(0.0, 0.0, 0.0)]]
scatterers = flex.xray_scatterer()
scatterers.append(xray.scatterer(label=atompos[0][0], site=atompos[0][1]))
pg = sg.build_derived_point_group()
sym = crystal.symmetry(space_group=sg,unit_cell=latticepar)
sps = crystal.special_position_settings(crystal_symmetry=sym)
structure = xray.structure(special_position_settings=sps,scatterers=scatterers)
F = structure.structure_factors(d_min=dmin,algorithm='direct').f_calc()
list(F.amplitudes())
This gives:
[((0, 2, 2), 0.0),
((0, 4, 0), 120.21765812638594),
((1, 1, 1), 84.18849550806966),
((1, 3, 1), 65.48371727205928),
((1, 3, 3), 57.45438308324155),
((1, 5, 1), 51.48759686950681),
((2, 2, 2), 128.54540698861973),
((2, 4, 2), 0.0),
((3, 3, 3), 51.48759686950681)]
How come CCTBX give an amplitude of 0.0 for (0,2,2) and (2,4,2)? The measured intensities in the DIFfile above does not show this. Am I missing something?
Cheers, /Allan
_______________________________________________ cctbxbb mailing [email protected]http://phenix-online.org/mailman/listinfo/cctbxbb
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- ----------------------------------------------------------------- P.H. Zwart Staff Scientist Berkeley Center for Structural Biology, Science lead Lawrence Berkeley National Laboratories 1 Cyclotron Road, Berkeley, CA-94703, USA Cell: 510 289 9246 SASTBX: http://sastbx.als.lbl.gov BCSB: http://bcsb.als.lbl.gov PHENIX: http://www.phenix-online.org CAMERA: http://camera.lbl.gov/ -----------------------------------------------------------------
_______________________________________________ cctbxbb mailing list [email protected] http://phenix-online.org/mailman/listinfo/cctbxbb
-- ----------------------------------------------------------------- P.H. Zwart Staff Scientist Berkeley Center for Structural Biology, Science lead Lawrence Berkeley National Laboratories 1 Cyclotron Road, Berkeley, CA-94703, USA Cell: 510 289 9246 SASTBX: http://sastbx.als.lbl.gov BCSB: http://bcsb.als.lbl.gov PHENIX: http://www.phenix-online.org CAMERA: http://camera.lbl.gov/ -----------------------------------------------------------------
participants (4)
-
Allan Lyckegaard
-
Pavel Afonine
-
Peter Zwart
-
Petrus Zwart