ISOKANN
Julia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 5 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.1%) to scientific vocabulary
Keywords
Repository
Julia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators
Basic Info
Statistics
- Stars: 7
- Watchers: 3
- Forks: 7
- Open Issues: 16
- Releases: 5
Topics
Metadata Files
README.md
ISOKANN
The ISOKANN.jl package implements the ISOKANN algorithm for the identification of macro-states of molecular systems. Its main features comprise of:
- A flexible implementation of the ISOKANN core (Iso) (supporting 1D and N-D ISOKANN, customizable neural networks on a broad set of SimulationData)
- A battery-included interfaces to OpenMM for automated adaptive sampling of molecular dynamics
- Different adaptive sampling strategies (extapolation, kde and stratified sampling)
- A posteriori analysis tools (plots, reaction path extraction and reaction rate estimation)
See the documentation for details.
Quick start
Install the package via julia> ]add https://github.com/axsk/ISOKANN.jl.
If you want to use Julia's built Conda.jl to automatically install OpenMM, you shoud build the package after setting the environment variable
PYTHON="", e.g. through ENV["PYTHON"]=""; using Pkg; Pkg.build().
The usual pipeline consists of the creation of system simulation, generation of training data, training ISOKANN and a posteriori analysis of the results.
```julia
using ISOKANN
Define an OpenMMSimulation. The default molecule is the Alanine-Dipeptide.
sim = OpenMMSimulation()
Sample the initial data for training of ISOKANN with 100 initial points and 5 koopman samples per point.
data = SimulationData(sim, 100, 5)
create the ISOKANN training object
iso = Iso(data)
train for 100 episodes
run!(iso, 100)
plot the training losses and chi values
plot_training(iso)
scatter plot of all initial points colored in corresponding chi value
scatter_ramachandran(iso)
estimate the exit rates, i.e. the metastability
exit_rates(iso)
extract the reactive path
savereactivepath(iso, out="path.pdb") ```
More comprehensive usecase examples can be found in
- scripts/villin.jl: simulating the folding of the chicken villin
- scripts/vgvapg.jl
- `scripts/trpcaeg.jl
- `scripts/multitraj.jl: Extraction of reaction paths from multiple long trajectories.
For further information on specific functions use Julias built-in help/docstring functionality, e.g. ?Iso.
References
- Rabben, Ray, Weber (2018) - ISOKANN: Invariant subspaces of Koopman operators learned by a neural network.
- Sikorski, Ribera Borrell, Weber (2024) - Learning Koopman eigenfunctions of stochastic diffusions with optimal importance sampling and ISOKANN
- Sikorski, Rabben, Chewle, Weber (2024) - Capturing the Macroscopic Behaviour of Molecular Dynamics with Membership Functions
Owner
- Name: Alexander
- Login: axsk
- Kind: user
- Location: Berlin
- Company: Zuse Institute Berlin
- Repositories: 55
- Profile: https://github.com/axsk
Mathematician
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: Julia package ISOKANN.jl
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Alexander
family-names: Sikorski
email: sikorski@zib.de
affiliation: Zuse Institute Berlin
orcid: 'https://orcid.org/0000-0001-9051-650X'
doi: 10.5281/zenodo.11519359
url: 'https://github.com/axsk/ISOKANN.jl/'
abstract: >-
Julia implementation of the ISOKANN algorithm for the
computation of invariant subspaces of Koopman operators
keywords:
- isokann
- molecular-dynamics
- neural networks
- julia
GitHub Events
Total
- Create event: 2
- Commit comment event: 5
- Release event: 1
- Issues event: 26
- Watch event: 2
- Issue comment event: 23
- Push event: 71
- Pull request event: 2
- Fork event: 1
Last Year
- Create event: 2
- Commit comment event: 5
- Release event: 1
- Issues event: 26
- Watch event: 2
- Issue comment event: 23
- Push event: 71
- Pull request event: 2
- Fork event: 1
Committers
Last synced: 7 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Sikorski | s****i@z****e | 410 |
| joramkuntze | j****7@g****m | 3 |
| csecker | c****r@p****e | 2 |
| jkresse | k****e@z****e | 2 |
| Joe Greener | j****r@h****k | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 48
- Total pull requests: 10
- Average time to close issues: 3 months
- Average time to close pull requests: 13 days
- Total issue authors: 4
- Total pull request authors: 5
- Average comments per issue: 1.02
- Average comments per pull request: 0.3
- Merged pull requests: 7
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 26
- Pull requests: 6
- Average time to close issues: about 2 months
- Average time to close pull requests: 13 days
- Issue authors: 3
- Pull request authors: 2
- Average comments per issue: 0.85
- Average comments per pull request: 0.5
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- axsk (38)
- maryam-yousefian (6)
- lenardneander (2)
- JuliaTagBot (1)
Pull Request Authors
- axsk (5)
- MrKresse (4)
- csecker (4)
- jgreener64 (2)
- joramkuntze (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
juliahub.com: ISOKANN
Julia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators
- Documentation: https://docs.juliahub.com/General/ISOKANN/stable/
- License: MIT
-
Latest release: 1.2.0
published 9 months ago
Rankings
Dependencies
- JuliaRegistries/TagBot v1 composite