Exemplo n.º 1
0
def score(candidate, target):
	import collections
	c_spectrum = peptide.cyclic_spectrum(candidate)
	c_counter = collections.Counter(c_spectrum)
	t_counter = collections.Counter(target)
	
	s = 0
	for mass in c_counter:
		if mass in t_counter:
			s = s + min(c_counter[mass],t_counter[mass])
	
	return s
    for mass in c_counter:
        if mass not in t_counter:
            return False
        if c_counter[mass] > t_counter[mass]:
            return False
    return True


def output_format(pep):
    masses = []
    for amino_acid in pep:
        masses.append(peptide.mass_table[amino_acid])
    return '-'.join(map(str, masses))


candidates = peptide.amino_acids
winners = []
while candidates:
    candidates = branch(candidates)
    new_candidates = []
    for candidate in candidates:
        c_spectrum = peptide.cyclic_spectrum(candidate)
        l_spectrum = peptide.linear_spectrum(candidate)
        if c_spectrum == spectrum:
            winners.append(candidate)
        elif consistent(l_spectrum, spectrum):
            new_candidates.append(candidate)
    candidates = new_candidates

inout.output(' '.join(set(map(output_format, winners))))
Exemplo n.º 3
0
    for mass in c_counter:
        if mass not in t_counter:
            return False
        if c_counter[mass] > t_counter[mass]:
            return False
    return True


def output_format(pep):
    masses = []
    for amino_acid in pep:
        masses.append(peptide.mass_table[amino_acid])
    return "-".join(map(str, masses))


candidates = peptide.amino_acids
winners = []
while candidates:
    candidates = branch(candidates)
    new_candidates = []
    for candidate in candidates:
        c_spectrum = peptide.cyclic_spectrum(candidate)
        l_spectrum = peptide.linear_spectrum(candidate)
        if c_spectrum == spectrum:
            winners.append(candidate)
        elif consistent(l_spectrum, spectrum):
            new_candidates.append(candidate)
    candidates = new_candidates

inout.output(" ".join(set(map(output_format, winners))))