コード例 #1
0
    def test_cpp_implementation(self):
        strike3_ssrcalcwindow = 0.3
        ssrcalcvalues  = self.ssrcalcvalues_four_example  
        N = [len(v) for v in ssrcalcvalues]

        cpp_result = c_getnonuis.calculate_eUIS(N, ssrcalcvalues, strike3_ssrcalcwindow)
        python_result = thisthirdstrike(N, ssrcalcvalues, strike3_ssrcalcwindow)
        cpp_result_compare = {}
        for c in cpp_result:
            cpp_result_compare[ tuple(c)] = 0
        self.assertEqual(cpp_result_compare, python_result)

        #print "second cpp impl"
        strike3_ssrcalcwindow = 1.0
        cpp_result = c_getnonuis.calculate_eUIS(N, ssrcalcvalues, strike3_ssrcalcwindow)
        python_result = thisthirdstrike(N, ssrcalcvalues, strike3_ssrcalcwindow)
        cpp_result_compare = {}
        for c in cpp_result:
            cpp_result_compare[ tuple(c)] = 0
        self.assertEqual(cpp_result_compare, python_result)
コード例 #2
0
    # we get the list of ssrcalc-values for each transition 
    ssrcalcvalues = [ [] for t in transitions]
    for k,v in collisions_per_peptide.iteritems():
        #ssrcalc = trgroup_lookup[k]
        ssrcalc = myprecursors.lookup_by_transition_group(k).ssrcalc
        for tr in v:
            ssrcalcvalues[tr].append(ssrcalc)

    # then sort the ssrcalc values 
    # complexity: nr_tr * k * log(k) 
    for i in range(len(ssrcalcvalues)):
        ssrcalcvalues[i] = sorted(ssrcalcvalues[i])

    # get the list of combinations that are not eUIS
    N = [len(v) for v in ssrcalcvalues]
    cont_comb_list = c_getnonuis.calculate_eUIS(N, ssrcalcvalues, strike3_ssrcalcwindow)
    
    if False:
        #compare c++/python code
        compare = thisthirdstrike(N, ssrcalcvalues, strike3_ssrcalcwindow)
        cont3 = {}
        for c in cont_comb_list:
            cont3[ tuple(c)] = 0
        assert compare == cont3

    # the list of combinations has to be expanded for a specific order (e.g.
    # for order 2, a combination of (1,2,3) has to be expanded into
    # (1,2),(1,3),(2,3) to get all subcombinations.
    newdic = dict([(i,list(v)) for i,v in enumerate(cont_comb_list)])
    non_useable_combinations.update(c_getnonuis.get_non_uis( newdic, myorder))