pe_instance_2.loadFile( pdbfile2) statistics_collector.add_pose_energies( pe_instance_1) statistics_collector.add_pose_energies( pe_instance_2) ######################################### error_combined_scored = False #combination of score terms score_terms_to_be_combined = ['faketerm1', 'faketerm2'] for aminoacid in aminoacids: statistics_collector.restype_av_scores[aminoacid].calculate_sum_of_several_score_terms(score_terms_to_be_combined) print 'statistics for ALA and fakterm1+faketerm2: ', statistics_collector.calculate_averages_and_stddevs('ALA', 'faketerm1+faketerm2') if statistics_collector.calculate_averages_and_stddevs('ALA', 'faketerm1+faketerm2') != (2.25, 1.75): error_combined_scored = True score_terms_to_be_combined2 = ['faketerm3', 'faketerm2'] statistics_collector.restype_av_scores['GLU'].calculate_sum_of_several_score_terms(score_terms_to_be_combined2) #print 'statistics for GLU and fakterm3+faketerm2: ', statistics_collector.calculate_averages_and_stddevs('GLU', 'faketerm3+faketerm2') #print "hack" #print statistics_collector.calculate_averages_and_stddevs('GLU', 'faketerm3+faketerm2')
inlist = open(pdb_listfile, 'r') liste = inlist.readlines() FileList = [] for item in liste: FileList.append(item.rstrip('\n')) inlist.close() statistics_collector_from_all_pdb = ResTypesStatisticsCollector() for filename in FileList: pe_instance = PoseEnergies() pe_instance.loadFile(filename) statistics_collector_from_all_pdb.add_pose_energies(pe_instance) #print 'total all pdb', statistics_collector_from_all_pdb.calculate_averages_and_stddevs('SER', 'rama') error_adding_data_seen = False all_pdb_result = statistics_collector_from_all_pdb.calculate_averages_and_stddevs('SER', 'rama') archive_result = statistics_collector_from_pdb.calculate_averages_and_stddevs('SER', 'rama') if round( all_pdb_result[0], 5 )!= round( archive_result[0], 5): error_adding_data_seen = True if round( all_pdb_result[1], 5 )!= round( archive_result[1], 5): error_adding_data_seen = True if error_adding_data_seen: print 'Error in adding archived data to calculated data!' else: print 'No error seen in adding archvied data to calculated data!'
filename2 = 'serin-only-test-pdb.txt' statistics_collector_from_pdb1 = ResTypesStatisticsCollector() statistics_collector_from_pdb2 = ResTypesStatisticsCollector() pe_instance1 = PoseEnergies() pe_instance1.loadFile(filename1) statistics_collector_from_pdb1.add_pose_energies(pe_instance1) pe_instance2 = PoseEnergies() pe_instance2.loadFile(filename2) statistics_collector_from_pdb2.add_pose_energies(pe_instance2) mean1 = statistics_collector_from_pdb1.calculate_averages_and_stddevs_from_subset('SER', 'rama', range(10,21))[0] stddev1 = statistics_collector_from_pdb1.calculate_averages_and_stddevs_from_subset('SER', 'rama', range(10,21))[1] mean2 = statistics_collector_from_pdb2.calculate_averages_and_stddevs('SER', 'rama')[0] stddev2 = statistics_collector_from_pdb2.calculate_averages_and_stddevs('SER', 'rama')[1] #print statistics_collector_from_pdb1.calculate_averages_and_stddevs_from_subset('SER', 'rama', range(10, 21)) #print statistics_collector_from_pdb2.calculate_averages_and_stddevs('SER', 'rama') if not (round(mean1, 6) == round(mean2, 6) and round(stddev1, 6) == round(stddev2, 6)): print 'ERROR: calculating stddev and mean from a subset (depending on amount of neighbors) does not work correctly!' else: print 'No errror seen in calculating stddev and mean from a subset (depending on amount of neighbors)' #print statistics_collector_from_pdb1.calculate_averages_and_stddevs_from_subset('SER', 'rama', range(10, 21)), statistics_collector_from_pdb2.calculate_averages_and_stddevs('SER', 'rama')
if not error1_seen: print "No error when calculating mean and stddev for a single .pdb-file" else: print "There was an error when calculating mean and standard deviation for a single .pdb-file" #################################################################### #test: mean and stddev out of two .pdb-files error2_seen = False if statistics_collector.calculate_averages_and_stddevs("GLU", 'faketerm2')[1] != np.std([0, 0, 5, 6, 6]) or pose_energies.calculate_averages_and_stddevs("GLU", 'faketerm2')[0] != np.mean([0, 0, 5, 6, 6]): error1_seen = True elif statistics_collector.calculate_averages_and_stddevs("MET", 'faketerm1')[1] != np.std([1, 4, 4]) or pose_energies.calculate_averages_and_stddevs("MET", 'faketerm1')[0] != np.mean([1, 4, 4]): error1_seen = True elif statistics_collector.calculate_averages_and_stddevs("ASP", 'faketerm3')[1] != np.std([7, 6]) or pose_energies.calculate_averages_and_stddevs("ASP", 'faketerm3')[0] != np.mean([7, 6]): error1_seen = True elif statistics_collector.calculate_averages_and_stddevs("TRP", 'faketerm4')[1] != 0 or pose_energies.calculate_averages_and_stddevs("TRP", 'faketerm4')[0] != 0: error1_seen = True if not error2_seen: print "No error when calculating mean and stddev multiple .pdb-files" else: print "There was an error when calculating mean and standard deviation for multiple .pdb-files" ######################################################################