예제 #1
0
 def setUp(self):
     self.universe = mda.Universe(TRZ_psf, TRZ)
     self.ag = self.universe.select_atoms('name N')
     self.prec = 3
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/partial-write-test.pdb'
     self.Writer = mda.Writer(self.outfile, n_atoms=len(self.ag))
예제 #2
0
 def setUp(self):
     self.universe = mda.Universe(PSF, [DCD, CRD, DCD, CRD, DCD, CRD, CRD])
     self.trajectory = self.universe.trajectory
     self.prec = 3
     # dummy output DCD file
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/chain-reader.dcd'
예제 #3
0
 def setUp(self):
     self.u = mda.Universe(self.topology, self.trajectory,
                           format=self.format)
     # dummy output file
     ext = os.path.splitext(self.trajectory)[1]
     self.tmpdir = tempdir.TempDir()
     self.outfile = os.path.join(self.tmpdir.name,  'lammps-writer-test' + ext)
예제 #4
0
    def test_write_velocities(self):
        ts = mda.coordinates.base.Timestep(4, velocities=True)
        ts.dimensions = [20, 30, 41, 90, 90, 90]

        ts.positions = [
            [1, 1, 1],
            [2, 2, 2],
            [3, 3, 3],
            [4, 4, 4],
        ]
        ts.velocities = [
            [10, 10, 10],
            [20, 20, 20],
            [30, 30, 30],
            [40, 40, 40],
        ]

        u = mda.Universe.empty(4)
        u.add_TopologyAttr('type')
        u.atoms[0].type = "H"
        u.atoms[1].type = "H"
        u.atoms[2].type = "H"
        u.atoms[3].type = "H"

        outfile = tempdir.TempDir().name + "chemfiles-write-velocities.lmp"
        with ChemfilesWriter(outfile,
                             topology=u,
                             chemfiles_format='LAMMPS Data') as writer:
            writer.write_next_timestep(ts)

        with open(outfile) as file:
            content = file.read()
            assert content == EXPECTED_LAMMPS_DATA
예제 #5
0
 def setUp(self):
     self.universe = mda.Universe(GRO)
     self.prec = 2  # 3 decimals in file in nm but MDAnalysis is in A
     ext = ".gro"
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/gro-writer' + ext
     self.outfile2 = self.tmpdir.name + '/gro-writer2' + ext
예제 #6
0
 def setUp(self):
     self.seq = FASTA
     self.tempdir = tempdir.TempDir()
     self.alnfile = os.path.join(self.tempdir.name,
                                 'alignmentprocessing.aln')
     self.treefile = os.path.join(self.tempdir.name,
                                  'alignmentprocessing.dnd')
예제 #7
0
 def setUp(self):
     self.universe = MDAnalysis.Universe(PSF, DCD)
     self.tempdir = tempdir.TempDir()
     self.outfile = os.path.join(self.tempdir.name, 'rmsd.txt')
     self.correct_values = [[0, 0, 0], [49, 48.9999, 4.68953]]
     self.correct_values_group = [[0, 0, 0, 0, 0],
                                  [49, 49, 4.7857, 4.7004, 4.68981]]
예제 #8
0
    def setUp(self):
        self.tmpdir = tempdir.TempDir()
        self.outfile = self.tmpdir.name + '/ncdf-write-vels-force.ncdf'
        self.prec = 3
        self.top = XYZ_mini
        self.n_atoms = 3

        self.ts1 = mda.coordinates.TRJ.Timestep(self.n_atoms,
                                                velocities=True,
                                                forces=True)
        self.ts1._pos[:] = np.arange(self.n_atoms * 3).reshape(self.n_atoms, 3)
        self.ts1._velocities[:] = np.arange(self.n_atoms * 3).reshape(
            self.n_atoms, 3) + 100
        self.ts1._forces[:] = np.arange(self.n_atoms * 3).reshape(
            self.n_atoms, 3) + 200

        self.ts2 = mda.coordinates.TRJ.Timestep(self.n_atoms,
                                                velocities=True,
                                                forces=True)
        self.ts2._pos[:] = np.arange(self.n_atoms * 3).reshape(
            self.n_atoms, 3) + 300
        self.ts2._velocities[:] = np.arange(self.n_atoms * 3).reshape(
            self.n_atoms, 3) + 400
        self.ts2._forces[:] = np.arange(self.n_atoms * 3).reshape(
            self.n_atoms, 3) + 500
예제 #9
0
 def __init__(self):
     u = mda.Universe(ALIGN)
     self.tmpdir = tempdir.TempDir()
     outfile = self.tmpdir.name + '/nucl.pdb'
     u.atoms.write(outfile)
     with open(outfile, 'r') as inf:
         self.writtenstuff = inf.readlines()
예제 #10
0
 def setUp(self):
     self.universe = mda.Universe(self.topology, self.filename)
     self.prec = 5
     ext = ".ncdf"
     self.tmpdir = tempdir.TempDir()
     self.outfile = os.path.join(self.tmpdir.name, 'ncdf-writer-1' + ext)
     self.outtop = os.path.join(self.tmpdir.name, 'ncdf-writer-top.pdb')
     self.Writer = mda.coordinates.TRJ.NCDFWriter
예제 #11
0
 def setUp(self):
     # keep tempdir around for the whole lifetime of the class
     self.tempdir = tempdir.TempDir()
     with in_dir(self.tempdir.name):
         H = HOLE(self.filename, raseed=31415)
         H.run()
         H.collect()
     self.H = H
예제 #12
0
 def setUp(self):
     self.universe = mda.Universe(TRZ_psf, TRZ)
     self.prec = 3
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/test-trz-writer.trz'
     self.outfile_long = self.tmpdir.name + '/test-trz-writer-long.trz'
     self.Writer = mda.coordinates.TRZ.TRZWriter
     self.title_to_write = 'Test title TRZ'
예제 #13
0
    def _check_warns(self, missing_attr):
        attrs = list(self.req_attrs.keys())
        attrs.remove(missing_attr)
        u = make_Universe(attrs, trajectory=True)

        tmpdir = tempdir.TempDir()
        outfile = tmpdir.name + '/out.crd'
        assert_warns(UserWarning, u.atoms.write, outfile)
예제 #14
0
 def setUp(self):
     """Generate input xtc."""
     self.u = mda.Universe(PSF, DCD)
     self.tmpdir = tempdir.TempDir()
     self.xtc = self.tmpdir.name + '/dcd-writer-issue59-test.xtc'
     wXTC = mda.Writer(self.xtc, self.u.atoms.n_atoms)
     for ts in self.u.trajectory:
         wXTC.write(ts)
     wXTC.close()
예제 #15
0
 def setUp(self):
     self.universe = mda.Universe(PSF, PDB_small)
     self.universe2 = mda.Universe(PSF, DCD)
     # 3 decimals in PDB spec
     # http://www.wwpdb.org/documentation/format32/sect9.html#ATOM
     self.prec = 3
     ext = ".pdb"
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/primitive-pdb-writer' + ext
예제 #16
0
    def setUp(self):
        u1 = MDAnalysis.Universe(merge_protein)
        u2 = MDAnalysis.Universe(merge_ligand)
        u3 = MDAnalysis.Universe(merge_water)
        self.universes = [u1, u2, u3]

        suffix = '.' + self.ext
        self.tempdir = tempdir.TempDir()
        self.outfile = os.path.join(self.tempdir.name, 'test' + suffix)
예제 #17
0
    def test_changing_system_size(self):
        outfile = tempdir.TempDir().name + "chemfiles-changing-size.xyz"
        with open(outfile, "w") as fd:
            fd.write(VARYING_XYZ)

        u = mda.Universe(outfile, format="chemfiles", topology_format="XYZ")

        with pytest.raises(IOError):
            u.trajectory._read_next_timestep()
예제 #18
0
 def setUp(self):
     self.u = mda.Universe(PRMncdf, NCDF)
     # create the DCD
     self.tmpdir = tempdir.TempDir()
     self.dcd = self.tmpdir.name + '/ncdf-2-dcd.dcd'
     DCD = mda.Writer(self.dcd, n_atoms=self.u.atoms.n_atoms)
     for ts in self.u.trajectory:
         DCD.write(ts)
     DCD.close()
     self.w = mda.Universe(PRMncdf, self.dcd)
예제 #19
0
 def setUp(self):
     # loading from GRO is 4x faster than the PDB reader
     self.universe = mda.Universe(GRO, self.filename, convert_units=True)
     self.trajectory = self.universe.trajectory
     self.prec = 3
     self.ts = self.universe.coord
     # dummy output file
     ext = os.path.splitext(self.filename)[1]
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/xdr-reader-test' + ext
예제 #20
0
def test_write_pdb_zero_atoms():
    # issue 1083
    u = make_Universe(trajectory=True)

    with tempdir.TempDir() as tmpdir:
        outfile = tmpdir + '/out.pdb'

        ag = u.atoms[:0]  # empty ag

        with mda.Writer(outfile, ag.n_atoms) as w:
            assert_raises(IndexError, w.write, ag)
예제 #21
0
    def setUp(self):
        self.u = mda.Universe(self.filename)
        # dummy output file
        ext = os.path.splitext(self.filename)[1]
        self.tmpdir = tempdir.TempDir()
        self.outfile = os.path.join(self.tmpdir.name,  'lammps-data-writer-test' + ext)

        with mda.Writer(self.outfile, n_atoms=self.u.atoms.n_atoms) as W:
            W.write(self.u.atoms)
        self.u_ref = mda.Universe(self.filename)
        self.u_new = mda.Universe(self.outfile)
예제 #22
0
    def test_write_nostructure(self):
        mytempdir = tempdir.TempDir()
        outfile = os.path.join(mytempdir.name, 'test.mol2')

        u = mda.Universe(mol2_zinc)
        with mda.Writer(outfile) as W:
            W.write(u.atoms)

        u2 = mda.Universe(outfile)

        assert_(len(u.atoms) == len(u2.atoms))
예제 #23
0
    def setUp(self):
        # since offsets are automatically generated in the same directory
        # as the trajectory, we do everything from a temporary directory
        self.tmpdir = tempdir.TempDir()
        shutil.copy(self.filename, self.tmpdir.name)

        self.traj = os.path.join(self.tmpdir.name,
                                 os.path.basename(self.filename))

        self.trajectory = self._reader(self.traj)
        self.prec = 3
        self.ts = self.trajectory.ts
예제 #24
0
 def setUp(self):
     self.tmpdir = tempdir.TempDir()
     self.iu1 = np.triu_indices(3, k=1)
     self.universe1 = MDAnalysis.Universe(PSF, DCD)
     self.universe2 = MDAnalysis.Universe(PSF, DCD2)
     self.universe_rev = MDAnalysis.Universe(PSF, DCD)
     self.universes = [self.universe1, self.universe2, self.universe_rev]
     self.psa = MDAnalysis.analysis.psa.PSAnalysis(self.universes,           \
                                            path_select='name CA',           \
                                                   targetdir=self.tmpdir.name)
     self.psa.generate_paths(align=True)
     self.psa.paths[-1] = self.psa.paths[-1][::
                                             -1, :, :]  # reverse third path
     self._run()
예제 #25
0
 def setUp(self):
     self.universe = mda.Universe(PSF, PDB_small)
     self.universe2 = mda.Universe(PSF, DCD)
     # 3 decimals in PDB spec
     # http://www.wwpdb.org/documentation/format32/sect9.html#ATOM
     self.prec = 3
     ext = ".pdb"
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/primitive-pdb-writer' + ext
     self.u_no_resnames = make_Universe(['names', 'resids'],
                                        trajectory=True)
     self.u_no_resids = make_Universe(['names', 'resnames'],
                                      trajectory=True)
     self.u_no_names = make_Universe(['resids', 'resnames'],
                                     trajectory=True)
예제 #26
0
    def _check_write(self, missing_attr):
        attrs = list(self.req_attrs.keys())
        attrs.remove(missing_attr)
        u = make_Universe(attrs, trajectory=True)

        tmpdir = tempdir.TempDir()
        outfile = tmpdir.name + '/out.crd'
        u.atoms.write(outfile)
        u2 = mda.Universe(outfile)

        # Check all other attrs aren't disturbed
        for attr in attrs:
            assert_equal(getattr(u.atoms, attr), getattr(u2.atoms, attr))
        # Check missing attr is as expected
        assert_equal(getattr(u2.atoms, missing_attr),
                     self.req_attrs[missing_attr])
예제 #27
0
    def test_write_topology(self):
        u = mda.Universe(datafiles.CONECT)
        outfile = tempdir.TempDir().name + "chemfiles-write-topology.pdb"
        with ChemfilesWriter(outfile) as writer:
            writer.write(u)
        self.check_topology(datafiles.CONECT, outfile)

        # Manually setting the topology when creating the ChemfilesWriter
        # (1) from an object
        with ChemfilesWriter(outfile, topology=u) as writer:
            writer.write_next_timestep(u.trajectory.ts)
        self.check_topology(datafiles.CONECT, outfile)

        # (2) from a file
        with ChemfilesWriter(outfile, topology=datafiles.CONECT) as writer:
            writer.write_next_timestep(u.trajectory.ts)
예제 #28
0
 def setUp(self):
     self.tempdir = tempdir.TempDir()
     self.outfile = os.path.join(self.tempdir.name, 'test.log')
예제 #29
0
 def setUp(self):
     self.tmpdir = tempdir.TempDir()
     self.outfile = self.tmpdir.name + '/outfile.xyz'
예제 #30
0
 def setUp(self):
     self.filename = PDB_full
     self.tempdir = tempdir.TempDir()
     self.outfile = os.path.join(self.tempdir.name, 'test.pdb')