本文整理匯總了Python中xia2.Handlers.Flags.Flags.get_chef方法的典型用法代碼示例。如果您正苦於以下問題:Python Flags.get_chef方法的具體用法?Python Flags.get_chef怎麽用?Python Flags.get_chef使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類xia2.Handlers.Flags.Flags
的用法示例。
在下文中一共展示了Flags.get_chef方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: _sort_together_data_xds_one_sweep
# 需要導入模塊: from xia2.Handlers.Flags import Flags [as 別名]
# 或者: from xia2.Handlers.Flags.Flags import get_chef [as 別名]
def _sort_together_data_xds_one_sweep(self):
assert(len(self._sweep_information) == 1)
epoch = self._sweep_information.keys()[0]
hklin = self._sweep_information[epoch]['scaled_reflections']
if Flags.get_chef():
self._sweep_information_to_chef()
if self.get_scaler_reference_reflection_file():
md = self._factory.Mtzdump()
md.set_hklin(self.get_scaler_reference_reflection_file())
md.dump()
spacegroups = [md.get_spacegroup()]
reindex_operator = 'h,k,l'
elif self._scalr_input_spacegroup:
Debug.write('Assigning user input spacegroup: %s' % \
self._scalr_input_spacegroup)
spacegroups = [self._scalr_input_spacegroup]
reindex_operator = 'h,k,l'
else:
pointless = self._factory.Pointless()
pointless.set_hklin(hklin)
pointless.decide_spacegroup()
FileHandler.record_log_file('%s %s pointless' % \
(self._scalr_pname,
self._scalr_xname),
pointless.get_log_file())
spacegroups = pointless.get_likely_spacegroups()
reindex_operator = pointless.get_spacegroup_reindex_operator()
self._scalr_likely_spacegroups = spacegroups
spacegroup = self._scalr_likely_spacegroups[0]
self._scalr_reindex_operator = reindex_operator
Chatter.write('Likely spacegroups:')
for spag in self._scalr_likely_spacegroups:
Chatter.write('%s' % spag)
Chatter.write(
'Reindexing to first spacegroup setting: %s (%s)' % \
(spacegroup, clean_reindex_operator(reindex_operator)))
hklout = os.path.join(self.get_working_directory(),
'%s_%s_reindex.mtz' % \
(self._scalr_pname, self._scalr_xname))
FileHandler.record_temporary_file(hklout)
if reindex_operator == '[h,k,l]':
# just assign spacegroup
from iotbx import mtz
from cctbx import sgtbx
s = sgtbx.space_group(sgtbx.space_group_symbols(
str(spacegroup)).hall())
m = mtz.object(hklin)
m.set_space_group(s).write(hklout)
self._scalr_cell = m.crystals()[-1].unit_cell().parameters()
Debug.write(
'Updating unit cell to %.2f %.2f %.2f %.2f %.2f %.2f' % \
tuple(self._scalr_cell))
del(m)
del(s)
else:
ri = self._factory.Reindex()
ri.set_hklin(hklin)
ri.set_hklout(hklout)
ri.set_spacegroup(spacegroup)
ri.set_operator(reindex_operator)
ri.reindex()
Debug.write(
'Updating unit cell to %.2f %.2f %.2f %.2f %.2f %.2f' % \
tuple(ri.get_cell()))
self._scalr_cell = tuple(ri.get_cell())
hklin = hklout
hklout = os.path.join(self.get_working_directory(),
'%s_%s_sorted.mtz' % \
(self._scalr_pname, self._scalr_xname))
s = self._factory.Sortmtz()
s.set_hklin(hklin)
s.set_hklout(hklout)
s.sort(vrset = -99999999.0)
self._prepared_reflections = hklout
#.........這裏部分代碼省略.........
示例2: _sort_together_data_xds
# 需要導入模塊: from xia2.Handlers.Flags import Flags [as 別名]
# 或者: from xia2.Handlers.Flags.Flags import get_chef [as 別名]
def _sort_together_data_xds(self):
if len(self._sweep_information) == 1:
return self._sort_together_data_xds_one_sweep()
max_batches = 0
for epoch in self._sweep_information.keys():
hklin = self._sweep_information[epoch]['scaled_reflections']
md = self._factory.Mtzdump()
md.set_hklin(hklin)
md.dump()
if self._sweep_information[epoch]['batches'] == [0, 0]:
Chatter.write('Getting batches from %s' % hklin)
batches = md.get_batches()
self._sweep_information[epoch]['batches'] = [min(batches),
max(batches)]
Chatter.write('=> %d to %d' % (min(batches),
max(batches)))
batches = self._sweep_information[epoch]['batches']
if 1 + max(batches) - min(batches) > max_batches:
max_batches = max(batches) - min(batches) + 1
datasets = md.get_datasets()
Debug.write('In reflection file %s found:' % hklin)
for d in datasets:
Debug.write('... %s' % d)
dataset_info = md.get_dataset_info(datasets[0])
Debug.write('Biggest sweep has %d batches' % max_batches)
max_batches = nifty_power_of_ten(max_batches)
epochs = self._sweep_information.keys()
epochs.sort()
counter = 0
for epoch in epochs:
rb = self._factory.Rebatch()
hklin = self._sweep_information[epoch]['scaled_reflections']
pname = self._sweep_information[epoch]['pname']
xname = self._sweep_information[epoch]['xname']
dname = self._sweep_information[epoch]['dname']
sname = self._sweep_information[epoch]['sname']
hklout = os.path.join(self.get_working_directory(),
'%s_%s_%s_%d.mtz' % \
(pname, xname, dname, counter))
# we will want to delete this one exit
FileHandler.record_temporary_file(hklout)
# record this for future reference - will be needed in the
# radiation damage analysis...
# hack - reset this as it gets in a muddle...
intgr = self._sweep_information[epoch]['integrater']
self._sweep_information[epoch][
'batches'] = intgr.get_integrater_batches()
first_batch = min(self._sweep_information[epoch]['batches'])
self._sweep_information[epoch][
'batch_offset'] = counter * max_batches - first_batch + 1
rb.set_hklin(hklin)
rb.set_first_batch(counter * max_batches + 1)
rb.set_hklout(hklout)
new_batches = rb.rebatch()
# update the "input information"
self._sweep_information[epoch]['hklin'] = hklout
self._sweep_information[epoch]['batches'] = new_batches
# update the counter & recycle
counter += 1
if Flags.get_chef():
self._sweep_information_to_chef()
s = self._factory.Sortmtz()
hklout = os.path.join(self.get_working_directory(),
'%s_%s_sorted.mtz' % \
(self._scalr_pname, self._scalr_xname))
s.set_hklout(hklout)
#.........這裏部分代碼省略.........