From b943ca09cc0174b69656fa249abf8729bef25142 Mon Sep 17 00:00:00 2001 From: Jennifer A Clark Date: Mon, 26 Jun 2023 17:09:02 -0400 Subject: [PATCH] LAMMPS support for chainreader (#4170) * Generalize continuous check * Bug fix parent method and chain implementation * Update changelog and docs * Update error output string * Bug fix parenthesis * Bug fix parent method and chain implementation * Update changelog and docs * simplify fix * Address small reviewer comments * Add test for consistent, expected time between frames * Add check for timesteps --- package/CHANGELOG | 3 + package/MDAnalysis/coordinates/LAMMPS.py | 1 + package/MDAnalysis/coordinates/chain.py | 4 +- .../coordinates/test_chainreader.py | 16 +- .../data/lammps/chain_dump_1.lammpstrj | 186 ++++++++++++++++++ .../data/lammps/chain_dump_2.lammpstrj | 186 ++++++++++++++++++ .../data/lammps/chain_initial.data | 78 ++++++++ testsuite/MDAnalysisTests/datafiles.py | 6 + 8 files changed, 477 insertions(+), 3 deletions(-) create mode 100644 testsuite/MDAnalysisTests/data/lammps/chain_dump_1.lammpstrj create mode 100644 testsuite/MDAnalysisTests/data/lammps/chain_dump_2.lammpstrj create mode 100644 testsuite/MDAnalysisTests/data/lammps/chain_initial.data diff --git a/package/CHANGELOG b/package/CHANGELOG index e39a44adc4b..f610d8d0b9b 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -23,8 +23,11 @@ Fixes (PR #4163, Issue #4159) Enhancements + * LAMMPSDump Reader use of `continuous` option to stitch trajectories + (Issue #3546) Changes + * Add definition of ts.data['time'] in LAMMPSDump Reader (Issue #3546) * As per NEP29 the minimum supported version has been raised to 1.22. We have opted to pin to a minimum of 1.22.3 to avoid known issues on some platforms. diff --git a/package/MDAnalysis/coordinates/LAMMPS.py b/package/MDAnalysis/coordinates/LAMMPS.py index bbb1969e3aa..0cd3874997b 100644 --- a/package/MDAnalysis/coordinates/LAMMPS.py +++ b/package/MDAnalysis/coordinates/LAMMPS.py @@ -595,6 +595,7 @@ def _read_next_timestep(self): f.readline() # ITEM TIMESTEP step_num = int(f.readline()) ts.data['step'] = step_num + ts.data['time'] = step_num * ts.dt f.readline() # ITEM NUMBER OF ATOMS n_atoms = int(f.readline()) diff --git a/package/MDAnalysis/coordinates/chain.py b/package/MDAnalysis/coordinates/chain.py index 54fe5da7cd1..33f5a80b642 100644 --- a/package/MDAnalysis/coordinates/chain.py +++ b/package/MDAnalysis/coordinates/chain.py @@ -191,7 +191,7 @@ class ChainReader(base.ReaderBase): what frames are used with the continuous option. The default chainreader will read all frames. The continuous option is - currently only supported for XTC and TRR files. + currently only supported for XTC, TRR, and LAMMPSDUMP files. Notes ----- @@ -299,7 +299,7 @@ def __init__(self, filenames, skip=1, dt=None, continuous=False, # calculate new start_frames to have a time continuous trajectory. if continuous: - check_allowed_filetypes(self.readers, ['XTC', 'TRR']) + check_allowed_filetypes(self.readers, ['XTC', 'TRR', "LAMMPSDUMP"]) if np.any(np.array(n_frames) == 1): raise RuntimeError("ChainReader: Need at least two frames in " "every trajectory with continuous=True") diff --git a/testsuite/MDAnalysisTests/coordinates/test_chainreader.py b/testsuite/MDAnalysisTests/coordinates/test_chainreader.py index a869039d8b2..ba0687ffd76 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_chainreader.py +++ b/testsuite/MDAnalysisTests/coordinates/test_chainreader.py @@ -33,7 +33,9 @@ import MDAnalysis as mda from MDAnalysis.transformations import translate from MDAnalysisTests.datafiles import (PDB, PSF, CRD, DCD, - GRO, XTC, TRR, PDB_small, PDB_closed) + GRO, XTC, TRR, PDB_small, PDB_closed, + LAMMPS_chain, LAMMPSDUMP_chain1, + LAMMPSDUMP_chain2,) from MDAnalysisTests.util import no_warning @@ -206,6 +208,18 @@ def test_set_all_format_tuples(self): assert universe.trajectory.n_frames == 21 assert_equal(universe.trajectory.filenames, [PDB, XTC, TRR]) + def test_set_all_format_lammps(self): + universe = mda.Universe( + LAMMPS_chain, [LAMMPSDUMP_chain1, LAMMPSDUMP_chain2], + format="LAMMPSDUMP", continuous=True) + assert universe.trajectory.n_frames == 11 + + # Test whether the amount of time between frames is consistently = 1 + time_values = np.array([ts.time for ts in universe.trajectory]) + dt_array = time_values[1:]-time_values[:-1] + assert np.unique(dt_array) == 1 + assert_equal(time_values, np.arange(11)) + def test_set_format_tuples_and_format(self): universe = mda.Universe(GRO, [(PDB, 'pdb'), GRO, GRO, (XTC, 'xtc'), (TRR, 'trr')], format='gro') diff --git a/testsuite/MDAnalysisTests/data/lammps/chain_dump_1.lammpstrj b/testsuite/MDAnalysisTests/data/lammps/chain_dump_1.lammpstrj new file mode 100644 index 00000000000..300909054c0 --- /dev/null +++ b/testsuite/MDAnalysisTests/data/lammps/chain_dump_1.lammpstrj @@ -0,0 +1,186 @@ +ITEM: TIMESTEP +0 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.88374 3.41791 0.249243 +10 0 2 0 5.19702 4.14267 2.35373 +13 0 2 0 3.42556 5.80345 1.03172 +16 0 2 0 0.0624761 8.72482 0.313035 +22 0 2 0 1.59082 3.31475 4.97774 +11 0 2 0 3.42477 4.70658 3.66179 +1 0 1 0 5.19899 5.00015 5.48947 +2 0 1 0 4.97794 4.97944 4.51567 +14 0 2 0 6.62547 4.95874 6.02809 +19 0 2 0 7.08926 4.30542 5.23948 +20 0 2 0 7.0361 5.90606 5.4861 +15 0 2 0 4.22366 9.62949 5.40626 +21 0 2 0 4.17191 8.57808 5.01616 +6 0 2 0 8.27587 8.45465 4.67567 +18 0 2 0 1.26168 1.6929 8.0355 +3 0 2 0 3.45325 5.51395 8.67997 +9 0 2 0 5.19513 5.29517 8.55806 +5 0 2 0 6.55796 3.99289 9.54127 +7 0 2 0 7.62242 6.3979 9.73197 +8 0 2 0 6.88523 4.51143 6.98553 +17 0 2 0 9.17665 6.50396 7.07893 +12 0 2 0 7.07863 9.62566 7.36101 +ITEM: TIMESTEP +1 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.87099 3.41767 0.251237 +10 0 2 0 5.17103 4.14373 2.36815 +13 0 2 0 3.43361 5.81743 1.05571 +16 0 2 0 0.0513171 8.713 0.28804 +22 0 2 0 1.5998 3.31559 4.97326 +11 0 2 0 3.42282 4.70176 3.65073 +1 0 1 0 5.20676 4.99743 5.47086 +2 0 1 0 4.9757 4.97824 4.51385 +14 0 2 0 6.6219 4.99337 6.05337 +19 0 2 0 7.12985 4.31467 5.24475 +20 0 2 0 7.03647 5.90326 5.48498 +15 0 2 0 4.22247 9.64286 5.3867 +21 0 2 0 4.17371 8.58414 5.00718 +6 0 2 0 8.25895 8.45456 4.65529 +18 0 2 0 1.24399 1.69158 8.02878 +3 0 2 0 3.44983 5.48966 8.7051 +9 0 2 0 5.18181 5.2815 8.56656 +5 0 2 0 6.56395 3.97275 9.5395 +7 0 2 0 7.61969 6.40413 9.72323 +8 0 2 0 6.88059 4.52138 6.98398 +17 0 2 0 9.19784 6.49329 7.08897 +12 0 2 0 7.1015 9.62409 7.37619 +ITEM: TIMESTEP +2 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.85828 3.41747 0.253186 +10 0 2 0 5.14503 4.14478 2.38259 +13 0 2 0 3.44167 5.83141 1.07969 +16 0 2 0 0.0401567 8.70118 0.263043 +22 0 2 0 1.60879 3.31643 4.96878 +11 0 2 0 3.4209 4.69695 3.63969 +1 0 1 0 5.21537 4.99476 5.45525 +2 0 1 0 4.97272 4.97698 4.50903 +14 0 2 0 6.61824 5.02819 6.07806 +19 0 2 0 7.17033 4.32411 5.2502 +20 0 2 0 7.03677 5.90027 5.48392 +15 0 2 0 4.22129 9.65621 5.36713 +21 0 2 0 4.17552 8.59021 4.9982 +6 0 2 0 8.24203 8.45447 4.63492 +18 0 2 0 1.2263 1.69026 8.02205 +3 0 2 0 3.44645 5.46536 8.73023 +9 0 2 0 5.16846 5.26782 8.57506 +5 0 2 0 6.56988 3.95258 9.53777 +7 0 2 0 7.61696 6.41036 9.71449 +8 0 2 0 6.87604 4.53115 6.98274 +17 0 2 0 9.21902 6.48262 7.09901 +12 0 2 0 7.12436 9.62251 7.39137 +ITEM: TIMESTEP +3 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.84563 3.41731 0.255081 +10 0 2 0 5.11902 4.14585 2.39703 +13 0 2 0 3.44973 5.8454 1.10368 +16 0 2 0 0.0289914 8.68935 0.238036 +22 0 2 0 1.61778 3.31727 4.9643 +11 0 2 0 3.41903 4.69215 3.62866 +1 0 1 0 5.22524 4.99218 5.44415 +2 0 1 0 4.96857 4.97562 4.49975 +14 0 2 0 6.61446 5.06321 6.10201 +19 0 2 0 7.21069 4.33378 5.25586 +20 0 2 0 7.03704 5.89714 5.48289 +15 0 2 0 4.2201 9.66953 5.34754 +21 0 2 0 4.17732 8.59631 4.98923 +6 0 2 0 8.2251 8.45438 4.61454 +18 0 2 0 1.2086 1.68893 8.01533 +3 0 2 0 3.44311 5.44105 8.75537 +9 0 2 0 5.15508 5.25413 8.58357 +5 0 2 0 6.57575 3.93237 9.53609 +7 0 2 0 7.61422 6.41659 9.70575 +8 0 2 0 6.87164 4.54066 6.98195 +17 0 2 0 9.24021 6.47194 7.10905 +12 0 2 0 7.14724 9.62094 7.40656 +ITEM: TIMESTEP +4 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.83303 3.41722 0.256909 +10 0 2 0 5.09298 4.14692 2.4115 +13 0 2 0 3.4578 5.85939 1.12768 +16 0 2 0 0.0178158 8.67751 0.213006 +22 0 2 0 1.62678 3.31812 4.95981 +11 0 2 0 3.4172 4.68734 3.61764 +1 0 1 0 5.23636 4.98968 5.43716 +2 0 1 0 4.9633 4.97418 4.48634 +14 0 2 0 6.61052 5.09848 6.12517 +19 0 2 0 7.25094 4.34369 5.26174 +20 0 2 0 7.0373 5.89391 5.48185 +15 0 2 0 4.21891 9.68281 5.32792 +21 0 2 0 4.17913 8.60247 4.98027 +6 0 2 0 8.20816 8.45428 4.59414 +18 0 2 0 1.19088 1.68761 8.0086 +3 0 2 0 3.43982 5.41671 8.78054 +9 0 2 0 5.14164 5.24043 8.59209 +5 0 2 0 6.58155 3.9121 9.53447 +7 0 2 0 7.61148 6.42282 9.69699 +8 0 2 0 6.86741 4.54983 6.98173 +17 0 2 0 9.26141 6.46124 7.1191 +12 0 2 0 7.17014 9.61936 7.42176 +ITEM: TIMESTEP +5 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.82049 3.41718 0.258662 +10 0 2 0 5.06689 4.148 2.42599 +13 0 2 0 3.46588 5.87339 1.15172 +16 0 2 0 0.00662379 8.66565 0.187939 +22 0 2 0 1.63579 3.31896 4.95531 +11 0 2 0 3.41541 4.68252 3.60661 +1 0 1 0 5.2482 4.98721 5.43226 +2 0 1 0 4.9574 4.9727 4.47085 +14 0 2 0 6.60634 5.13405 6.14753 +19 0 2 0 7.29111 4.35383 5.26782 +20 0 2 0 7.03759 5.89064 5.48076 +15 0 2 0 4.21772 9.69606 5.30825 +21 0 2 0 4.18095 8.6087 4.97131 +6 0 2 0 8.19119 8.45419 4.57372 +18 0 2 0 1.17314 1.68628 8.00186 +3 0 2 0 3.43657 5.39233 8.80574 +9 0 2 0 5.12815 5.2267 8.60064 +5 0 2 0 6.58727 3.89175 9.53293 +7 0 2 0 7.60873 6.42905 9.68822 +8 0 2 0 6.86339 4.55856 6.98215 +17 0 2 0 9.28264 6.45054 7.12917 +12 0 2 0 7.19307 9.61778 7.43698 diff --git a/testsuite/MDAnalysisTests/data/lammps/chain_dump_2.lammpstrj b/testsuite/MDAnalysisTests/data/lammps/chain_dump_2.lammpstrj new file mode 100644 index 00000000000..d6f905e7ab5 --- /dev/null +++ b/testsuite/MDAnalysisTests/data/lammps/chain_dump_2.lammpstrj @@ -0,0 +1,186 @@ +ITEM: TIMESTEP +5 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.82049 3.41718 0.258662 +10 0 2 0 5.06689 4.148 2.42599 +13 0 2 0 3.46588 5.87339 1.15172 +16 0 2 0 0.00662379 8.66565 0.187939 +22 0 2 0 1.63579 3.31896 4.95531 +11 0 2 0 3.41541 4.68252 3.60661 +1 0 1 0 5.2482 4.98721 5.43226 +2 0 1 0 4.9574 4.9727 4.47085 +14 0 2 0 6.60634 5.13405 6.14753 +19 0 2 0 7.29111 4.35383 5.26782 +20 0 2 0 7.03759 5.89064 5.48076 +15 0 2 0 4.21772 9.69606 5.30825 +21 0 2 0 4.18095 8.6087 4.97131 +6 0 2 0 8.19119 8.45419 4.57372 +18 0 2 0 1.17314 1.68628 8.00186 +3 0 2 0 3.43657 5.39233 8.80574 +9 0 2 0 5.12815 5.2267 8.60064 +5 0 2 0 6.58727 3.89175 9.53293 +7 0 2 0 7.60873 6.42905 9.68822 +8 0 2 0 6.86339 4.55856 6.98215 +17 0 2 0 9.28264 6.45054 7.12917 +12 0 2 0 7.19307 9.61778 7.43698 +ITEM: TIMESTEP +6 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.80802 3.41721 0.26033 +10 0 2 0 5.04074 4.14908 2.44053 +13 0 2 0 3.47398 5.88743 1.1758 +16 0 2 0 -0.00459111 8.65377 0.162823 +22 0 2 0 1.64483 3.31981 4.95081 +11 0 2 0 3.41365 4.6777 3.59557 +1 0 1 0 5.25992 4.98474 5.42653 +2 0 1 0 4.95174 4.97122 4.45619 +14 0 2 0 6.60185 5.16996 6.16913 +19 0 2 0 7.33123 4.3642 5.27408 +20 0 2 0 7.03795 5.88738 5.47956 +15 0 2 0 4.21652 9.70925 5.28851 +21 0 2 0 4.18277 8.61502 4.96236 +6 0 2 0 8.17419 8.45409 4.55326 +18 0 2 0 1.15536 1.68495 7.9951 +3 0 2 0 3.43337 5.3679 8.83099 +9 0 2 0 5.11459 5.21294 8.60921 +5 0 2 0 6.59289 3.87132 9.53146 +7 0 2 0 7.60598 6.4353 9.67943 +8 0 2 0 6.8596 4.56681 6.98327 +17 0 2 0 9.3039 6.43981 7.13925 +12 0 2 0 7.21605 9.61619 7.45223 +ITEM: TIMESTEP +7 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.79562 3.4173 0.261903 +10 0 2 0 5.0145 4.15018 2.45512 +13 0 2 0 3.48211 5.90149 1.19995 +16 0 2 0 -0.0158389 8.64186 0.137633 +22 0 2 0 1.65389 3.32066 4.94629 +11 0 2 0 3.41194 4.67287 3.58451 +1 0 1 0 5.27068 4.98223 5.41736 +2 0 1 0 4.94714 4.96978 4.44493 +14 0 2 0 6.597 5.20621 6.1901 +19 0 2 0 7.37133 4.37478 5.28052 +20 0 2 0 7.03842 5.8842 5.47816 +15 0 2 0 4.21532 9.72238 5.26869 +21 0 2 0 4.18461 8.62145 4.95342 +6 0 2 0 8.15714 8.45399 4.53274 +18 0 2 0 1.13753 1.68362 7.98832 +3 0 2 0 3.43021 5.34339 8.85631 +9 0 2 0 5.10096 5.19914 8.61781 +5 0 2 0 6.59842 3.85077 9.53009 +7 0 2 0 7.60322 6.44156 9.67061 +8 0 2 0 6.85602 4.57456 6.98507 +17 0 2 0 9.32523 6.42905 7.14936 +12 0 2 0 7.23909 9.6146 7.46752 +ITEM: TIMESTEP +8 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.78328 3.41747 0.263374 +10 0 2 0 4.98814 4.1513 2.46979 +13 0 2 0 3.49028 5.91562 1.2242 +16 0 2 0 -0.0271356 8.62989 0.112334 +22 0 2 0 1.663 3.32152 4.94174 +11 0 2 0 3.41027 4.66802 3.57342 +1 0 1 0 5.28003 4.97967 5.40346 +2 0 1 0 4.94408 4.96838 4.43834 +14 0 2 0 6.59174 5.24281 6.21061 +19 0 2 0 7.4115 4.38559 5.28712 +20 0 2 0 7.03906 5.88115 5.4765 +15 0 2 0 4.21411 9.73547 5.24876 +21 0 2 0 4.18645 8.628 4.94446 +6 0 2 0 8.14001 8.45389 4.51213 +18 0 2 0 1.11963 1.68228 7.98152 +3 0 2 0 3.4271 5.31878 8.88174 +9 0 2 0 5.08722 5.18528 8.62647 +5 0 2 0 6.60384 3.83008 9.52881 +7 0 2 0 7.60044 6.44784 9.66175 +8 0 2 0 6.85265 4.58182 6.98749 +17 0 2 0 9.34664 6.41824 7.15951 +12 0 2 0 7.26224 9.613 7.48288 +ITEM: TIMESTEP +9 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.771 3.4177 0.264737 +10 0 2 0 4.9616 4.15243 2.48456 +13 0 2 0 3.49849 5.92982 1.2486 +16 0 2 0 -0.0385029 8.61785 0.086878 +22 0 2 0 1.67216 3.32239 4.93717 +11 0 2 0 3.40863 4.66314 3.56226 +1 0 1 0 5.28808 4.97706 5.38536 +2 0 1 0 4.94242 4.96701 4.43585 +14 0 2 0 6.58603 5.27977 6.23089 +19 0 2 0 7.4518 4.39662 5.29387 +20 0 2 0 7.03991 5.87825 5.47449 +15 0 2 0 4.21289 9.74853 5.22867 +21 0 2 0 4.18831 8.63472 4.93548 +6 0 2 0 8.12277 8.45379 4.49139 +18 0 2 0 1.10161 1.68093 7.97467 +3 0 2 0 3.42402 5.29401 8.90732 +9 0 2 0 5.07335 5.17132 8.63518 +5 0 2 0 6.60916 3.8092 9.52764 +7 0 2 0 7.59765 6.45417 9.65284 +8 0 2 0 6.84947 4.58864 6.99047 +17 0 2 0 9.36818 6.40736 7.16973 +12 0 2 0 7.28552 9.61139 7.49833 +ITEM: TIMESTEP +10 +ITEM: NUMBER OF ATOMS +22 +ITEM: BOX BOUNDS pp pp pp +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +0.0000000000000000e+00 1.0000000000000000e+01 +ITEM: ATOMS id mol type q xu yu zu +4 0 2 0 5.75876 3.41802 0.265988 +10 0 2 0 4.93482 4.15358 2.49947 +13 0 2 0 3.50678 5.94414 1.2732 +16 0 2 0 -0.0499635 8.60572 0.0612139 +22 0 2 0 1.68141 3.32326 4.93257 +11 0 2 0 3.40704 4.65822 3.55103 +1 0 1 0 5.29558 4.97443 5.36518 +2 0 1 0 4.94144 4.96564 4.4353 +14 0 2 0 6.57985 5.31706 6.25115 +19 0 2 0 7.49234 4.4079 5.30078 +20 0 2 0 7.041 5.87553 5.47208 +15 0 2 0 4.21165 9.76157 5.20839 +21 0 2 0 4.19018 8.64161 4.92646 +6 0 2 0 8.1054 8.45368 4.47049 +18 0 2 0 1.08345 1.67958 7.96777 +3 0 2 0 3.42098 5.26903 8.93311 +9 0 2 0 5.05932 5.15725 8.64398 +5 0 2 0 6.61438 3.78809 9.52658 +7 0 2 0 7.59483 6.46054 9.64385 +8 0 2 0 6.84642 4.59509 6.99388 +17 0 2 0 9.3899 6.39639 7.18003 +12 0 2 0 7.309 9.60977 7.51391 diff --git a/testsuite/MDAnalysisTests/data/lammps/chain_initial.data b/testsuite/MDAnalysisTests/data/lammps/chain_initial.data new file mode 100644 index 00000000000..f5fc04e7cac --- /dev/null +++ b/testsuite/MDAnalysisTests/data/lammps/chain_initial.data @@ -0,0 +1,78 @@ +LAMMPS data file via write_data, version 30 Jul 2021, timestep = 0 + +22 atoms +2 atom types +1 bonds +1 bond types + +0 10 xlo xhi +0 10 ylo yhi +0 10 zlo zhi + +Masses + +1 1 +2 1 + +Pair Coeffs # lj/cut + +1 1 1 +2 1 1 + +Bond Coeffs # harmonic + +1 1000 1 + +Atoms # full + +4 0 2 0 5.883740014805435 3.4179109354590804 0.24924286058641165 0 0 0 +10 0 2 0 5.197015196461036 4.142670556288421 2.353726151705203 0 0 0 +13 0 2 0 3.4255611285133267 5.803452070538761 1.031722991669274 0 0 0 +16 0 2 0 0.062476149254058554 8.724819406439591 0.31303480449240967 0 0 0 +22 0 2 0 1.5908211403175816 3.314754844382107 4.977739896776302 0 0 0 +11 0 2 0 3.424765092918008 4.706577781408797 3.661788275287658 0 0 0 +1 0 1 0 5.198991972049708 5.000151164651573 5.489469948645906 0 0 0 +2 0 1 0 4.977944755383636 4.979439231068392 4.515671261808374 0 0 0 +14 0 2 0 6.625473870892448 4.958741001742174 6.028090349925399 0 0 0 +19 0 2 0 7.0892589199131 4.3054178493503095 5.239481480901857 0 0 0 +20 0 2 0 7.036104530790973 5.906057579268762 5.486102918822923 0 0 0 +15 0 2 0 4.223656722003392 9.629493461794167 5.406260861415652 0 0 0 +21 0 2 0 4.171908135414807 8.578083005413488 5.016164227356318 0 0 0 +6 0 2 0 8.275867208937644 8.454650609100012 4.6756651150995525 0 0 0 +18 0 2 0 1.2616827540211895 1.6929043853399965 8.035498383807296 0 0 0 +3 0 2 0 3.4532547038183803 5.513947457637427 8.679969313168533 0 0 0 +9 0 2 0 5.195132811898448 5.29516718448986 8.55806411296179 0 0 0 +5 0 2 0 6.557959186170065 3.9928856347618593 9.541271333406879 0 0 0 +7 0 2 0 7.622424406139167 6.397902195984017 9.731973643509342 0 0 0 +8 0 2 0 6.885234927302157 4.511429989177588 6.9855314363826535 0 0 0 +17 0 2 0 9.17665431960683 6.503964175144789 7.078934920317938 0 0 0 +12 0 2 0 7.07862885024416 9.625664231829576 7.361010319462491 0 0 0 + +Velocities + +4 -1.276660702504741 -0.026070411269423915 0.20108568802782487 +10 -2.5983566504504765 0.10526434391058373 1.442584513910767 +13 0.8050400413759953 1.398345394013117 2.398536219936858 +16 -1.1158865606286625 -1.1821133354613182 -2.499434382708754 +22 0.8980591872307232 0.08370783310298346 -0.44786472491418416 +11 -0.19695107307522597 -0.4814905381733622 -1.106304258876651 +1 0.7672584780901935 -0.27255549656041417 -1.8752091760718599 +2 -0.22113345674134757 -0.11908410141898773 -0.16990285243504102 +14 -0.3524431166553481 3.4510098598708447 2.546224330608433 +19 4.060319718410092 0.9206794154596835 0.5242942388931888 +20 0.039770587191395416 -0.2683837933674185 -0.11610400752187681 +15 -0.11842474401551648 1.336573059903346 -1.956240492935761 +21 0.18027081378915846 0.6053446724530571 -0.8984297600447511 +6 -1.6916803937384872 -0.008959901625246826 -2.0373059484516585 +18 -1.7692400294198856 -0.13234083957401252 -0.6721560749126162 +3 -0.3448513290315931 -2.428793821423444 2.5125747483397625 +9 -1.3303472717010782 -1.3667979529855936 0.8489569057185709 +5 0.6007884969188944 -2.01299620355339 -0.17850044666911968 +7 -0.2731151684439193 0.6231270095132168 -0.8738141678022208 +8 -0.46768519907928785 1.0002004184521291 -0.1650167734587818 +17 2.118599875619805 -1.0672456725498713 1.0039088013137925 +12 2.286668496859314 -0.15741993871647506 1.5181176200540754 + +Bonds + +1 1 1 2 diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index 6dab750746f..caedb9a540c 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -155,6 +155,9 @@ "LAMMPSDUMP_triclinic", # lammpsdump file to test triclinic dimension parsing, albite with most atoms deleted "LAMMPSDUMP_image_vf", # Lammps dump file with image flags, velocities, and forces. "LAMMPS_image_vf", # Lammps data file to go with LAMMPSDUMP_image_vf + "LAMMPSDUMP_chain1", # Lammps dump file with chain reader + "LAMMPSDUMP_chain2", # Lammps dump file with chain reader + "LAMMPS_chain", # Lammps data file with chain reader "unordered_res", # pdb file with resids non sequential "GMS_ASYMOPT", # GAMESS C1 optimization "GMS_SYMOPT", # GAMESS D4h optimization @@ -527,6 +530,9 @@ LAMMPSDUMP_triclinic = (_data_ref / "lammps/albite_triclinic.dump").as_posix() LAMMPSDUMP_image_vf = (_data_ref / "lammps/image_vf.lammpstrj").as_posix() LAMMPS_image_vf = (_data_ref / "lammps/image_vf.data").as_posix() +LAMMPSDUMP_chain1 = (_data_ref / "lammps/chain_dump_1.lammpstrj").as_posix() +LAMMPSDUMP_chain2 = (_data_ref / "lammps/chain_dump_2.lammpstrj").as_posix() +LAMMPS_chain = (_data_ref / "lammps/chain_initial.data").as_posix() LAMMPSdata_many_bonds = (_data_ref / "lammps/a_lot_of_bond_types.data").as_posix() unordered_res = (_data_ref / "unordered_res.pdb").as_posix()