namdtools 0.4.2__tar.gz → 0.4.4.dev0__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 (100) hide show
  1. namdtools-0.4.4.dev0/.gitattributes +1 -0
  2. namdtools-0.4.4.dev0/.github/workflows/tests.yml +30 -0
  3. namdtools-0.4.4.dev0/.gitignore +9 -0
  4. namdtools-0.4.4.dev0/LICENSE +21 -0
  5. namdtools-0.4.4.dev0/PKG-INFO +47 -0
  6. namdtools-0.4.4.dev0/README.md +26 -0
  7. namdtools-0.4.4.dev0/docs/.nojekyll +0 -0
  8. namdtools-0.4.4.dev0/docs/Makefile +20 -0
  9. namdtools-0.4.4.dev0/docs/build/doctrees/api/generated/namdtools.pme.get_pme_size.doctree +0 -0
  10. namdtools-0.4.4.dev0/docs/build/doctrees/api/generated/namdtools.read.read_log.doctree +0 -0
  11. namdtools-0.4.4.dev0/docs/build/doctrees/api/generated/namdtools.read.scan_log.doctree +0 -0
  12. namdtools-0.4.4.dev0/docs/build/doctrees/api/pme.doctree +0 -0
  13. namdtools-0.4.4.dev0/docs/build/doctrees/api/read.doctree +0 -0
  14. namdtools-0.4.4.dev0/docs/build/doctrees/api.doctree +0 -0
  15. namdtools-0.4.4.dev0/docs/build/doctrees/environment.pickle +0 -0
  16. namdtools-0.4.4.dev0/docs/build/doctrees/index.doctree +0 -0
  17. namdtools-0.4.4.dev0/docs/build/html/.buildinfo +4 -0
  18. namdtools-0.4.4.dev0/docs/build/html/.nojekyll +0 -0
  19. namdtools-0.4.4.dev0/docs/build/html/_modules/index.html +72 -0
  20. namdtools-0.4.4.dev0/docs/build/html/_modules/namdtools/pme.html +114 -0
  21. namdtools-0.4.4.dev0/docs/build/html/_modules/namdtools/read.html +151 -0
  22. namdtools-0.4.4.dev0/docs/build/html/_sources/api/generated/namdtools.pme.get_pme_size.rst.txt +6 -0
  23. namdtools-0.4.4.dev0/docs/build/html/_sources/api/generated/namdtools.read.read_log.rst.txt +6 -0
  24. namdtools-0.4.4.dev0/docs/build/html/_sources/api/generated/namdtools.read.scan_log.rst.txt +6 -0
  25. namdtools-0.4.4.dev0/docs/build/html/_sources/api/pme.rst.txt +12 -0
  26. namdtools-0.4.4.dev0/docs/build/html/_sources/api/read.rst.txt +13 -0
  27. namdtools-0.4.4.dev0/docs/build/html/_sources/api.rst.txt +9 -0
  28. namdtools-0.4.4.dev0/docs/build/html/_sources/index.rst.txt +14 -0
  29. namdtools-0.4.4.dev0/docs/build/html/_static/base-stemmer.js +476 -0
  30. namdtools-0.4.4.dev0/docs/build/html/_static/basic.css +906 -0
  31. namdtools-0.4.4.dev0/docs/build/html/_static/doctools.js +150 -0
  32. namdtools-0.4.4.dev0/docs/build/html/_static/documentation_options.js +13 -0
  33. namdtools-0.4.4.dev0/docs/build/html/_static/english-stemmer.js +1066 -0
  34. namdtools-0.4.4.dev0/docs/build/html/_static/file.png +0 -0
  35. namdtools-0.4.4.dev0/docs/build/html/_static/language_data.js +13 -0
  36. namdtools-0.4.4.dev0/docs/build/html/_static/minus.png +0 -0
  37. namdtools-0.4.4.dev0/docs/build/html/_static/nature.css +245 -0
  38. namdtools-0.4.4.dev0/docs/build/html/_static/plus.png +0 -0
  39. namdtools-0.4.4.dev0/docs/build/html/_static/pygments.css +84 -0
  40. namdtools-0.4.4.dev0/docs/build/html/_static/searchtools.js +693 -0
  41. namdtools-0.4.4.dev0/docs/build/html/_static/sphinx_highlight.js +159 -0
  42. namdtools-0.4.4.dev0/docs/build/html/api/generated/namdtools.pme.get_pme_size.html +136 -0
  43. namdtools-0.4.4.dev0/docs/build/html/api/generated/namdtools.read.read_log.html +123 -0
  44. namdtools-0.4.4.dev0/docs/build/html/api/generated/namdtools.read.scan_log.html +123 -0
  45. namdtools-0.4.4.dev0/docs/build/html/api/pme.html +126 -0
  46. namdtools-0.4.4.dev0/docs/build/html/api/read.html +129 -0
  47. namdtools-0.4.4.dev0/docs/build/html/api.html +110 -0
  48. namdtools-0.4.4.dev0/docs/build/html/genindex.html +102 -0
  49. namdtools-0.4.4.dev0/docs/build/html/index.html +112 -0
  50. namdtools-0.4.4.dev0/docs/build/html/objects.inv +0 -0
  51. namdtools-0.4.4.dev0/docs/build/html/search.html +92 -0
  52. namdtools-0.4.4.dev0/docs/build/html/searchindex.js +1 -0
  53. namdtools-0.4.4.dev0/docs/index.html +11 -0
  54. namdtools-0.4.4.dev0/docs/make.bat +35 -0
  55. namdtools-0.4.4.dev0/docs/source/_templates/autosummary/base.rst +5 -0
  56. namdtools-0.4.4.dev0/docs/source/_templates/autosummary/class.rst +10 -0
  57. namdtools-0.4.4.dev0/docs/source/_templates/autosummary/module.rst +30 -0
  58. namdtools-0.4.4.dev0/docs/source/api/generated/namdtools.pme.get_pme_size.rst +6 -0
  59. namdtools-0.4.4.dev0/docs/source/api/generated/namdtools.read.read_log.rst +6 -0
  60. namdtools-0.4.4.dev0/docs/source/api/generated/namdtools.read.scan_log.rst +6 -0
  61. namdtools-0.4.4.dev0/docs/source/api/pme.rst +12 -0
  62. namdtools-0.4.4.dev0/docs/source/api/read.rst +13 -0
  63. namdtools-0.4.4.dev0/docs/source/api.rst +9 -0
  64. namdtools-0.4.4.dev0/docs/source/conf.py +64 -0
  65. namdtools-0.4.4.dev0/docs/source/index.rst +14 -0
  66. namdtools-0.4.4.dev0/examples/pme_grid_size.py +15 -0
  67. namdtools-0.4.4.dev0/pyproject.toml +29 -0
  68. namdtools-0.4.4.dev0/scripts/deploy.sh +3 -0
  69. namdtools-0.4.4.dev0/scripts/docs.sh +3 -0
  70. namdtools-0.4.4.dev0/scripts/pypi.sh +17 -0
  71. namdtools-0.4.4.dev0/scripts/tag.sh +33 -0
  72. namdtools-0.4.4.dev0/setup.cfg +4 -0
  73. namdtools-0.4.4.dev0/src/namdtools/.DS_Store +0 -0
  74. {namdtools-0.4.2 → namdtools-0.4.4.dev0/src}/namdtools/__init__.py +3 -3
  75. namdtools-0.4.4.dev0/src/namdtools/_version.py +24 -0
  76. {namdtools-0.4.2 → namdtools-0.4.4.dev0/src}/namdtools/pme.py +0 -4
  77. namdtools-0.4.4.dev0/src/namdtools/read.py +73 -0
  78. namdtools-0.4.4.dev0/src/namdtools.egg-info/PKG-INFO +47 -0
  79. namdtools-0.4.4.dev0/src/namdtools.egg-info/SOURCES.txt +87 -0
  80. namdtools-0.4.4.dev0/src/namdtools.egg-info/requires.txt +12 -0
  81. namdtools-0.4.4.dev0/src/namdtools.egg-info/scm_file_list.json +89 -0
  82. namdtools-0.4.4.dev0/src/namdtools.egg-info/scm_version.json +8 -0
  83. namdtools-0.4.4.dev0/tests/fixtures/sample_16field.log +3 -0
  84. namdtools-0.4.4.dev0/tests/fixtures/sample_21field.log +3 -0
  85. namdtools-0.4.4.dev0/tests/fixtures/sample_bad_field_count.log +2 -0
  86. namdtools-0.4.4.dev0/tests/test_pme.py +38 -0
  87. namdtools-0.4.4.dev0/tests/test_read.py +94 -0
  88. namdtools-0.4.2/PKG-INFO +0 -42
  89. namdtools-0.4.2/README.rst +0 -26
  90. namdtools-0.4.2/namdtools/_version.py +0 -21
  91. namdtools-0.4.2/namdtools/read.py +0 -63
  92. namdtools-0.4.2/namdtools.egg-info/PKG-INFO +0 -42
  93. namdtools-0.4.2/namdtools.egg-info/SOURCES.txt +0 -14
  94. namdtools-0.4.2/namdtools.egg-info/requires.txt +0 -2
  95. namdtools-0.4.2/namdtools.egg-info/zip-safe +0 -1
  96. namdtools-0.4.2/setup.cfg +0 -12
  97. namdtools-0.4.2/setup.py +0 -32
  98. namdtools-0.4.2/versioneer.py +0 -2205
  99. {namdtools-0.4.2 → namdtools-0.4.4.dev0/src}/namdtools.egg-info/dependency_links.txt +0 -0
  100. {namdtools-0.4.2 → namdtools-0.4.4.dev0/src}/namdtools.egg-info/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ namdtools/_version.py export-subst
@@ -0,0 +1,30 @@
1
+ name: Tests
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ pytest:
11
+ runs-on: ubuntu-latest
12
+ strategy:
13
+ matrix:
14
+ python-version: ["3.9", "3.11", "3.12"]
15
+
16
+ steps:
17
+ - uses: actions/checkout@v4
18
+ with:
19
+ fetch-depth: 0
20
+
21
+ - name: Set up Python ${{ matrix.python-version }}
22
+ uses: actions/setup-python@v5
23
+ with:
24
+ python-version: ${{ matrix.python-version }}
25
+
26
+ - name: Install namdtools
27
+ run: pip install -e ".[dev]"
28
+
29
+ - name: Run tests
30
+ run: pytest tests/ -v
@@ -0,0 +1,9 @@
1
+ /build/
2
+ /dist/
3
+ .hypothesis/
4
+ .hypothesis/*
5
+ /.idea/
6
+ /namdtools.egg-info/
7
+ __pycache__/
8
+ __pycache__/*
9
+ /_scripts/
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Lockhart Lab
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,47 @@
1
+ Metadata-Version: 2.4
2
+ Name: namdtools
3
+ Version: 0.4.4.dev0
4
+ Summary: Python tools for NAMD
5
+ Author-email: "C. Lockhart" <clockha2@gmu.edu>
6
+ Requires-Python: >=3.9
7
+ Description-Content-Type: text/markdown
8
+ License-File: LICENSE
9
+ Requires-Dist: fpathlib>=0.1.3
10
+ Requires-Dist: numpy
11
+ Requires-Dist: pandas
12
+ Requires-Dist: polars
13
+ Requires-Dist: sympy
14
+ Provides-Extra: dev
15
+ Requires-Dist: pytest; extra == "dev"
16
+ Requires-Dist: black; extra == "dev"
17
+ Requires-Dist: sphinx; extra == "dev"
18
+ Requires-Dist: sphinx-copybutton; extra == "dev"
19
+ Requires-Dist: twine; extra == "dev"
20
+ Dynamic: license-file
21
+
22
+
23
+ a Python interface to NAMD
24
+ http://www.ks.uiuc.edu/Research/namd/
25
+
26
+ <!--*master:*-->
27
+ <span style="white-space: nowrap;">
28
+ <a href="https://pypi.org/project/namdtools/"><img src="https://img.shields.io/pypi/v/namdtools" /></a>
29
+ <a href="https://travis-ci.com/github/LockhartLab/namdtools"><img src="https://img.shields.io/travis/com/lockhartlab/namdtools/master" /></a>
30
+ </span>
31
+
32
+ <hr>
33
+
34
+ note that this package is **still in development**
35
+ at this stage, I'm only building thing as they come to mind
36
+ version 1.0 will be the first major release
37
+ until then, consider this code heavily volatile
38
+
39
+ yet, install simply by calling ```pip install namdtools```
40
+
41
+ <hr>
42
+
43
+ Related Packages
44
+ ----------------
45
+ https://github.com/sunhwan/NAMD-replica
46
+ https://github.com/bio-phys/MDBenchmark
47
+ https://github.com/radakb/pynamd/
@@ -0,0 +1,26 @@
1
+
2
+ a Python interface to NAMD
3
+ http://www.ks.uiuc.edu/Research/namd/
4
+
5
+ <!--*master:*-->
6
+ <span style="white-space: nowrap;">
7
+ <a href="https://pypi.org/project/namdtools/"><img src="https://img.shields.io/pypi/v/namdtools" /></a>
8
+ <a href="https://travis-ci.com/github/LockhartLab/namdtools"><img src="https://img.shields.io/travis/com/lockhartlab/namdtools/master" /></a>
9
+ </span>
10
+
11
+ <hr>
12
+
13
+ note that this package is **still in development**
14
+ at this stage, I'm only building thing as they come to mind
15
+ version 1.0 will be the first major release
16
+ until then, consider this code heavily volatile
17
+
18
+ yet, install simply by calling ```pip install namdtools```
19
+
20
+ <hr>
21
+
22
+ Related Packages
23
+ ----------------
24
+ https://github.com/sunhwan/NAMD-replica
25
+ https://github.com/bio-phys/MDBenchmark
26
+ https://github.com/radakb/pynamd/
File without changes
@@ -0,0 +1,20 @@
1
+ # Minimal makefile for Sphinx documentation
2
+ #
3
+
4
+ # You can set these variables from the command line, and also
5
+ # from the environment for the first two.
6
+ SPHINXOPTS ?=
7
+ SPHINXBUILD ?= sphinx-build
8
+ SOURCEDIR = source
9
+ BUILDDIR = build
10
+
11
+ # Put it first so that "make" without argument is like "make help".
12
+ help:
13
+ @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14
+
15
+ .PHONY: help Makefile
16
+
17
+ # Catch-all target: route all unknown targets to Sphinx using the new
18
+ # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19
+ %: Makefile
20
+ @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@@ -0,0 +1,4 @@
1
+ # Sphinx build info version 1
2
+ # This file records the configuration used when building these files. When it is not found, a full rebuild will be done.
3
+ config: 49fbd4360841f4223712a8c96171aed4
4
+ tags: 645f666f9bcd5a90fca523b33c5a78b7
File without changes
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html lang="en" data-content_root="../">
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>Overview: module code &#8212; namdtools 0.4.3.dev4 documentation</title>
8
+ <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=8f2a1f02" />
9
+ <link rel="stylesheet" type="text/css" href="../_static/nature.css?v=279e0f84" />
10
+ <script src="../_static/documentation_options.js?v=44170b8a"></script>
11
+ <script src="../_static/doctools.js?v=fd6eb6e6"></script>
12
+ <script src="../_static/sphinx_highlight.js?v=6ffebe34"></script>
13
+ <link rel="index" title="Index" href="../genindex.html" />
14
+ <link rel="search" title="Search" href="../search.html" />
15
+ </head><body>
16
+ <div class="related" role="navigation" aria-label="Related">
17
+ <h3>Navigation</h3>
18
+ <ul>
19
+ <li class="right" style="margin-right: 10px">
20
+ <a href="../genindex.html" title="General Index"
21
+ accesskey="I">index</a></li>
22
+ <li class="nav-item nav-item-0"><a href="../index.html">namdtools 0.4.3.dev4 documentation</a> &#187;</li>
23
+ <li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
24
+ </ul>
25
+ </div>
26
+
27
+ <div class="document">
28
+ <div class="documentwrapper">
29
+ <div class="bodywrapper">
30
+ <div class="body" role="main">
31
+
32
+ <h1>All modules for which code is available</h1>
33
+ <ul><li><a href="namdtools/pme.html">namdtools.pme</a></li>
34
+ <li><a href="namdtools/read.html">namdtools.read</a></li>
35
+ </ul>
36
+
37
+ <div class="clearer"></div>
38
+ </div>
39
+ </div>
40
+ </div>
41
+ <div class="sphinxsidebar" role="navigation" aria-label="Main">
42
+ <div class="sphinxsidebarwrapper">
43
+ <search id="searchbox" style="display: none" role="search">
44
+ <h3 id="searchlabel">Quick search</h3>
45
+ <div class="searchformwrapper">
46
+ <form class="search" action="../search.html" method="get">
47
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
48
+ <input type="submit" value="Go" />
49
+ </form>
50
+ </div>
51
+ </search>
52
+ <script>document.getElementById('searchbox').style.display = "block"</script>
53
+ </div>
54
+ </div>
55
+ <div class="clearer"></div>
56
+ </div>
57
+ <div class="related" role="navigation" aria-label="Related">
58
+ <h3>Navigation</h3>
59
+ <ul>
60
+ <li class="right" style="margin-right: 10px">
61
+ <a href="../genindex.html" title="General Index"
62
+ >index</a></li>
63
+ <li class="nav-item nav-item-0"><a href="../index.html">namdtools 0.4.3.dev4 documentation</a> &#187;</li>
64
+ <li class="nav-item nav-item-this"><a href="">Overview: module code</a></li>
65
+ </ul>
66
+ </div>
67
+ <div class="footer" role="contentinfo">
68
+ &#169; Copyright 2020, Lockhart Lab.
69
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 9.1.0.
70
+ </div>
71
+ </body>
72
+ </html>
@@ -0,0 +1,114 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html lang="en" data-content_root="../../">
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>namdtools.pme &#8212; namdtools 0.4.3.dev4 documentation</title>
8
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=8f2a1f02" />
9
+ <link rel="stylesheet" type="text/css" href="../../_static/nature.css?v=279e0f84" />
10
+ <script src="../../_static/documentation_options.js?v=44170b8a"></script>
11
+ <script src="../../_static/doctools.js?v=fd6eb6e6"></script>
12
+ <script src="../../_static/sphinx_highlight.js?v=6ffebe34"></script>
13
+ <link rel="index" title="Index" href="../../genindex.html" />
14
+ <link rel="search" title="Search" href="../../search.html" />
15
+ </head><body>
16
+ <div class="related" role="navigation" aria-label="Related">
17
+ <h3>Navigation</h3>
18
+ <ul>
19
+ <li class="right" style="margin-right: 10px">
20
+ <a href="../../genindex.html" title="General Index"
21
+ accesskey="I">index</a></li>
22
+ <li class="nav-item nav-item-0"><a href="../../index.html">namdtools 0.4.3.dev4 documentation</a> &#187;</li>
23
+ <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
24
+ <li class="nav-item nav-item-this"><a href="">namdtools.pme</a></li>
25
+ </ul>
26
+ </div>
27
+
28
+ <div class="document">
29
+ <div class="documentwrapper">
30
+ <div class="bodywrapper">
31
+ <div class="body" role="main">
32
+
33
+ <h1>Source code for namdtools.pme</h1><div class="highlight"><pre>
34
+ <span></span><span class="kn">import</span><span class="w"> </span><span class="nn">numpy</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">np</span>
35
+
36
+
37
+ <div class="viewcode-block" id="get_pme_size">
38
+ <a class="viewcode-back" href="../../api/generated/namdtools.pme.get_pme_size.html#namdtools.pme.get_pme_size">[docs]</a>
39
+ <span class="k">def</span><span class="w"> </span><span class="nf">get_pme_size</span><span class="p">(</span><span class="n">a</span><span class="p">):</span>
40
+ <span class="w"> </span><span class="sd">"""</span>
41
+ <span class="sd"> Given a box length, figure out the grid size for PME. We are looking for the PME size that's ~1 grid spacing, while</span>
42
+ <span class="sd"> with only small prime factors 2, 3, and 5.</span>
43
+
44
+ <span class="sd"> Parameters</span>
45
+ <span class="sd"> ----------</span>
46
+ <span class="sd"> a : numeric</span>
47
+ <span class="sd"> Size of box length.</span>
48
+
49
+ <span class="sd"> Returns</span>
50
+ <span class="sd"> -------</span>
51
+ <span class="sd"> int</span>
52
+ <span class="sd"> Size of PME grid length.</span>
53
+ <span class="sd"> """</span>
54
+
55
+ <span class="c1"># To reduce runtime, import this here</span>
56
+ <span class="kn">from</span><span class="w"> </span><span class="nn">sympy.ntheory</span><span class="w"> </span><span class="kn">import</span> <span class="n">factorint</span>
57
+
58
+ <span class="c1"># If a is a decimal, round up</span>
59
+ <span class="n">a</span> <span class="o">=</span> <span class="nb">int</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">ceil</span><span class="p">(</span><span class="n">a</span><span class="p">))</span>
60
+
61
+ <span class="c1"># We want to find larger number that has only factors 2, 3, and 5</span>
62
+ <span class="c1"># noinspection PyShadowingNames</span>
63
+ <span class="k">def</span><span class="w"> </span><span class="nf">_has_only_factors</span><span class="p">(</span><span class="n">a</span><span class="p">):</span>
64
+ <span class="n">factors</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">array</span><span class="p">(</span><span class="nb">list</span><span class="p">(</span><span class="n">factorint</span><span class="p">(</span><span class="n">a</span><span class="p">)</span><span class="o">.</span><span class="n">keys</span><span class="p">()))</span>
65
+ <span class="k">for</span> <span class="n">factor</span> <span class="ow">in</span> <span class="p">[</span><span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">,</span> <span class="mi">5</span><span class="p">]:</span>
66
+ <span class="n">factors</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">delete</span><span class="p">(</span><span class="n">factors</span><span class="p">,</span> <span class="n">np</span><span class="o">.</span><span class="n">where</span><span class="p">(</span><span class="n">factors</span> <span class="o">==</span> <span class="n">factor</span><span class="p">))</span>
67
+ <span class="k">return</span> <span class="nb">len</span><span class="p">(</span><span class="n">factors</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span>
68
+
69
+ <span class="c1"># Keep on increasing a until we find the right number</span>
70
+ <span class="k">while</span> <span class="ow">not</span> <span class="n">_has_only_factors</span><span class="p">(</span><span class="n">a</span><span class="p">):</span>
71
+ <span class="n">a</span> <span class="o">+=</span> <span class="mi">1</span>
72
+
73
+ <span class="c1"># Return</span>
74
+ <span class="k">return</span> <span class="n">a</span></div>
75
+
76
+ </pre></div>
77
+
78
+ <div class="clearer"></div>
79
+ </div>
80
+ </div>
81
+ </div>
82
+ <div class="sphinxsidebar" role="navigation" aria-label="Main">
83
+ <div class="sphinxsidebarwrapper">
84
+ <search id="searchbox" style="display: none" role="search">
85
+ <h3 id="searchlabel">Quick search</h3>
86
+ <div class="searchformwrapper">
87
+ <form class="search" action="../../search.html" method="get">
88
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
89
+ <input type="submit" value="Go" />
90
+ </form>
91
+ </div>
92
+ </search>
93
+ <script>document.getElementById('searchbox').style.display = "block"</script>
94
+ </div>
95
+ </div>
96
+ <div class="clearer"></div>
97
+ </div>
98
+ <div class="related" role="navigation" aria-label="Related">
99
+ <h3>Navigation</h3>
100
+ <ul>
101
+ <li class="right" style="margin-right: 10px">
102
+ <a href="../../genindex.html" title="General Index"
103
+ >index</a></li>
104
+ <li class="nav-item nav-item-0"><a href="../../index.html">namdtools 0.4.3.dev4 documentation</a> &#187;</li>
105
+ <li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
106
+ <li class="nav-item nav-item-this"><a href="">namdtools.pme</a></li>
107
+ </ul>
108
+ </div>
109
+ <div class="footer" role="contentinfo">
110
+ &#169; Copyright 2020, Lockhart Lab.
111
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 9.1.0.
112
+ </div>
113
+ </body>
114
+ </html>
@@ -0,0 +1,151 @@
1
+ <!DOCTYPE html>
2
+
3
+ <html lang="en" data-content_root="../../">
4
+ <head>
5
+ <meta charset="utf-8" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>namdtools.read &#8212; namdtools 0.4.3.dev4 documentation</title>
8
+ <link rel="stylesheet" type="text/css" href="../../_static/pygments.css?v=8f2a1f02" />
9
+ <link rel="stylesheet" type="text/css" href="../../_static/nature.css?v=279e0f84" />
10
+ <script src="../../_static/documentation_options.js?v=44170b8a"></script>
11
+ <script src="../../_static/doctools.js?v=fd6eb6e6"></script>
12
+ <script src="../../_static/sphinx_highlight.js?v=6ffebe34"></script>
13
+ <link rel="index" title="Index" href="../../genindex.html" />
14
+ <link rel="search" title="Search" href="../../search.html" />
15
+ </head><body>
16
+ <div class="related" role="navigation" aria-label="Related">
17
+ <h3>Navigation</h3>
18
+ <ul>
19
+ <li class="right" style="margin-right: 10px">
20
+ <a href="../../genindex.html" title="General Index"
21
+ accesskey="I">index</a></li>
22
+ <li class="nav-item nav-item-0"><a href="../../index.html">namdtools 0.4.3.dev4 documentation</a> &#187;</li>
23
+ <li class="nav-item nav-item-1"><a href="../index.html" accesskey="U">Module code</a> &#187;</li>
24
+ <li class="nav-item nav-item-this"><a href="">namdtools.read</a></li>
25
+ </ul>
26
+ </div>
27
+
28
+ <div class="document">
29
+ <div class="documentwrapper">
30
+ <div class="bodywrapper">
31
+ <div class="body" role="main">
32
+
33
+ <h1>Source code for namdtools.read</h1><div class="highlight"><pre>
34
+ <span></span><span class="kn">from</span><span class="w"> </span><span class="nn">fpathlib</span><span class="w"> </span><span class="kn">import</span> <span class="n">ExpandedFPath</span>
35
+ <span class="kn">import</span><span class="w"> </span><span class="nn">fpathlib.ext.polars</span><span class="w"> </span><span class="k">as</span><span class="w"> </span><span class="nn">pl</span>
36
+
37
+
38
+ <span class="c1"># Read NAMD log file</span>
39
+ <div class="viewcode-block" id="read_log">
40
+ <a class="viewcode-back" href="../../api/generated/namdtools.read.read_log.html#namdtools.read.read_log">[docs]</a>
41
+ <span class="k">def</span><span class="w"> </span><span class="nf">read_log</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">drop_etitle</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
42
+ <span class="k">return</span> <span class="n">scan_log</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">drop_etitle</span><span class="p">)</span><span class="o">.</span><span class="n">collect</span><span class="p">()</span></div>
43
+
44
+
45
+ <span class="c1"># Scan NAMD log file</span>
46
+ <span class="c1"># TODO collect(engine="streaming") is necessary when there are many globbed filed in source</span>
47
+ <span class="c1"># this could be fixed in the future.</span>
48
+ <div class="viewcode-block" id="scan_log">
49
+ <a class="viewcode-back" href="../../api/generated/namdtools.read.scan_log.html#namdtools.read.scan_log">[docs]</a>
50
+ <span class="k">def</span><span class="w"> </span><span class="nf">scan_log</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">drop_etitle</span><span class="o">=</span><span class="kc">True</span><span class="p">):</span>
51
+ <span class="w"> </span><span class="sa">r</span><span class="sd">"""</span>
52
+ <span class="sd"> Scan NAMD log file.</span>
53
+
54
+ <span class="sd"> Parameters</span>
55
+ <span class="sd"> ----------</span>
56
+ <span class="sd"> source : :obj:`str`</span>
57
+ <span class="sd"> Name of NAMD log file. </span>
58
+ <span class="sd"> drop_etitle : :obj:`bool`</span>
59
+ <span class="sd"> Drop the first column of the log file, which is the title of the energy term. (Default: True).</span>
60
+
61
+ <span class="sd"> Returns</span>
62
+ <span class="sd"> -------</span>
63
+ <span class="sd"> DataFrame</span>
64
+ <span class="sd"> """</span>
65
+
66
+ <span class="c1"># Read in logs in `source`</span>
67
+ <span class="n">lf</span> <span class="o">=</span> <span class="n">pl</span><span class="o">.</span><span class="n">scan_txt</span><span class="p">(</span>
68
+ <span class="n">source</span><span class="p">,</span>
69
+ <span class="n">separator</span><span class="o">=</span><span class="sa">r</span><span class="s2">"\s+"</span><span class="p">,</span>
70
+ <span class="n">filter_expr</span><span class="o">=</span><span class="n">pl</span><span class="o">.</span><span class="n">col</span><span class="p">(</span><span class="s2">"line"</span><span class="p">)</span><span class="o">.</span><span class="n">str</span><span class="o">.</span><span class="n">starts_with</span><span class="p">(</span><span class="s2">"ENERGY"</span><span class="p">),</span>
71
+ <span class="p">)</span>
72
+
73
+ <span class="c1"># Change fields to appropriate header values</span>
74
+ <span class="n">columns</span> <span class="o">=</span> <span class="p">[</span>
75
+ <span class="s2">"etitle"</span><span class="p">,</span>
76
+ <span class="s2">"ts"</span><span class="p">,</span>
77
+ <span class="s2">"bond"</span><span class="p">,</span>
78
+ <span class="s2">"angle"</span><span class="p">,</span>
79
+ <span class="s2">"dihed"</span><span class="p">,</span>
80
+ <span class="s2">"imprp"</span><span class="p">,</span>
81
+ <span class="s2">"elect"</span><span class="p">,</span>
82
+ <span class="s2">"vdw"</span><span class="p">,</span>
83
+ <span class="s2">"boundary"</span><span class="p">,</span>
84
+ <span class="s2">"misc"</span><span class="p">,</span>
85
+ <span class="s2">"kinetic"</span><span class="p">,</span>
86
+ <span class="s2">"total"</span><span class="p">,</span>
87
+ <span class="s2">"temp"</span><span class="p">,</span>
88
+ <span class="s2">"potential"</span><span class="p">,</span>
89
+ <span class="s2">"total3"</span><span class="p">,</span>
90
+ <span class="s2">"tempavg"</span><span class="p">,</span>
91
+ <span class="s2">"pressure"</span><span class="p">,</span>
92
+ <span class="s2">"gpressure"</span><span class="p">,</span>
93
+ <span class="s2">"volume"</span><span class="p">,</span>
94
+ <span class="s2">"pressavg"</span><span class="p">,</span>
95
+ <span class="s2">"gpressavg"</span><span class="p">,</span>
96
+ <span class="p">]</span>
97
+ <span class="n">fields</span> <span class="o">=</span> <span class="n">lf</span><span class="o">.</span><span class="n">head</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">.</span><span class="n">select</span><span class="p">(</span><span class="n">pl</span><span class="o">.</span><span class="n">col</span><span class="p">(</span><span class="s2">"^field_.*$"</span><span class="p">))</span><span class="o">.</span><span class="n">collect</span><span class="p">(</span><span class="n">engine</span><span class="o">=</span><span class="s2">"streaming"</span><span class="p">)</span><span class="o">.</span><span class="n">schema</span><span class="o">.</span><span class="n">names</span><span class="p">()</span>
98
+ <span class="n">n_fields</span> <span class="o">=</span> <span class="nb">len</span><span class="p">(</span><span class="n">fields</span><span class="p">)</span>
99
+ <span class="k">if</span> <span class="n">n_fields</span> <span class="o">==</span> <span class="mi">16</span><span class="p">:</span>
100
+ <span class="n">columns</span> <span class="o">=</span> <span class="n">columns</span><span class="p">[:</span><span class="mi">16</span><span class="p">]</span>
101
+ <span class="k">elif</span> <span class="n">n_fields</span> <span class="o">!=</span> <span class="mi">21</span><span class="p">:</span>
102
+ <span class="n">msg</span> <span class="o">=</span> <span class="sa">f</span><span class="s2">"unexpected number of ENERGY fields: </span><span class="si">{</span><span class="n">n_fields</span><span class="si">}</span><span class="s2"> (expected 16 or 21)"</span>
103
+ <span class="k">raise</span> <span class="ne">ValueError</span><span class="p">(</span><span class="n">msg</span><span class="p">)</span>
104
+ <span class="n">lf</span> <span class="o">=</span> <span class="n">lf</span><span class="o">.</span><span class="n">rename</span><span class="p">(</span><span class="nb">dict</span><span class="p">(</span><span class="nb">zip</span><span class="p">(</span><span class="n">fields</span><span class="p">,</span> <span class="n">columns</span><span class="p">)))</span>
105
+
106
+ <span class="c1"># Drop etitle?</span>
107
+ <span class="k">if</span> <span class="n">drop_etitle</span><span class="p">:</span>
108
+ <span class="n">lf</span> <span class="o">=</span> <span class="n">lf</span><span class="o">.</span><span class="n">drop</span><span class="p">(</span><span class="s2">"etitle"</span><span class="p">)</span>
109
+
110
+ <span class="c1"># Return</span>
111
+ <span class="k">return</span> <span class="n">lf</span></div>
112
+
113
+ </pre></div>
114
+
115
+ <div class="clearer"></div>
116
+ </div>
117
+ </div>
118
+ </div>
119
+ <div class="sphinxsidebar" role="navigation" aria-label="Main">
120
+ <div class="sphinxsidebarwrapper">
121
+ <search id="searchbox" style="display: none" role="search">
122
+ <h3 id="searchlabel">Quick search</h3>
123
+ <div class="searchformwrapper">
124
+ <form class="search" action="../../search.html" method="get">
125
+ <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
126
+ <input type="submit" value="Go" />
127
+ </form>
128
+ </div>
129
+ </search>
130
+ <script>document.getElementById('searchbox').style.display = "block"</script>
131
+ </div>
132
+ </div>
133
+ <div class="clearer"></div>
134
+ </div>
135
+ <div class="related" role="navigation" aria-label="Related">
136
+ <h3>Navigation</h3>
137
+ <ul>
138
+ <li class="right" style="margin-right: 10px">
139
+ <a href="../../genindex.html" title="General Index"
140
+ >index</a></li>
141
+ <li class="nav-item nav-item-0"><a href="../../index.html">namdtools 0.4.3.dev4 documentation</a> &#187;</li>
142
+ <li class="nav-item nav-item-1"><a href="../index.html" >Module code</a> &#187;</li>
143
+ <li class="nav-item nav-item-this"><a href="">namdtools.read</a></li>
144
+ </ul>
145
+ </div>
146
+ <div class="footer" role="contentinfo">
147
+ &#169; Copyright 2020, Lockhart Lab.
148
+ Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 9.1.0.
149
+ </div>
150
+ </body>
151
+ </html>
@@ -0,0 +1,6 @@
1
+ namdtools.pme.get\_pme\_size
2
+ ============================
3
+
4
+ .. currentmodule:: namdtools.pme
5
+
6
+ .. autofunction:: get_pme_size
@@ -0,0 +1,6 @@
1
+ namdtools.read.read\_log
2
+ ========================
3
+
4
+ .. currentmodule:: namdtools.read
5
+
6
+ .. autofunction:: read_log
@@ -0,0 +1,6 @@
1
+ namdtools.read.scan\_log
2
+ ========================
3
+
4
+ .. currentmodule:: namdtools.read
5
+
6
+ .. autofunction:: scan_log
@@ -0,0 +1,12 @@
1
+ namdtools.pme
2
+ ==============
3
+
4
+ .. currentmodule:: namdtools.pme
5
+
6
+ Functions
7
+ ~~~~~~~~~
8
+
9
+ .. autosummary::
10
+ :toctree: generated
11
+
12
+ get_pme_size
@@ -0,0 +1,13 @@
1
+ namdtools.read
2
+ ==============
3
+
4
+ .. currentmodule:: namdtools.read
5
+
6
+ Functions
7
+ ~~~~~~~~~
8
+
9
+ .. autosummary::
10
+ :toctree: generated
11
+
12
+ read_log
13
+ scan_log
@@ -0,0 +1,9 @@
1
+
2
+ API Reference
3
+ =============
4
+
5
+ .. toctree::
6
+ :maxdepth: 1
7
+
8
+ api/pme
9
+ api/read
@@ -0,0 +1,14 @@
1
+
2
+ namdtools
3
+ =========
4
+
5
+ .. toctree::
6
+ :maxdepth: 1
7
+
8
+ api
9
+
10
+ Indices and tables
11
+ ==================
12
+
13
+ * :ref:`genindex`
14
+ * :ref:`search`