imdclient 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. imdclient-0.1.0/AUTHORS.md +23 -0
  2. imdclient-0.1.0/CHANGELOG.md +37 -0
  3. imdclient-0.1.0/CODE_OF_CONDUCT.md +136 -0
  4. imdclient-0.1.0/LICENSE +21 -0
  5. imdclient-0.1.0/MANIFEST.in +6 -0
  6. imdclient-0.1.0/PKG-INFO +143 -0
  7. imdclient-0.1.0/README.md +100 -0
  8. imdclient-0.1.0/imdclient/IMDClient.py +896 -0
  9. imdclient-0.1.0/imdclient/IMDProtocol.py +164 -0
  10. imdclient-0.1.0/imdclient/IMDREADER.py +129 -0
  11. imdclient-0.1.0/imdclient/__init__.py +14 -0
  12. imdclient-0.1.0/imdclient/backends.py +352 -0
  13. imdclient-0.1.0/imdclient/data/__init__.py +0 -0
  14. imdclient-0.1.0/imdclient/data/gromacs/md/gromacs_struct.gro +21151 -0
  15. imdclient-0.1.0/imdclient/data/gromacs/md/gromacs_v3.top +11764 -0
  16. imdclient-0.1.0/imdclient/data/gromacs/md/gromacs_v3_nst1.mdp +58 -0
  17. imdclient-0.1.0/imdclient/data/gromacs/md/gromacs_v3_nst1.tpr +0 -0
  18. imdclient-0.1.0/imdclient/data/gromacs/md/gromacs_v3_nst1.trr +0 -0
  19. imdclient-0.1.0/imdclient/data/lammps/md/lammps_topol.data +8022 -0
  20. imdclient-0.1.0/imdclient/data/lammps/md/lammps_trj.h5md +0 -0
  21. imdclient-0.1.0/imdclient/data/lammps/md/lammps_v3.in +71 -0
  22. imdclient-0.1.0/imdclient/data/namd/md/alanin.dcd +0 -0
  23. imdclient-0.1.0/imdclient/data/namd/md/alanin.params +402 -0
  24. imdclient-0.1.0/imdclient/data/namd/md/alanin.pdb +77 -0
  25. imdclient-0.1.0/imdclient/data/namd/md/alanin.psf +206 -0
  26. imdclient-0.1.0/imdclient/data/namd/md/namd_v3.namd +47 -0
  27. imdclient-0.1.0/imdclient/results.py +332 -0
  28. imdclient-0.1.0/imdclient/streamanalysis.py +1056 -0
  29. imdclient-0.1.0/imdclient/streambase.py +199 -0
  30. imdclient-0.1.0/imdclient/tests/__init__.py +0 -0
  31. imdclient-0.1.0/imdclient/tests/base.py +122 -0
  32. imdclient-0.1.0/imdclient/tests/conftest.py +38 -0
  33. imdclient-0.1.0/imdclient/tests/datafiles.py +34 -0
  34. imdclient-0.1.0/imdclient/tests/server.py +212 -0
  35. imdclient-0.1.0/imdclient/tests/test_gromacs.py +33 -0
  36. imdclient-0.1.0/imdclient/tests/test_imdclient.py +150 -0
  37. imdclient-0.1.0/imdclient/tests/test_imdreader.py +644 -0
  38. imdclient-0.1.0/imdclient/tests/test_lammps.py +38 -0
  39. imdclient-0.1.0/imdclient/tests/test_manual.py +70 -0
  40. imdclient-0.1.0/imdclient/tests/test_namd.py +38 -0
  41. imdclient-0.1.0/imdclient/tests/test_stream_analysis.py +61 -0
  42. imdclient-0.1.0/imdclient/tests/utils.py +41 -0
  43. imdclient-0.1.0/imdclient/utils.py +118 -0
  44. imdclient-0.1.0/imdclient.egg-info/PKG-INFO +143 -0
  45. imdclient-0.1.0/imdclient.egg-info/SOURCES.txt +48 -0
  46. imdclient-0.1.0/imdclient.egg-info/dependency_links.txt +1 -0
  47. imdclient-0.1.0/imdclient.egg-info/requires.txt +11 -0
  48. imdclient-0.1.0/imdclient.egg-info/top_level.txt +1 -0
  49. imdclient-0.1.0/pyproject.toml +95 -0
  50. imdclient-0.1.0/setup.cfg +4 -0
@@ -0,0 +1,23 @@
1
+ # Authors
2
+
3
+ IMDClient was created by Lawson in 2024.
4
+
5
+
6
+ <!-- All contributing authors are listed in this file below.
7
+ The repository history at https://github.com/becksteinlab/imdreader
8
+ and the CHANGELOG show individual code contributions. -->
9
+
10
+ ## Chronological list of authors
11
+
12
+ <!--
13
+ The rules for this file:
14
+ * Authors are sorted chronologically, earliest to latest
15
+ * Please format it each entry as "Preferred name <GitHub username>"
16
+ * Your preferred name is whatever you wish to go by --
17
+ it does *not* have to be your legal name!
18
+ * Please start a new section for each new year
19
+ * Don't ever delete anything
20
+ -->
21
+
22
+ **2024**
23
+ - Lawson <@ljwoods2>
@@ -0,0 +1,37 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
+
7
+ <!--
8
+ The rules for this file:
9
+ * entries are sorted newest-first.
10
+ * summarize sets of changes - don't reproduce every git log comment here.
11
+ * don't ever delete anything.
12
+ * keep the format consistent:
13
+ * do not use tabs but use spaces for formatting
14
+ * 79 char width
15
+ * YYYY-MM-DD date format (following ISO 8601)
16
+ * accompany each entry with github issue/PR number (Issue #xyz)
17
+ -->
18
+
19
+ ## [Unreleased]
20
+
21
+ ### Authors
22
+ <!-- GitHub usernames of contributors to this release -->
23
+
24
+ ### Added
25
+ <!-- New added features -->
26
+
27
+ ### Fixed
28
+ <!-- Bug fixes -->
29
+
30
+ ### Changed
31
+ <!-- Changes in existing functionality -->
32
+
33
+ ### Deprecated
34
+ <!-- Soon-to-be removed features -->
35
+
36
+ ### Removed
37
+ <!-- Removed features -->
@@ -0,0 +1,136 @@
1
+ # Code of conduct
2
+
3
+ The IMDClient *Code of Conduct* sets the rules for the behavior of
4
+ every member in the IMDClient community so that everyone can
5
+ experience a welcoming, supportive, and productive environment that is
6
+ free from harassment.
7
+
8
+ <!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
9
+ **Table of Contents**
10
+
11
+ - [Code of conduct](#code-of-conduct)
12
+ - [Code of Conduct and Community Guidelines](#code-of-conduct-and-community-guidelines)
13
+ - [Scope](#scope)
14
+ - [Enforcement](#enforcement)
15
+ - [Acknowledgment](#acknowledgment)
16
+
17
+ <!-- markdown-toc end -->
18
+ ## Code of Conduct and Community Guidelines
19
+
20
+ IMDClient is part of an engaged and respectful community made up of people from all
21
+ over the world. Your involvement helps us to further our mission and to create
22
+ an open platform that serves a broad range of communities, from research and
23
+ education to industry and beyond. This diversity is one of our biggest
24
+ strengths, but it can also lead to communication issues and conflicts.
25
+ Therefore, we have a few ground rules we ask that our community members adhere
26
+ to.
27
+
28
+ Fundamentally, we are committed to providing a productive,
29
+ harassment-free environment for everyone. Rather than considering this
30
+ code an exhaustive list of things that you can’t do, take it in the
31
+ spirit it is intended - a guide to make it easier to enrich all of us
32
+ and the communities in which we participate.
33
+
34
+ Importantly: as a member of our community, you are also a steward of these
35
+ values. Not all problems need to be resolved via formal processes, and often a
36
+ quick, friendly but clear word on an online forum or in person can help resolve
37
+ a misunderstanding and de-escalate things.
38
+
39
+ By embracing the following principles, guidelines and actions to follow or
40
+ avoid, you will help us make IMDClient a welcoming and productive community.
41
+
42
+ 1. **Be friendly and patient**.
43
+
44
+ 2. **Be welcoming**. We strive to be a community that welcomes and supports
45
+ people of all backgrounds and identities. This includes, but is not limited
46
+ to, members of any race, ethnicity, culture, national origin, color,
47
+ immigration status, social and economic class, educational level, sex, sexual
48
+ orientation, gender identity and expression, age, physical appearance, family
49
+ status, political belief, technological or professional choices, academic
50
+ discipline, religion, mental ability, and physical ability.
51
+
52
+ 3. **Be considerate**. Your work will be used by other people, and you in turn
53
+ will depend on the work of others. Any decision you take will affect users
54
+ and colleagues, and you should take those consequences into account when
55
+ making decisions. Remember that we're a world-wide community. You may be
56
+ communicating with someone with a different primary language or cultural
57
+ background.
58
+
59
+ 4. **Be respectful**. Not all of us will agree all the time, but disagreement is
60
+ no excuse for poor behavior or poor manners. We might all experience some
61
+ frustration now and then, but we cannot allow that frustration to turn into a
62
+ personal attack. It’s important to remember that a community where people
63
+ feel uncomfortable or threatened is not a productive one.
64
+
65
+ 5. **Be careful in the words that you choose**. Be kind to others. Do not insult
66
+ or put down other community members. Harassment and other exclusionary
67
+ behavior are not acceptable. This includes, but is not limited to:
68
+ * threats or violent language directed against another person
69
+ * discriminatory jokes and language
70
+ * posting sexually explicit or violent material
71
+ * posting (or threatening to post) other people's personally identifying
72
+ information ("doxing")
73
+ * personal insults, especially those using racist or sexist terms
74
+ * unwelcome sexual attention
75
+ * advocating for, or encouraging, any of the above behavior
76
+ * repeated harassment of others. In general, if someone asks you to stop,
77
+ then stop
78
+
79
+ 6. **Moderate your expectations**. Many in our community volunteer their time.
80
+ They are probably not purposefully ignoring issues, refusing to engage in
81
+ discussion, avoiding features, etc. but often just unavailable.
82
+
83
+ 7. **When we disagree, try to understand why**. Disagreements, both social and
84
+ technical, happen all the time and IMDClient is no exception. It is important
85
+ that we resolve disagreements and differing views constructively. Remember
86
+ that we’re different. The strength of IMDClient comes from its varied community
87
+ that includes people from a wide range of backgrounds. Different people have
88
+ different perspectives on issues. Being unable to understand why someone
89
+ holds a viewpoint doesn’t mean they’re wrong. Don’t forget that it is human
90
+ to err and blaming each other doesn’t get us anywhere. Instead, focus on
91
+ helping to resolve issues and learning from mistakes.
92
+
93
+ 8. **A simple apology can go a long way**. It can often de-escalate a situation,
94
+ and telling someone that you are sorry is act of empathy that doesn’t
95
+ automatically imply an admission of guilt.
96
+
97
+
98
+ ## Scope
99
+
100
+ This Code of Conduct applies both within project spaces and in public spaces
101
+ when an individual is representing the project or its community. Examples of
102
+ representing a project or community include using an official project e-mail
103
+ address, posting via an official social media account, or acting as an
104
+ appointed representative at an online or offline event. Representation of a
105
+ project may be further defined and clarified by project maintainers.
106
+
107
+ ## Enforcement
108
+
109
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
110
+ reported by contacting the project team at 'ljwoods2@asu.edu'. The project team will
111
+ review and investigate all complaints, and will respond in a way that it deems
112
+ appropriate to the circumstances. The project team is obligated to maintain
113
+ confidentiality with regard to the reporter of an incident. Further details of
114
+ specific enforcement policies may be posted separately.
115
+
116
+ Project maintainers who do not follow or enforce the Code of Conduct in good
117
+ faith may face temporary or permanent repercussions as determined by other
118
+ members of the project's leadership.
119
+
120
+
121
+ ## Acknowledgment
122
+
123
+ Original text was adapted from
124
+ the
125
+ [*Speak Up!*](http://web.archive.org/web/20141109123859/http://speakup.io/coc.html),
126
+ [*Django*](https://www.djangoproject.com/conduct),
127
+ [*Contributor Covenant*](http://contributor-covenant.org/),
128
+ [*Jupyter*](https://github.com/jupyter/governance/blob/master/conduct/code_of_conduct.md),
129
+ [*MolSSI*](https://github.com/MolSSI/cookiecutter-cms/blob/master/%7B%7Bcookiecutter.repo_name%7D%7D/CODE_OF_CONDUCT.md),
130
+ and [*MDAnalysis*](https://github.com/MDAnalysis/mdanalysis/blob/develop/CODE_OF_CONDUCT.md) projects,
131
+ modified by IMDClient.
132
+ We are grateful to those projects for contributing these
133
+ materials under open licensing terms for us to easily reuse.
134
+
135
+ All content on this page is licensed under a [*Creative Commons
136
+ Attribution*](http://creativecommons.org/licenses/by/3.0/) license.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 ljwoods2
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,6 @@
1
+ include LICENSE
2
+ include MANIFEST.in
3
+ include AUTHORS.md CHANGELOG.md CODE_OF_CONDUCT.md README.md
4
+
5
+ graft imdclient
6
+ global-exclude *.py[cod] __pycache__ *.so
@@ -0,0 +1,143 @@
1
+ Metadata-Version: 2.1
2
+ Name: imdclient
3
+ Version: 0.1.0
4
+ Summary: Receiver for IMD v2 and v3 data from simulation engines like Gromacs, LAMMPS, and NAMD
5
+ Author-email: Lawson <ljwoods2@asu.edu>
6
+ Maintainer-email: Lawson <ljwoods2@asu.edu>
7
+ License: MIT License
8
+
9
+ Copyright (c) 2024 ljwoods2
10
+
11
+ Permission is hereby granted, free of charge, to any person obtaining a copy
12
+ of this software and associated documentation files (the "Software"), to deal
13
+ in the Software without restriction, including without limitation the rights
14
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
15
+ copies of the Software, and to permit persons to whom the Software is
16
+ furnished to do so, subject to the following conditions:
17
+
18
+ The above copyright notice and this permission notice shall be included in all
19
+ copies or substantial portions of the Software.
20
+
21
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
24
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
25
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
26
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
27
+ SOFTWARE.
28
+
29
+ Keywords: molecular simulations
30
+ Requires-Python: >=3.9
31
+ Description-Content-Type: text/markdown
32
+ License-File: LICENSE
33
+ License-File: AUTHORS.md
34
+ Requires-Dist: MDAnalysis>=2.7.0
35
+ Provides-Extra: test
36
+ Requires-Dist: pytest>=6.0; extra == "test"
37
+ Requires-Dist: pytest-xdist>=2.5; extra == "test"
38
+ Requires-Dist: pytest-cov>=3.0; extra == "test"
39
+ Requires-Dist: MDAnalysisTests>=2.7.0; extra == "test"
40
+ Provides-Extra: doc
41
+ Requires-Dist: sphinx; extra == "doc"
42
+ Requires-Dist: sphinx_rtd_theme; extra == "doc"
43
+
44
+ IMDClient
45
+ ==============================
46
+ [//]: # (Badges)
47
+
48
+ | **Latest release** | [![Last release tag][badge_release]][url_latest_release] ![GitHub commits since latest release (by date) for a branch][badge_commits_since] [![Documentation Status][badge_docs]][url_docs]|
49
+ | :----------------- | :------- |
50
+ | **Status** | [![GH Actions Status][badge_actions]][url_actions] [![codecov][badge_codecov]][url_codecov] |
51
+ | **Community** | [![License: GPL v2][badge_license]][url_license] [![Powered by MDAnalysis][badge_mda]][url_mda]|
52
+
53
+ [badge_actions]: https://github.com/becksteinlab/imdclient/actions/workflows/gh-ci.yaml/badge.svg
54
+ [badge_codecov]: https://codecov.io/gh/becksteinlab/imdclient/branch/main/graph/badge.svg
55
+ [badge_commits_since]: https://img.shields.io/github/commits-since/becksteinlab/imdclient/latest
56
+ [badge_docs]: https://readthedocs.org/projects/imdclient/badge/?version=latest
57
+ [badge_license]: https://img.shields.io/badge/License-MIT-blue.svg
58
+ [badge_mda]: https://img.shields.io/badge/powered%20by-MDAnalysis-orange.svg?logoWidth=16&logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJD+XwCY/fEAkf3uAJf97wGT/a+HfHaoiIWE7n9/f+6Hh4fvgICAjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT/yYAlP//AJ///wCg//8JjvOchXly1oaGhv+Ghob/j4+P/39/f3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJH8aQCY/8wAkv2kfY+elJ6al/yVlZX7iIiI8H9/f7h/f38UAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38egYF/noqAebF8gYaagnx3oFpUUtZpaWr/WFhY8zo6OmT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAn46Ojv+Hh4b/jouJ/4iGhfcAAADnAAAA/wAAAP8AAADIAAAAAwCj/zIAnf2VAJD/PAAAAAAAAAAAAAAAAICAgNGHh4f/gICA/4SEhP+Xl5f/AwMD/wAAAP8AAAD/AAAA/wAAAB8Aov9/ALr//wCS/Z0AAAAAAAAAAAAAAACBgYGOjo6O/4mJif+Pj4//iYmJ/wAAAOAAAAD+AAAA/wAAAP8AAABhAP7+FgCi/38Axf4fAAAAAAAAAAAAAAAAiIiID4GBgYKCgoKogoB+fYSEgZhgYGDZXl5e/m9vb/9ISEjpEBAQxw8AAFQAAAAAAAAANQAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Mb5iYmP+cnJz/jY2N95CQkO4pKSn/AAAA7gAAAP0AAAD7AAAAhgAAAAEAAAAAAAAAAACL/gsAkv2uAJX/QQAAAAB9fX3egoKC/4CAgP+NjY3/c3Nz+wAAAP8AAAD/AAAA/wAAAPUAAAAcAAAAAAAAAAAAnP4NAJL9rgCR/0YAAAAAfX19w4ODg/98fHz/i4uL/4qKivwAAAD/AAAA/wAAAP8AAAD1AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsVyqqqr/mpqa/6mpqf9KSUn/AAAA5QAAAPkAAAD5AAAAhQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkUFBSuZ2dn/3V1df8uLi7bAAAATgBGfyQAAAA2AAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADoAAAA/wAAAP8AAAD/AAAAWgC3/2AAnv3eAJ/+dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAA/wAAAP8AAAD/AAAA/wAKDzEAnP3WAKn//wCS/OgAf/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAANwAAADtAAAA7QAAAMAAABUMAJn9gwCe/e0Aj/2LAP//AQAAAAAAAAAA
59
+ [badge_release]: https://img.shields.io/github/release-pre/becksteinlab/imdclient.svg
60
+ [url_actions]: https://github.com/becksteinlab/imdclient/actions?query=branch%3Amain+workflow%3Agh-ci
61
+ [url_codecov]: https://codecov.io/gh/becksteinlab/imdclient/branch/main
62
+ [url_docs]: https://imdclient.readthedocs.io/en/latest/?badge=latest
63
+ [url_latest_release]: https://github.com/becksteinlab/imdclient/releases
64
+ [url_license]: https://www.gnu.org/licenses/gpl-2.0
65
+ [url_mda]: https://www.mdanalysis.org
66
+
67
+ Receiver for IMDv3 protocol from simulation engines like Gromacs, LAMMPS, and NAMD.
68
+
69
+ IMDClient is bound by a [Code of Conduct](https://github.com/becksteinlab/imdreader/blob/main/CODE_OF_CONDUCT.md).
70
+
71
+ ### Installation
72
+
73
+ To build IMDClient from source,
74
+ we highly recommend using virtual environments.
75
+ If possible, we strongly recommend that you use
76
+ [Anaconda](https://docs.conda.io/en/latest/) as your package manager.
77
+ Below we provide instructions both for `conda` and
78
+ for `pip`.
79
+
80
+ #### With conda
81
+
82
+ Ensure that you have [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html) installed.
83
+
84
+ Create a virtual environment and activate it:
85
+
86
+ ```
87
+ conda create --name imdclient
88
+ conda activate imdclient
89
+ ```
90
+
91
+ <!-- Install the development and documentation dependencies:
92
+
93
+ ```
94
+ conda env update --name imdreader --file devtools/conda-envs/test_env.yaml
95
+ conda env update --name imdreader --file docs/requirements.yaml
96
+ ``` -->
97
+
98
+ Build this package from source:
99
+
100
+ ```
101
+ pip install -e .
102
+ ```
103
+
104
+ If you want to update your dependencies (which can be risky!), run:
105
+
106
+ ```
107
+ conda update --all
108
+ ```
109
+
110
+ And when you are finished, you can exit the virtual environment with:
111
+
112
+ ```
113
+ conda deactivate
114
+ ```
115
+
116
+ #### With pip
117
+
118
+ To build the package from source, run:
119
+
120
+ ```
121
+ pip install .
122
+ ```
123
+
124
+ If you want to create a development environment, install
125
+ the dependencies required for tests and docs with:
126
+
127
+ ```
128
+ pip install ".[test,doc]"
129
+ ```
130
+
131
+ ### Copyright
132
+
133
+ The IMDClient source code is hosted at https://github.com/becksteinlab/imdclient
134
+ and is available under the MIT license (see the file [LICENSE](https://github.com/becksteinlab/imdclient/blob/main/LICENSE)).
135
+
136
+ Copyright (c) 2024, Lawson
137
+
138
+
139
+ #### Acknowledgements
140
+
141
+ Project based on the
142
+ [MDAnalysis Cookiecutter](https://github.com/MDAnalysis/cookiecutter-mda) version 0.1.
143
+ <!-- Please cite [MDAnalysis](https://github.com/MDAnalysis/mdanalysis#citation) when using IMDReader in published work. -->
@@ -0,0 +1,100 @@
1
+ IMDClient
2
+ ==============================
3
+ [//]: # (Badges)
4
+
5
+ | **Latest release** | [![Last release tag][badge_release]][url_latest_release] ![GitHub commits since latest release (by date) for a branch][badge_commits_since] [![Documentation Status][badge_docs]][url_docs]|
6
+ | :----------------- | :------- |
7
+ | **Status** | [![GH Actions Status][badge_actions]][url_actions] [![codecov][badge_codecov]][url_codecov] |
8
+ | **Community** | [![License: GPL v2][badge_license]][url_license] [![Powered by MDAnalysis][badge_mda]][url_mda]|
9
+
10
+ [badge_actions]: https://github.com/becksteinlab/imdclient/actions/workflows/gh-ci.yaml/badge.svg
11
+ [badge_codecov]: https://codecov.io/gh/becksteinlab/imdclient/branch/main/graph/badge.svg
12
+ [badge_commits_since]: https://img.shields.io/github/commits-since/becksteinlab/imdclient/latest
13
+ [badge_docs]: https://readthedocs.org/projects/imdclient/badge/?version=latest
14
+ [badge_license]: https://img.shields.io/badge/License-MIT-blue.svg
15
+ [badge_mda]: https://img.shields.io/badge/powered%20by-MDAnalysis-orange.svg?logoWidth=16&logo=data:image/x-icon;base64,AAABAAEAEBAAAAEAIAAoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJD+XwCY/fEAkf3uAJf97wGT/a+HfHaoiIWE7n9/f+6Hh4fvgICAjwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACT/yYAlP//AJ///wCg//8JjvOchXly1oaGhv+Ghob/j4+P/39/f3IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJH8aQCY/8wAkv2kfY+elJ6al/yVlZX7iIiI8H9/f7h/f38UAAAAAAAAAAAAAAAAAAAAAAAAAAB/f38egYF/noqAebF8gYaagnx3oFpUUtZpaWr/WFhY8zo6OmT///8BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAn46Ojv+Hh4b/jouJ/4iGhfcAAADnAAAA/wAAAP8AAADIAAAAAwCj/zIAnf2VAJD/PAAAAAAAAAAAAAAAAICAgNGHh4f/gICA/4SEhP+Xl5f/AwMD/wAAAP8AAAD/AAAA/wAAAB8Aov9/ALr//wCS/Z0AAAAAAAAAAAAAAACBgYGOjo6O/4mJif+Pj4//iYmJ/wAAAOAAAAD+AAAA/wAAAP8AAABhAP7+FgCi/38Axf4fAAAAAAAAAAAAAAAAiIiID4GBgYKCgoKogoB+fYSEgZhgYGDZXl5e/m9vb/9ISEjpEBAQxw8AAFQAAAAAAAAANQAAADcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAjo6Mb5iYmP+cnJz/jY2N95CQkO4pKSn/AAAA7gAAAP0AAAD7AAAAhgAAAAEAAAAAAAAAAACL/gsAkv2uAJX/QQAAAAB9fX3egoKC/4CAgP+NjY3/c3Nz+wAAAP8AAAD/AAAA/wAAAPUAAAAcAAAAAAAAAAAAnP4NAJL9rgCR/0YAAAAAfX19w4ODg/98fHz/i4uL/4qKivwAAAD/AAAA/wAAAP8AAAD1AAAAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALGxsVyqqqr/mpqa/6mpqf9KSUn/AAAA5QAAAPkAAAD5AAAAhQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADkUFBSuZ2dn/3V1df8uLi7bAAAATgBGfyQAAAA2AAAAMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0AAADoAAAA/wAAAP8AAAD/AAAAWgC3/2AAnv3eAJ/+dgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9AAAA/wAAAP8AAAD/AAAA/wAKDzEAnP3WAKn//wCS/OgAf/8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAANwAAADtAAAA7QAAAMAAABUMAJn9gwCe/e0Aj/2LAP//AQAAAAAAAAAA
16
+ [badge_release]: https://img.shields.io/github/release-pre/becksteinlab/imdclient.svg
17
+ [url_actions]: https://github.com/becksteinlab/imdclient/actions?query=branch%3Amain+workflow%3Agh-ci
18
+ [url_codecov]: https://codecov.io/gh/becksteinlab/imdclient/branch/main
19
+ [url_docs]: https://imdclient.readthedocs.io/en/latest/?badge=latest
20
+ [url_latest_release]: https://github.com/becksteinlab/imdclient/releases
21
+ [url_license]: https://www.gnu.org/licenses/gpl-2.0
22
+ [url_mda]: https://www.mdanalysis.org
23
+
24
+ Receiver for IMDv3 protocol from simulation engines like Gromacs, LAMMPS, and NAMD.
25
+
26
+ IMDClient is bound by a [Code of Conduct](https://github.com/becksteinlab/imdreader/blob/main/CODE_OF_CONDUCT.md).
27
+
28
+ ### Installation
29
+
30
+ To build IMDClient from source,
31
+ we highly recommend using virtual environments.
32
+ If possible, we strongly recommend that you use
33
+ [Anaconda](https://docs.conda.io/en/latest/) as your package manager.
34
+ Below we provide instructions both for `conda` and
35
+ for `pip`.
36
+
37
+ #### With conda
38
+
39
+ Ensure that you have [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html) installed.
40
+
41
+ Create a virtual environment and activate it:
42
+
43
+ ```
44
+ conda create --name imdclient
45
+ conda activate imdclient
46
+ ```
47
+
48
+ <!-- Install the development and documentation dependencies:
49
+
50
+ ```
51
+ conda env update --name imdreader --file devtools/conda-envs/test_env.yaml
52
+ conda env update --name imdreader --file docs/requirements.yaml
53
+ ``` -->
54
+
55
+ Build this package from source:
56
+
57
+ ```
58
+ pip install -e .
59
+ ```
60
+
61
+ If you want to update your dependencies (which can be risky!), run:
62
+
63
+ ```
64
+ conda update --all
65
+ ```
66
+
67
+ And when you are finished, you can exit the virtual environment with:
68
+
69
+ ```
70
+ conda deactivate
71
+ ```
72
+
73
+ #### With pip
74
+
75
+ To build the package from source, run:
76
+
77
+ ```
78
+ pip install .
79
+ ```
80
+
81
+ If you want to create a development environment, install
82
+ the dependencies required for tests and docs with:
83
+
84
+ ```
85
+ pip install ".[test,doc]"
86
+ ```
87
+
88
+ ### Copyright
89
+
90
+ The IMDClient source code is hosted at https://github.com/becksteinlab/imdclient
91
+ and is available under the MIT license (see the file [LICENSE](https://github.com/becksteinlab/imdclient/blob/main/LICENSE)).
92
+
93
+ Copyright (c) 2024, Lawson
94
+
95
+
96
+ #### Acknowledgements
97
+
98
+ Project based on the
99
+ [MDAnalysis Cookiecutter](https://github.com/MDAnalysis/cookiecutter-mda) version 0.1.
100
+ <!-- Please cite [MDAnalysis](https://github.com/MDAnalysis/mdanalysis#citation) when using IMDReader in published work. -->