ISOKANN

Julia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators

https://github.com/axsk/isokann.jl

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

isokann molecular-dynamics neural-network package zib
Last synced: 6 months ago · JSON representation ·

Repository

Julia implementation of the ISOKANN algorithm for the computation of invariant subspaces of Koopman operators

Basic Info
  • Host: GitHub
  • Owner: axsk
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 13.4 MB
Statistics
  • Stars: 7
  • Watchers: 3
  • Forks: 7
  • Open Issues: 16
  • Releases: 5
Topics
isokann molecular-dynamics neural-network package zib
Created about 3 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog License Citation

README.md

ISOKANN

Dev

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

Owner

  • Name: Alexander
  • Login: axsk
  • Kind: user
  • Location: Berlin
  • Company: Zuse Institute Berlin

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

All Time
  • Total Commits: 418
  • Total Committers: 5
  • Avg Commits per committer: 83.6
  • Development Distribution Score (DDS): 0.019
Past Year
  • Commits: 170
  • Committers: 3
  • Avg Commits per committer: 56.667
  • Development Distribution Score (DDS): 0.029
Top Committers
Name Email 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
enhancement (3) help wanted (2) good first issue (2) priority (1) bug (1)
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

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent repos count: 9.4%
Average: 24.7%
Dependent packages count: 40.0%
Last synced: 6 months ago

Dependencies

.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite