Пример #1
0
def pair_crossdiagonal_peaks(peaks, stoppable):

    assignment_to_peak = {}
    stoppable.stoppable_loop('finding crossdiagonal peaks', 200)
    for peak in peaks:
        stoppable.check_for_stop()
        r = noesy.proton_resonances(peak)
        assignment_to_peak[(r, peak.spectrum)] = peak

    plist = []
    peak_used = {}
    stoppable.stoppable_loop('sorting crossdiagonal peaks', 200)
    for peak in peaks:
        stoppable.check_for_stop()
        if not peak_used.has_key(peak):
            plist.append(peak)
            peak_used[peak] = 1
            r = noesy.proton_resonances(peak)
            if r:
                tr = (r[1], r[0])
                if assignment_to_peak.has_key((tr, peak.spectrum)):
                    tpeak = assignment_to_peak[(tr, peak.spectrum)]
                    if not peak_used.has_key(tpeak):
                        plist.append(tpeak)
                        peak_used[tpeak] = 1

    return plist
Пример #2
0
def pair_crossdiagonal_peaks(peaks, stoppable):

  assignment_to_peak = {}
  stoppable.stoppable_loop('finding crossdiagonal peaks', 200)
  for peak in peaks:
    stoppable.check_for_stop()
    r = noesy.proton_resonances(peak)
    assignment_to_peak[(r, peak.spectrum)] = peak

  plist = []
  peak_used = {}
  stoppable.stoppable_loop('sorting crossdiagonal peaks', 200)
  for peak in peaks:
    stoppable.check_for_stop()
    if not peak_used.has_key(peak):
      plist.append(peak)
      peak_used[peak] = 1
      r = noesy.proton_resonances(peak)
      if r:
	tr = (r[1], r[0])
	if assignment_to_peak.has_key((tr, peak.spectrum)):
	  tpeak = assignment_to_peak[(tr, peak.spectrum)]
	  if not peak_used.has_key(tpeak):
	    plist.append(tpeak)
	    peak_used[tpeak] = 1

  return plist
Пример #3
0
  def distance_bounds(self, peak):

    if peak.is_assigned:
      res = noesy.proton_resonances(peak)
      translate = self.atom_translations
      return self.bounds(translate.resonance_number_atom(res[0]),
                         translate.resonance_number_atom(res[1]))
    return None
Пример #4
0
  def predicted_intensity(self, peak):

    if peak.is_assigned:
      res = noesy.proton_resonances(peak)
      translate = self.atom_translations
      return self.intensity(translate.resonance_number_atom(res[0]),
                            translate.resonance_number_atom(res[1]))
    return None
Пример #5
0
    def distance_bounds(self, peak):

        if peak.is_assigned:
            res = noesy.proton_resonances(peak)
            translate = self.atom_translations
            return self.bounds(translate.resonance_number_atom(res[0]),
                               translate.resonance_number_atom(res[1]))
        return None
Пример #6
0
    def predicted_intensity(self, peak):

        if peak.is_assigned:
            res = noesy.proton_resonances(peak)
            translate = self.atom_translations
            return self.intensity(translate.resonance_number_atom(res[0]),
                                  translate.resonance_number_atom(res[1]))
        return None
Пример #7
0
  def noesy_distance(self, peak):

    if peak.is_assigned:
      res = noesy.proton_resonances(peak)
      if res != None and len(res) == 2:
        mol = peak.spectrum.molecule
	return self.minimum_distance(res[0].atom, res[1].atom, mol)
    return None
Пример #8
0
  def assignment(self, peak):

    if peak.is_assigned:
      if self.noesy:
	res = noesy.proton_resonances(peak)
      else:
	res = peak.resonances()
      return sputil.group_atom_assignment(res)
    return None
Пример #9
0
    def assignment(self, peak):

        if peak.is_assigned:
            if self.noesy:
                res = noesy.proton_resonances(peak)
            else:
                res = peak.resonances()
            return sputil.group_atom_assignment(res)
        return None
Пример #10
0
  def peak_line(self, peak, bounds_text):

    r1, r2 = noesy.proton_resonances(peak)

    if r1 == None or r2 == None:
      return None

    if r1.group.number == None or r2.group.number == None:
      return None

    line = ('assign (residue %d and name %s) (residue %d and name %s) %s'
            % (r1.group.number, r1.atom.name,
               r2.group.number, r2.atom.name,
               bounds_text))
      
    return line
Пример #11
0
  def peak_line(self, peak, show_note):

    r1, r2 = noesy.proton_resonances(peak)

    if r1 == None or r2 == None:
      return ''

    if r1.group.number == None or r2.group.number == None:
      return ''

    volume = peak.volume
    if volume == None:
      volume = 0
    
    line = "%-4.4s%3d %-4.4s%3d %11.4e" % (r1.atom.name, r1.group.number,
                                           r2.atom.name, r2.group.number,
                                           volume)

    if show_note and peak.note:
      line = line + '   # ' + peak.note
      
    return line
Пример #12
0
    def peak_line(self, peak, show_note):

        r1, r2 = noesy.proton_resonances(peak)

        if r1 == None or r2 == None:
            return ''

        if r1.group.number == None or r2.group.number == None:
            return ''

        volume = peak.volume
        if volume == None:
            volume = 0

        line = "%-4.4s%3d %-4.4s%3d %11.4e" % (r1.atom.name, r1.group.number,
                                               r2.atom.name, r2.group.number,
                                               volume)

        if show_note and peak.note:
            line = line + '   # ' + peak.note

        return line