Beispiel #1
0
 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
Beispiel #2
0
 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)
Beispiel #3
0
 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)
Beispiel #4
0
    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)
Beispiel #5
0
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
Beispiel #6
0
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!")
Beispiel #7
0
 def test_mismatch_atoms(self, universe):
     u = mda.Merge(universe.atoms[:10])
     with pytest.raises(SelectionError):
         align.AverageStructure(universe, u)
Beispiel #8
0
 def test_average_structure_no_msf(self, universe):
     avg = align.AverageStructure(universe).run()
     assert not hasattr(avg, 'msf')
Beispiel #9
0
 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)