def test_average_structure_in_memory(self, universe): avg = align.AverageStructure(universe, in_memory=True).run() reference_coordinates = universe.trajectory.timeseries().mean(axis=1) assert_almost_equal(avg.universe.atoms.positions, reference_coordinates, decimal=4) assert avg.filename is None
def test_average_structure_mass_weighted(self, universe, reference): ref, rmsd = _get_aligned_average_positions(self.ref_files, reference, weights='mass') avg = align.AverageStructure(universe, reference, weights='mass').run() assert_almost_equal(avg.universe.atoms.positions, ref, decimal=4) assert_almost_equal(avg.rmsd, rmsd)
def test_average_structure_select(self, universe, reference): select = 'protein and name CA and resid 3-5' ref, rmsd = _get_aligned_average_positions(self.ref_files, reference, select=select) avg = align.AverageStructure(universe, reference, select=select).run() assert_almost_equal(avg.universe.atoms.positions, ref, decimal=4) assert_almost_equal(avg.rmsd, rmsd)
def test_average_structure_ref_frame(self, universe): ref_frame = 3 u = mda.Merge(universe.atoms) # change to ref_frame universe.trajectory[ref_frame] u.load_new(universe.atoms.positions) # back to start universe.trajectory[0] ref, rmsd = _get_aligned_average_positions(self.ref_files, u) avg = align.AverageStructure(universe, ref_frame=ref_frame).run() assert_almost_equal(avg.universe.atoms.positions, ref, decimal=4) assert_almost_equal(avg.rmsd, rmsd)
def test_rmsf_xtc(run): """Align multiple times + RMSF""" u = mda.Universe(TPR, XTC) u2 = u.copy() average = align.AverageStructure(u2, u2, select='protein and name CA', ref_frame=0).run() ref = average.universe aligner = align.AlignTraj(u2, ref, select='protein and name CA', in_memory=True).run() c_alphas = u2.select_atoms('protein and name CA') R = rms.RMSF(c_alphas).run() assert 1 == 1
def RMSF(u, PU_directory_output): # calcule le RMSF de la PU print("Processing RMSF...") average = align.AverageStructure(u, u, select='protein and name CA', ref_frame=0).run() ref = average.universe aligner = align.AlignTraj(u, ref, select='protein and name CA', in_memory=True).run() c_alphas = u.select_atoms('protein and name CA') R = rms.RMSF(c_alphas).run() plt.figure() ax3 = plt.subplot(111) ax3.plot(c_alphas.resids, R.rmsf, 'b-', label="RMSF") ax3.legend(loc="best") ax3.set_title("RMSF") ax3.set_xlabel("Residue") ax3.set_ylabel(r"RMSF ($\AA$)") ax3.figure.savefig(PU_directory_output + "RMSF.png") print("Done!")
def test_mismatch_atoms(self, universe): u = mda.Merge(universe.atoms[:10]) with pytest.raises(SelectionError): align.AverageStructure(universe, u)
def test_average_structure_no_msf(self, universe): avg = align.AverageStructure(universe).run() assert not hasattr(avg, 'msf')
def test_average_structure_no_ref(self, universe): ref, rmsd = _get_aligned_average_positions(self.ref_files, universe) avg = align.AverageStructure(universe).run() assert_almost_equal(avg.universe.atoms.positions, ref, decimal=4) assert_almost_equal(avg.rmsd, rmsd)