コード例 #1
0
def find_blank(hklin):
    try:
        # first dump to temp. file
        with tempfile.NamedTemporaryFile(suffix=".hkl",
                                         dir=os.environ["CCP4_SCR"],
                                         delete=False) as fh:
            hklout = fh.name

        p = Pointless()
        p.set_hklin(hklin)
        _ = p.sum_mtz(hklout)

        if os.path.getsize(hklout) == 0:
            Debug.write("Pointless failed:")
            Debug.write("".join(p.get_all_output()))
            raise RuntimeError("Pointless failed: no output file written")

        isig = {}

        with open(hklout, "r") as fh:
            for record in fh:
                lst = record.split()
                if not lst:
                    continue
                batch = int(lst[3])
                i, sig = float(lst[4]), float(lst[5])

                if not sig:
                    continue

                if not batch in isig:
                    isig[batch] = []

                isig[batch].append(i / sig)

    finally:
        os.remove(hklout)

    # look at the mean and sd

    blank = []
    good = []

    for batch in sorted(isig):
        m, s = meansd(isig[batch])
        if m < 1:
            blank.append(batch)
        else:
            good.append(batch)

    return blank, good
コード例 #2
0
def mosflm_mtz_to_list(mtz):
  '''Run pointless to convert mtz to list of h k l ... and give the
  unit cell, then convert this to a list as necessary before returning.'''

  hklout = tempfile.mktemp('.hkl', '', os.environ['CCP4_SCR'])

  p = Pointless()
  p.set_hklin(mtz)
  cell = p.sum_mtz(hklout)

  hkl = pointless_summedlist_to_list(hklout, cell)

  os.remove(hklout)

  return hkl
コード例 #3
0
ファイル: ResolutionExperts.py プロジェクト: xia2/xia2
def mosflm_mtz_to_list(mtz):
  '''Run pointless to convert mtz to list of h k l ... and give the
  unit cell, then convert this to a list as necessary before returning.'''

  hklout = tempfile.mktemp('.hkl', '', os.environ['CCP4_SCR'])

  p = Pointless()
  p.set_hklin(mtz)
  cell = p.sum_mtz(hklout)

  hkl = pointless_summedlist_to_list(hklout, cell)

  os.remove(hklout)

  return hkl
コード例 #4
0
def find_blank(hklin):

  # first dump to temp. file
  hklout = tempfile.mktemp('.hkl', '', os.environ['CCP4_SCR'])

  p = Pointless()
  p.set_hklin(hklin)
  cell = p.sum_mtz(hklout)

  if not os.path.isfile(hklout):
    Debug.write('Pointless failed:')
    Debug.write(''.join(p.get_all_output()))
    raise RuntimeError('Pointless failed: %s does not exist' %hklout)

  isig = { }

  for record in open(hklout, 'r'):
    lst = record.split()
    if not lst:
      continue
    batch = int(lst[3])
    i, sig = float(lst[4]), float(lst[5])

    if not sig:
      continue

    if not batch in isig:
      isig[batch] = []

    isig[batch].append(i / sig)

  # look at the mean and sd

  blank = []
  good = []

  for batch in sorted(isig):
    m, s = meansd(isig[batch])
    if m < 1:
      blank.append(batch)
    else:
      good.append(batch)

  # finally delete temp file
  os.remove(hklout)

  return blank, good
コード例 #5
0
ファイル: ResolutionExperts.py プロジェクト: xia2/xia2
def find_blank(hklin):

  # first dump to temp. file
  hklout = tempfile.mktemp('.hkl', '', os.environ['CCP4_SCR'])

  p = Pointless()
  p.set_hklin(hklin)
  cell = p.sum_mtz(hklout)

  if not os.path.isfile(hklout):
    Debug.write('Pointless failed:')
    Debug.write(''.join(p.get_all_output()))
    raise RuntimeError('Pointless failed: %s does not exist' %hklout)

  isig = { }

  for record in open(hklout, 'r'):
    lst = record.split()
    if not lst:
      continue
    batch = int(lst[3])
    i, sig = float(lst[4]), float(lst[5])

    if not sig:
      continue

    if not batch in isig:
      isig[batch] = []

    isig[batch].append(i / sig)

  # look at the mean and sd

  blank = []
  good = []

  for batch in sorted(isig):
    m, s = meansd(isig[batch])
    if m < 1:
      blank.append(batch)
    else:
      good.append(batch)

  # finally delete temp file
  os.remove(hklout)

  return blank, good
コード例 #6
0
def mosflm_mtz_to_list(mtz):
    """Run pointless to convert mtz to list of h k l ... and give the
    unit cell, then convert this to a list as necessary before returning."""

    try:
        with tempfile.NamedTemporaryFile(suffix=".hkl",
                                         dir=os.environ["CCP4_SCR"],
                                         delete=False) as fh:
            hklout = fh.name

        p = Pointless()
        p.set_hklin(mtz)
        cell = p.sum_mtz(hklout)

        hkl = pointless_summedlist_to_list(hklout, cell)

    finally:
        os.remove(hklout)

    return hkl