def test_DHDX_different_files(self): output_file1 = input_dir + "/cytc_output/prod1/models_scores_sigmas-CytC_pH_6.5.dat" output_file2 = input_dir + "/cytc_output/prod1/models_scores_sigmas-CytC_pH_7.4.dat" pof1 = analysis.ParseOutputFile(output_file1) pof2 = analysis.ParseOutputFile(output_file2) dhdx = analysis.DeltaHDX(pof1, pof2) diff, Z, mean1, mean2, sd1, sd2 = dhdx.calculate_dhdx() dhdx.write_dhdx_file()
def test_DHDX_same_file(self): output_file = input_dir + "/cytc_output/prod1/models_scores_sigmas-CytC_pH_6.5.dat" pof1 = analysis.ParseOutputFile(output_file) pof2 = analysis.ParseOutputFile(output_file) dhdx = analysis.DeltaHDX(pof1, pof2) diff, Z, mean1, mean2, sd1, sd2 = dhdx.calculate_dhdx() for res in pof1.observed_residues: self.assertEqual(diff[res - 1], 0) self.assertEqual(Z[res - 1], 0)
def test_get_sequence(self): output_file = input_dir + "/cytc_output/prod1/models_scores_sigmas-CytC_pH_6.5.dat" pof = analysis.ParseOutputFile(output_file) seq = pof.get_sequence() cytc_seq = "MGDVEKGKKIFVQKCAQCHTVEKGGKHKTGPNLHGLFGRKTGQAPGFTYTDANKNKGITWKEETLMEYLENPKKYIPGTKMIFAGIKKKTEREDLIAYLKKATNE" self.assertEqual(seq, cytc_seq)
def test_create_pof(self): output_file = input_dir + "/cytc_output/prod1/models_scores_sigmas-CytC_pH_6.5.dat" pof = analysis.ParseOutputFile(output_file) self.assertEqual(pof.output_file, output_file) self.assertEqual(len(pof.get_datasets()), 1) self.assertEqual(pof.molecule_name, "CytC") self.assertEqual(pof.grid_size, 50) pof.clear_models() self.assertEqual(len(pof.models), 0)
import sys sys.path.append("../../pyext/src") import plots import analysis outputdir = "./test_simulated_data_50k/" pof = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-Apo.dat", "Apo") pof2 = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-Apo2.dat", "Apo2") pof.generate_datasets() pof2.generate_datasets() #pof.calculate_random_sample_convergence() #pof2.calculate_random_sample_convergence() conv = analysis.Convergence(pof, pof2, 500) print(conv.total_score_pvalue_and_cohensd()) ranges = [0.01, 0.1, 0.2, 0.3, 0.4] #print(conv.get_clusters(ranges)) #exit() #print(conv.residue_pvalue_and_cohensd()) plots.plot_incorporation_curve_fits(pof, 500, outputdir + "/incorporation_plots/") plots.plot_incorporation_curve_fits(pof2, 500, outputdir + "/incorporation_plots2/")
def test_get_models_datasets(self): output_file = input_dir + "/cytc_output/prod1/models_scores_sigmas-CytC_pH_6.5.dat" pof = analysis.ParseOutputFile(output_file) self.assertEqual(len(pof.get_all_models()), 5100)
state.set_output_model(output_model) output_model1 = model.ResidueGridModel(state1, grid_size=num_exp_bins) state1.set_output_model(output_model1) output_model2 = model.ResidueGridModel(state2, grid_size=num_exp_bins) state2.set_output_model(output_model2) sampler = sampling.MCSampler(sys, pct_moves=20) #, sigma_sample_level="timepoint") sys.output.initialize_output_model_file(state, output_model.pf_grids) sys.output.initialize_output_model_file(state1, output_model1.pf_grids) sys.output.initialize_output_model_file(state2, output_model2.pf_grids) sampler.run(nsteps, 2.0, write=True) pof = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-Apo.dat", state) pof2 = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-Apo2.dat", state1) pof3 = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-Apo3.dat", state2) #pof.calculate_random_sample_convergence() #pof2.calculate_random_sample_convergence() conv = analysis.Convergence(pof, pof2) print(conv.total_score_pvalue_and_cohensd()) #print(conv.residue_pvalue_and_cohensd()) plots.plot_residue_protection_factors([pof, pof2, pof3], num_best_models=200,
sequence = "GMAEDMAADEVTAPPRKVLIISAGASHSVALLSGDIVCSWGRGEDGQLGHGDAEDRPSPTQLSALDGHQIVSVTCGADHTVAYSQSGMEVYSWGWGDFGRLGHGNSSDLFTPLPIKALHGIRIKQIACGDSHCLAVTMEGEVQSWGRNQNGQLGLGDTEDSLVPQKIQAFEGIRIKMVAAGAEHTAAVTEDGDLYGWGWGRYGNLGLGDRTDRLVPERVTSTGGEKMSMVACGWRHTISVSYSGALYTYGWSKYGQLGHGDLEDHLIPHKLEALSNSFISQISGGWRHTMALTSDGKLYGWGWNKFGQVGVGNNLDQCSPVQVRFPDDQKVVQVSCGWRHTLAVTERNNVFAWGRGTNGQLGIGESVDRNFPKIIEALSVDGASGQHIESSNIDPSSGKSWVSPAERYAVVPDETGLTDGSSKGNGGDISVPQTDVKRVRI" # FASTA sequence resrange = (100, 200 ) # Residue range is a tuple in pdb numbering (starts at 1). num_best_models = 200 #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ### Analysis. #%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% # Initialize System sys = system.System(output_dir=None) mol = sys.add_macromolecule(sequence, "ERa") state = mol.get_apo_state() #mol.add_state("088074") pof = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-ERa_Apo.dat", state) pof2 = analysis.ParseOutputFile( outputdir2 + "/models_scores_sigmas-ERa_Apo.dat", state) pof3 = analysis.ParseOutputFile( outputdir3 + "/models_scores_sigmas-ERa_Apo.dat", state) pof4 = analysis.ParseOutputFile( outputdir4 + "/models_scores_sigmas-ERa_Apo.dat", state) pof4 = analysis.ParseOutputFile( outputdir5 + "/models_scores_sigmas-ERa_Apo.dat", state) plots.plot_residue_protection_factors([pof, pof2, pof3, pof4], num_best_models=num_best_models, resrange=(240, 260))
states.append(s) output_models.append(om) sys.output.initialize_output_model_file(state, om.pf_grids) #sampler = sampling.EnumerationSampler(sys) #sampler.run(write=True) #pof = analysis.ParseOutputFile(outputdir + "/models_scores_sigmas-Apo.dat", state) sys.output.change_output_directory(output_dir_sample) #sys.output.initialize_output_model_file(state, output_model.pf_grids) sampler = sampling.MCSampler(sys) sampler.run(10000, 2.0, write=True) pof = analysis.ParseOutputFile( output_dir_sample + "/models_scores_sigmas-Apo.dat", states[0]) pof1 = analysis.ParseOutputFile( output_dir_sample + "/models_scores_sigmas-Apo1.dat", states[1]) pof2 = analysis.ParseOutputFile( output_dir_sample + "/models_scores_sigmas-Apo2.dat", states[2]) pof3 = analysis.ParseOutputFile( output_dir_sample + "/models_scores_sigmas-Apo3.dat", states[3]) plots.plot_residue_protection_factors([pof, pof1, pof2, pof3], num_best_models=1000, sort_sectors=True, show=True) #plots.plot_po_model_scores(pof) #plots.plot_po_model_scores(pof2)