コード例 #1
0
def score_edges_within_pevents(allevents, historyScores, totalp, prev_error=0.05, ignore_cn=True):
    prevalence_error = prev_error
    sys.stderr.write("number of events: %d\n" % (len(allevents)))
    alledges = []
    for event in allevents:
        event.unpack()
        # 	if event.segs == []:
        # 		event.make_segs_from_str()
        for seg in event.segs:
            edge = copy.deepcopy(event)
            edge.segs = [seg]
            edge.make_segstr()
            if ignore_cn:
                (mysegstr, sign) = histseg.remove_signs_from_segstr(edge.segstr)
                edge.segstr = "+/" + mysegstr
                if sign == "-":
                    edge.cnval = -1 * event.cnval
            alledges.append(edge)
            # 	sys.stderr.write("number of edges is: %d\n" % (len(alledges)))
    sortededges = sorted(alledges, key=lambda x: (x.segstr, x.cnval))
    if ignore_cn:
        unique_edges = unique_loc_edges(sortededges)
    else:
        unique_edges = unique_c_edges(sortededges)
    sys.stderr.write("totalp: %s\n" % (str(totalp)))
    for edge in unique_edges:
        edge.update(historyScores)
        edge.likelihood = histseg.compute_likelihood_histories(edge.histories, historyScores, totalp)
        edge.trim()
    return unique_edges
コード例 #2
0
	def __init__(self, edge): 
		self.edge=edge
		self.isTrue=0  # this will be 0 if edge is FP, 1 if TP, 2 if TN, -1 if FN 
		self.refindex=-1
		self.refpreval=-1
		self.reforder=-1
		self.avecost=-1
		self.type=edge.determineEventType()
		(self.segstr, self.sign)=histseg.remove_signs_from_segstr(edge.segstr)
		self.cnval=edge.cnval*self.sign