qdiffusivity 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.
- qdiffusivity-0.1.0/AUTHORS.md +23 -0
- qdiffusivity-0.1.0/CHANGELOG.md +37 -0
- qdiffusivity-0.1.0/CODE_OF_CONDUCT.md +136 -0
- qdiffusivity-0.1.0/LICENSE +21 -0
- qdiffusivity-0.1.0/MANIFEST.in +6 -0
- qdiffusivity-0.1.0/PKG-INFO +123 -0
- qdiffusivity-0.1.0/README.md +100 -0
- qdiffusivity-0.1.0/pyproject.toml +97 -0
- qdiffusivity-0.1.0/qdiffusivity/__init__.py +51 -0
- qdiffusivity-0.1.0/qdiffusivity/binned.py +614 -0
- qdiffusivity-0.1.0/qdiffusivity/data/README.md +17 -0
- qdiffusivity-0.1.0/qdiffusivity/data/__init__.py +0 -0
- qdiffusivity-0.1.0/qdiffusivity/data/files.py +19 -0
- qdiffusivity-0.1.0/qdiffusivity/data/mda.txt +45 -0
- qdiffusivity-0.1.0/qdiffusivity/density.py +489 -0
- qdiffusivity-0.1.0/qdiffusivity/diffusivity.py +750 -0
- qdiffusivity-0.1.0/qdiffusivity/example_api.py +3 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/__init__.py +0 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/conftest.py +82 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/test_binned.py +163 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/test_density.py +123 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/test_diffusivity.py +227 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/test_qdiffusivity.py +8 -0
- qdiffusivity-0.1.0/qdiffusivity/tests/utils.py +77 -0
- qdiffusivity-0.1.0/qdiffusivity.egg-info/PKG-INFO +123 -0
- qdiffusivity-0.1.0/qdiffusivity.egg-info/SOURCES.txt +28 -0
- qdiffusivity-0.1.0/qdiffusivity.egg-info/dependency_links.txt +1 -0
- qdiffusivity-0.1.0/qdiffusivity.egg-info/requires.txt +10 -0
- qdiffusivity-0.1.0/qdiffusivity.egg-info/top_level.txt +1 -0
- qdiffusivity-0.1.0/setup.cfg +4 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# Authors
|
|
2
|
+
|
|
3
|
+
qdiffusivity was created by Shern Ren Tee in 2026.
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
All contributing authors are listed in this file below.
|
|
7
|
+
The repository history at https://github.com/srtee/qdiffusivity
|
|
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
|
+
**2026**
|
|
23
|
+
- Shern Ren Tee <@srtee>
|
|
@@ -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 qdiffusivity *Code of Conduct* sets the rules for the behavior of
|
|
4
|
+
every member in the qdiffusivity 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
|
+
qdiffusivity 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 qdiffusivity 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 qdiffusivity is no exception. It is important
|
|
85
|
+
that we resolve disagreements and differing views constructively. Remember
|
|
86
|
+
that we’re different. The strength of qdiffusivity 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 'shernren@gmail.com'. 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 qdiffusivity.
|
|
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) 2026, Shern Ren Tee
|
|
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,123 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: qdiffusivity
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Quantile-based estimation of local diffusivities in molecular dynamics simulations of nanoconfined liquids
|
|
5
|
+
Author-email: Shern Ren Tee <shernren@gmail.com>
|
|
6
|
+
Maintainer-email: Shern Ren Tee <shernren@gmail.com>
|
|
7
|
+
License-Expression: MIT
|
|
8
|
+
Keywords: molecular simulations
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Requires-Python: >=3.9
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
License-File: AUTHORS.md
|
|
14
|
+
Requires-Dist: MDAnalysis>=2.0.0
|
|
15
|
+
Provides-Extra: test
|
|
16
|
+
Requires-Dist: pytest>=6.0; extra == "test"
|
|
17
|
+
Requires-Dist: pytest-xdist>=2.5; extra == "test"
|
|
18
|
+
Requires-Dist: pytest-cov>=3.0; extra == "test"
|
|
19
|
+
Provides-Extra: doc
|
|
20
|
+
Requires-Dist: sphinx; extra == "doc"
|
|
21
|
+
Requires-Dist: sphinx_rtd_theme; extra == "doc"
|
|
22
|
+
Dynamic: license-file
|
|
23
|
+
|
|
24
|
+
qdiffusivity
|
|
25
|
+
==============================
|
|
26
|
+
[//]: # (Badges)
|
|
27
|
+
|
|
28
|
+
| **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]|
|
|
29
|
+
| :----------------- | :------- |
|
|
30
|
+
| **Status** | [![GH Actions Status][badge_actions]][url_actions] [![codecov][badge_codecov]][url_codecov] |
|
|
31
|
+
| **Community** | [![License: MIT License][badge_license]][url_license] [![Powered by MDAnalysis][badge_mda]][url_mda]|
|
|
32
|
+
|
|
33
|
+
[badge_actions]: https://github.com/srtee/qdiffusivity/actions/workflows/gh-ci.yaml/badge.svg
|
|
34
|
+
[badge_codecov]: https://codecov.io/gh/srtee/qdiffusivity/branch/main/graph/badge.svg
|
|
35
|
+
[badge_commits_since]: https://img.shields.io/github/commits-since/srtee/qdiffusivity/latest
|
|
36
|
+
[badge_docs]: https://readthedocs.org/projects/qdiffusivity/badge/?version=latest
|
|
37
|
+
[badge_license]: https://img.shields.io/badge/License-MIT-yellow.svg
|
|
38
|
+
[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
|
|
39
|
+
[badge_release]: https://img.shields.io/github/release-pre/srtee/qdiffusivity.svg
|
|
40
|
+
[url_actions]: https://github.com/srtee/qdiffusivity/actions?query=branch%3Amain+workflow%3Agh-ci
|
|
41
|
+
[url_codecov]: https://codecov.io/gh/srtee/qdiffusivity/branch/main
|
|
42
|
+
[url_docs]: https://qdiffusivity.readthedocs.io/en/latest/?badge=latest
|
|
43
|
+
[url_latest_release]: https://github.com/srtee/qdiffusivity/releases
|
|
44
|
+
[url_license]: https://opensource.org/licenses/MIT
|
|
45
|
+
[url_mda]: https://www.mdanalysis.org
|
|
46
|
+
|
|
47
|
+
Quantile-based estimation of local diffusivities in molecular dynamics simulations of nanoconfined liquids
|
|
48
|
+
|
|
49
|
+
qdiffusivity is bound by a [Code of Conduct](https://github.com/srtee/qdiffusivity/blob/main/CODE_OF_CONDUCT.md).
|
|
50
|
+
|
|
51
|
+
### Installation
|
|
52
|
+
|
|
53
|
+
To build qdiffusivity from source,
|
|
54
|
+
we highly recommend using virtual environments.
|
|
55
|
+
If possible, we strongly recommend that you use
|
|
56
|
+
[Anaconda](https://docs.conda.io/en/latest/) as your package manager.
|
|
57
|
+
Below we provide instructions both for `conda` and
|
|
58
|
+
for `pip`.
|
|
59
|
+
|
|
60
|
+
#### With conda
|
|
61
|
+
|
|
62
|
+
Ensure that you have [conda](https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html) installed.
|
|
63
|
+
|
|
64
|
+
Create a virtual environment and activate it:
|
|
65
|
+
|
|
66
|
+
```
|
|
67
|
+
conda create --name qdiffusivity
|
|
68
|
+
conda activate qdiffusivity
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Install the development and documentation dependencies:
|
|
72
|
+
|
|
73
|
+
```
|
|
74
|
+
conda env update --name qdiffusivity --file devtools/conda-envs/test_env.yaml
|
|
75
|
+
conda env update --name qdiffusivity --file docs/requirements.yaml
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
Build this package from source:
|
|
79
|
+
|
|
80
|
+
```
|
|
81
|
+
pip install -e .
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
If you want to update your dependencies (which can be risky!), run:
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
conda update --all
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
And when you are finished, you can exit the virtual environment with:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
conda deactivate
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
#### With pip
|
|
97
|
+
|
|
98
|
+
To build the package from source, run:
|
|
99
|
+
|
|
100
|
+
```
|
|
101
|
+
pip install .
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
If you want to create a development environment, install
|
|
105
|
+
the dependencies required for tests and docs with:
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
pip install ".[test,doc]"
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Copyright
|
|
112
|
+
|
|
113
|
+
The qdiffusivity source code is hosted at https://github.com/srtee/qdiffusivity
|
|
114
|
+
and is available under the [MIT License](https://opensource.org/licenses/MIT) (see the file [LICENSE](https://github.com/srtee/qdiffusivity/blob/main/LICENSE)).
|
|
115
|
+
|
|
116
|
+
Copyright (c) 2026, Shern Ren Tee
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
#### Acknowledgements
|
|
120
|
+
|
|
121
|
+
Project based on the
|
|
122
|
+
[MDAnalysis Cookiecutter](https://github.com/MDAnalysis/cookiecutter-mda) version 0.1.
|
|
123
|
+
Please cite [MDAnalysis](https://github.com/MDAnalysis/mdanalysis#citation) when using qdiffusivity in published work.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
qdiffusivity
|
|
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: MIT License][badge_license]][url_license] [![Powered by MDAnalysis][badge_mda]][url_mda]|
|
|
9
|
+
|
|
10
|
+
[badge_actions]: https://github.com/srtee/qdiffusivity/actions/workflows/gh-ci.yaml/badge.svg
|
|
11
|
+
[badge_codecov]: https://codecov.io/gh/srtee/qdiffusivity/branch/main/graph/badge.svg
|
|
12
|
+
[badge_commits_since]: https://img.shields.io/github/commits-since/srtee/qdiffusivity/latest
|
|
13
|
+
[badge_docs]: https://readthedocs.org/projects/qdiffusivity/badge/?version=latest
|
|
14
|
+
[badge_license]: https://img.shields.io/badge/License-MIT-yellow.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/srtee/qdiffusivity.svg
|
|
17
|
+
[url_actions]: https://github.com/srtee/qdiffusivity/actions?query=branch%3Amain+workflow%3Agh-ci
|
|
18
|
+
[url_codecov]: https://codecov.io/gh/srtee/qdiffusivity/branch/main
|
|
19
|
+
[url_docs]: https://qdiffusivity.readthedocs.io/en/latest/?badge=latest
|
|
20
|
+
[url_latest_release]: https://github.com/srtee/qdiffusivity/releases
|
|
21
|
+
[url_license]: https://opensource.org/licenses/MIT
|
|
22
|
+
[url_mda]: https://www.mdanalysis.org
|
|
23
|
+
|
|
24
|
+
Quantile-based estimation of local diffusivities in molecular dynamics simulations of nanoconfined liquids
|
|
25
|
+
|
|
26
|
+
qdiffusivity is bound by a [Code of Conduct](https://github.com/srtee/qdiffusivity/blob/main/CODE_OF_CONDUCT.md).
|
|
27
|
+
|
|
28
|
+
### Installation
|
|
29
|
+
|
|
30
|
+
To build qdiffusivity 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 qdiffusivity
|
|
45
|
+
conda activate qdiffusivity
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Install the development and documentation dependencies:
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
conda env update --name qdiffusivity --file devtools/conda-envs/test_env.yaml
|
|
52
|
+
conda env update --name qdiffusivity --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 qdiffusivity source code is hosted at https://github.com/srtee/qdiffusivity
|
|
91
|
+
and is available under the [MIT License](https://opensource.org/licenses/MIT) (see the file [LICENSE](https://github.com/srtee/qdiffusivity/blob/main/LICENSE)).
|
|
92
|
+
|
|
93
|
+
Copyright (c) 2026, Shern Ren Tee
|
|
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 qdiffusivity in published work.
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = [
|
|
3
|
+
"setuptools >=77",
|
|
4
|
+
"versioningit",
|
|
5
|
+
]
|
|
6
|
+
build-backend = "setuptools.build_meta"
|
|
7
|
+
|
|
8
|
+
[project]
|
|
9
|
+
name = "qdiffusivity"
|
|
10
|
+
description = "Quantile-based estimation of local diffusivities in molecular dynamics simulations of nanoconfined liquids"
|
|
11
|
+
license = "MIT"
|
|
12
|
+
license-files = ["LICENSE", "AUTHORS.md"]
|
|
13
|
+
|
|
14
|
+
authors = [
|
|
15
|
+
{name = "Shern Ren Tee", email = "shernren@gmail.com"},
|
|
16
|
+
]
|
|
17
|
+
maintainers = [
|
|
18
|
+
{name = "Shern Ren Tee", email = "shernren@gmail.com"},
|
|
19
|
+
]
|
|
20
|
+
readme = "README.md"
|
|
21
|
+
requires-python = ">=3.9"
|
|
22
|
+
dependencies = [
|
|
23
|
+
"MDAnalysis>=2.0.0",
|
|
24
|
+
]
|
|
25
|
+
keywords = [
|
|
26
|
+
"molecular simulations",
|
|
27
|
+
]
|
|
28
|
+
classifiers = [
|
|
29
|
+
"Programming Language :: Python :: 3",
|
|
30
|
+
]
|
|
31
|
+
dynamic = [
|
|
32
|
+
"version",
|
|
33
|
+
]
|
|
34
|
+
|
|
35
|
+
[project.optional-dependencies]
|
|
36
|
+
test = [
|
|
37
|
+
"pytest>=6.0",
|
|
38
|
+
"pytest-xdist>=2.5",
|
|
39
|
+
"pytest-cov>=3.0",
|
|
40
|
+
]
|
|
41
|
+
doc = [
|
|
42
|
+
"sphinx",
|
|
43
|
+
"sphinx_rtd_theme",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
# [project.urls]
|
|
47
|
+
# source = "https://github.com/srtee/qdiffusivity"
|
|
48
|
+
# documentation = "https://qdiffusivity.readthedocs.io"
|
|
49
|
+
|
|
50
|
+
[tool.setuptools.packages.find]
|
|
51
|
+
include = ["qdiffusivity"]
|
|
52
|
+
|
|
53
|
+
[tool.pytest.ini_options]
|
|
54
|
+
minversion = "6.0"
|
|
55
|
+
testpaths = [
|
|
56
|
+
"qdiffusivity/tests",
|
|
57
|
+
]
|
|
58
|
+
|
|
59
|
+
[tool.black]
|
|
60
|
+
line-length = 80
|
|
61
|
+
|
|
62
|
+
[tool.versioningit]
|
|
63
|
+
default-version = "1+unknown"
|
|
64
|
+
|
|
65
|
+
[tool.versioningit.vcs]
|
|
66
|
+
method = "git"
|
|
67
|
+
# the below line expects tags to look like '1.0.2'.
|
|
68
|
+
# if prefixing with a v, e.g. 'v1.0.2', change it to ["v*"]
|
|
69
|
+
match = ["*"]
|
|
70
|
+
|
|
71
|
+
[tool.versioningit.format]
|
|
72
|
+
distance = "{base_version}+{distance}.{vcs}{rev}"
|
|
73
|
+
dirty = "{base_version}+{distance}.{vcs}{rev}.dirty"
|
|
74
|
+
distance-dirty = "{base_version}+{distance}.{vcs}{rev}.dirty"
|
|
75
|
+
|
|
76
|
+
[tool.coverage.run]
|
|
77
|
+
omit = [
|
|
78
|
+
# Omit the tests
|
|
79
|
+
"*/tests/*",
|
|
80
|
+
]
|
|
81
|
+
|
|
82
|
+
[tool.coverage.report]
|
|
83
|
+
exclude_also = [
|
|
84
|
+
"if TYPE_CHECKING:",
|
|
85
|
+
]
|
|
86
|
+
|
|
87
|
+
[tool.isort]
|
|
88
|
+
multi_line_output = 3
|
|
89
|
+
include_trailing_comma = true
|
|
90
|
+
force_grid_wrap = 0
|
|
91
|
+
use_parentheses = true
|
|
92
|
+
line_length = 80
|
|
93
|
+
|
|
94
|
+
[tool.yapf]
|
|
95
|
+
COLUMN_LIMIT = 80
|
|
96
|
+
INDENT_WIDTH = 4
|
|
97
|
+
USE_TABS = false
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"""
|
|
2
|
+
qdiffusivity
|
|
3
|
+
Quantile-based estimation of local diffusivities in molecular dynamics
|
|
4
|
+
simulations of nanoconfined liquids
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
# Add imports here
|
|
8
|
+
from importlib.metadata import version
|
|
9
|
+
|
|
10
|
+
from .binned import (
|
|
11
|
+
LocalDiffusivityQBinned,
|
|
12
|
+
TransverseDensityQBinned,
|
|
13
|
+
cic_assign,
|
|
14
|
+
resolve_bins,
|
|
15
|
+
)
|
|
16
|
+
from .density import (
|
|
17
|
+
TransverseDensityQKDE,
|
|
18
|
+
epanechnikov_kernel,
|
|
19
|
+
kde_1d,
|
|
20
|
+
select_bandwidth,
|
|
21
|
+
sheather_jones_bw,
|
|
22
|
+
silverman_bw,
|
|
23
|
+
)
|
|
24
|
+
from .diffusivity import (
|
|
25
|
+
LocalDiffusivityQKDE,
|
|
26
|
+
build_cdf,
|
|
27
|
+
gaussian_kernel,
|
|
28
|
+
kde_estimate,
|
|
29
|
+
select_diff_bandwidth,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
__version__ = version("qdiffusivity")
|
|
33
|
+
|
|
34
|
+
__all__ = [
|
|
35
|
+
"TransverseDensityQBinned",
|
|
36
|
+
"TransverseDensityQKDE",
|
|
37
|
+
"LocalDiffusivityQBinned",
|
|
38
|
+
"LocalDiffusivityQKDE",
|
|
39
|
+
"build_cdf",
|
|
40
|
+
"cic_assign",
|
|
41
|
+
"epanechnikov_kernel",
|
|
42
|
+
"gaussian_kernel",
|
|
43
|
+
"kde_1d",
|
|
44
|
+
"kde_estimate",
|
|
45
|
+
"resolve_bins",
|
|
46
|
+
"select_bandwidth",
|
|
47
|
+
"select_diff_bandwidth",
|
|
48
|
+
"sheather_jones_bw",
|
|
49
|
+
"silverman_bw",
|
|
50
|
+
"__version__",
|
|
51
|
+
]
|