Skip to content

Commit

Permalink
revert the package name back to ISOKANN
Browse files Browse the repository at this point in the history
  • Loading branch information
axsk committed Jun 7, 2024
1 parent 99a4d72 commit 3df300c
Show file tree
Hide file tree
Showing 44 changed files with 248 additions and 248 deletions.
2 changes: 1 addition & 1 deletion Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name = "Isokann"
name = "ISOKANN"
uuid = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
authors = ["Sikorski <[email protected]> and contributors"]
version = "0.1.0"
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
# Isokann
# ISOKANN

[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://axsk.github.io/Isokann.jl/dev)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://axsk.github.io/ISOKANN.jl/dev)

Implementation of the Isokann algorithm. For a reference see our paper https://doi.org/10.1063/5.0140764 .
Implementation of the ISOKANN algorithm. For a reference see our paper https://doi.org/10.1063/5.0140764 .
Currently things are still fluctuating, so we have different implementations

- forced/isokann.jl - Isokann with adaptive sampling and optimal control for overdamped Langevin systems
- isomolly.jl - Isokann with adaptive sampling for Molly.jl systems (e.g. proteins)
- forced/isokann.jl - ISOKANN with adaptive sampling and optimal control for overdamped Langevin systems
- isomolly.jl - ISOKANN with adaptive sampling for Molly.jl systems (e.g. proteins)
- isosimple.jl - attempt at a cleaner version of isomolly.jl
- iso2.jl - Isokann 2 with multivariate memberships
- iso2.jl - ISOKANN 2 with multivariate memberships

After installing the package with `Pkg.add("https://github.com/axsk/Isokann.jl")` run a basic alanine dipeptide run with
After installing the package with `Pkg.add("https://github.com/axsk/ISOKANN.jl")` run a basic alanine dipeptide run with

```julia

using Isokann
using ISOKANN

iso = IsoRun() # create the Isokann system/configuration
iso = IsoRun() # create the ISOKANN system/configuration
run!(iso) # run it for iso.nd steps

plot_training(iso) # plot the training overview
Expand Down
2 changes: 1 addition & 1 deletion docs/Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -972,7 +972,7 @@ git-tree-sha1 = "5d8c5713f38f7bc029e26627b687710ba406d0dd"
uuid = "7869d1d1-7146-5819-86e3-90919afe41df"
version = "0.4.12"

[[deps.Isokann]]
[[deps.ISOKANN]]
deps = ["BioStructures", "CUDA", "ChainRulesCore", "Chemfiles", "ClusterManagers", "Combinatorics", "DataFrames", "Dictionaries", "Distances", "FLoops", "Flux", "ForwardDiff", "Graphs", "JLD2", "LinearAlgebra", "LsqFit", "Lux", "MLUtils", "Molly", "NNlib", "Optimisers", "OrdinaryDiffEq", "PCCAPlus", "ParameterSchedulers", "Parameters", "PlotlyBase", "PlotlyKaleido", "Plots", "ProgressMeter", "PyCall", "Random", "SlurmClusterManager", "SnoopPrecompile", "SpecialFunctions", "SplitApplyCombine", "StaticArrays", "StatsBase", "StochasticDiffEq", "Unitful", "Zygote", "cuDNN"]
path = ".."
uuid = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
Expand Down
2 changes: 1 addition & 1 deletion docs/Project.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[deps]
Documenter = "e30172f5-a6a5-5a46-863b-614d45cd2de4"
Isokann = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
ISOKANN = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
8 changes: 4 additions & 4 deletions docs/make.jl
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
using Documenter
using InteractiveUtils: @time_imports
@time @time_imports using Isokann
@time @time_imports using ISOKANN

makedocs(
sitename="Isokann",
sitename="ISOKANN",
format=Documenter.HTML(),
modules=[Isokann],
modules=[ISOKANN],
warnonly=true
)

# Documenter can also automatically deploy documentation to gh-pages.
# See "Hosting Documentation" and deploydocs() in the Documenter manual
# for more information.
deploydocs(
repo="github.com/axsk/Isokann.jl.git"
repo="github.com/axsk/ISOKANN.jl.git"
)
12 changes: 6 additions & 6 deletions docs/src/index.md
Original file line number Diff line number Diff line change
@@ -1,30 +1,30 @@
# Isokann.jl
# ISOKANN.jl

Documentation for Isokann.jl
Documentation for ISOKANN.jl

```@meta
CurrentModule = Isokann
CurrentModule = ISOKANN
```

## Main entry points

```@docs
IsoRun
Isokann.run!
ISOKANN.run!
MollyLangevin
propagate
```

## Public API

```@autodocs
Modules = [Isokann, Isokann.OpenMM]
Modules = [ISOKANN, ISOKANN.OpenMM]
Private = false
```

## Internal API

```@autodocs
Modules = [Isokann, Isokann.OpenMM]
Modules = [ISOKANN, ISOKANN.OpenMM]
Public = false
```
16 changes: 8 additions & 8 deletions docs/src/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,28 +8,28 @@ curl -fsSL https://install.julialang.org | sh

After restarting your shell you should be able to start the Julia REPL via the command `julia`.

In the REPL you can add `Isokann.jl` to your project by entering the package mode (type `]`) and typing
In the REPL you can add `ISOKANN.jl` to your project by entering the package mode (type `]`) and typing

```julia
pkg> add https://github.com/axsk/Isokann.jl
pkg> test Isokann
pkg> add https://github.com/axsk/ISOKANN.jl
pkg> test ISOKANN
```

Note that this can take a while on the first run as Julia downloads and precompiles all dependencies.

We plan on installing OpenMM automatically with Isokann. Right now, if you want to use openmm with Isokann you will need to make it available to PyCall.jl.
We plan on installing OpenMM automatically with ISOKANN. Right now, if you want to use openmm with ISOKANN you will need to make it available to PyCall.jl.
This should work automatically, when using the Conda.jl Conda environment (i.e. starting julia with the env `PYTHON=""` and running `pkg> build PyCall.`). See also the [PyCall docs](https://github.com/JuliaPy/PyCall.jl?tab=readme-ov-file#specifying-the-python-version).

## Development

If you want to make changes to Isokann you should clone it into a directory
If you want to make changes to ISOKANN you should clone it into a directory

`git clone [email protected]:axsk/Isokann.jl.git`
`git clone [email protected]:axsk/ISOKANN.jl.git`

Then start Julia in that directory, activate it with `]activate .`,
instantiate the dependencies with `]instantiate`.

You should then be able to run the tests with `]test`
or start `using Isokann`.
or start `using ISOKANN`.

We strongly recommend `using Revise` before Isokann, so that your changes will automatically load in your current session.
We strongly recommend `using Revise` before ISOKANN, so that your changes will automatically load in your current session.
10 changes: 5 additions & 5 deletions docs/src/introduction.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
# Introduction

This package provides the core Isokann algorithm as well as some wrappers and convenience routines to work with different kind of simulations and data.
This package provides the core ISOKANN algorithm as well as some wrappers and convenience routines to work with different kind of simulations and data.

The core Isokann algorithm is accessed by the `Iso2` type,
which holds the neural network, optimizer, Isokann parameters and training data.
The core ISOKANN algorithm is accessed by the `Iso2` type,
which holds the neural network, optimizer, ISOKANN parameters and training data.

You can construct it by passing a tuple of `(xs, ys)` of arrays as input data. Here `xs` is a matrix where the columns are starting points of trajectories and `ys` is a 3 dimensional array where `ys[d,k,n]` is the `d`-th coordinate of the `k`-th Koopman-replica of the `n`-th trajectory.

To start training the neural network simply call the `run!` function passing the `Iso2` object and the number of Isokann iterations.
To start training the neural network simply call the `run!` function passing the `Iso2` object and the number of ISOKANN iterations.
The resulting \chi values can be obtained via the `chis` method

```julia
Expand All @@ -17,7 +17,7 @@ chis(iso)
```

We also supply some basic simulations which can generate the data, e.g. [`Doublewell`](@ref), [`MuellerBrown`](@ref), [`Diffusion`](@ref), [`MollySimulation`](@ref) and [`OpenMMSimulation`](@ref).
You can use the [`isodata`](@ref) function to sample data for Isokann.
You can use the [`isodata`](@ref) function to sample data for ISOKANN.

```julia
sim = Doublewell()
Expand Down
12 changes: 6 additions & 6 deletions docs/src/isomu.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# IsoMu

Analysing trajectory data from mu opiod receptor with Isokann and reaction path subsampling.
Analysing trajectory data from mu opiod receptor with ISOKANN and reaction path subsampling.

contact: a sikorski, s chewle

Expand All @@ -9,16 +9,16 @@ contact: a sikorski, s chewle

1. run julia (install via: google juliaup)
2. activate the project `julia> ]activate .`
3. update Isokann to their github master branches
- `julia> ]add https://github.com/axsk/Isokann.jl`
4. load the module via `julia> using Isokann, Isokann.IsoMu`
3. update ISOKANN to their github master branches
- `julia> ]add https://github.com/axsk/ISOKANN.jl`
4. load the module via `julia> using ISOKANN, ISOKANN.IsoMu`

# Running the clustering
```julia
# create a DataLink to the trajectory's directory
link = DataLink("path/to/traj")

# create the Isokann environment
# create the ISOKANN environment
mu = isokann(link)

# train the network
Expand All @@ -33,7 +33,7 @@ save_reactive_path(mu, sigma=0.1, out="out/path.pbd", method=IsoMu.MaxPath())
# Starting on SLURM with gpu
srun --gres=gpu --partition gpu --constraint "A40-RTX-48GB" --pty bash

then `Isokann.gpu!(mu::IsoRun)`
then `ISOKANN.gpu!(mu::IsoRun)`

# A more advanced example
```julia
Expand Down
2 changes: 1 addition & 1 deletion examples/Manifest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -931,7 +931,7 @@ git-tree-sha1 = "8aa91235360659ca7560db43a7d57541120aa31d"
uuid = "7869d1d1-7146-5819-86e3-90919afe41df"
version = "0.4.11"

[[deps.Isokann]]
[[deps.ISOKANN]]
deps = ["CUDA", "ChainRulesCore", "ClusterManagers", "Combinatorics", "Dictionaries", "FLoops", "Flux", "ForwardDiff", "JLD2", "LinearAlgebra", "LsqFit", "Lux", "MLUtils", "Molly", "NNlib", "Optimisers", "OrdinaryDiffEq", "PCCAPlus", "Parameters", "PlotlyBase", "PlotlyKaleido", "Plots", "ProgressMeter", "Random", "SlurmClusterManager", "SnoopPrecompile", "SpecialFunctions", "SplitApplyCombine", "StaticArrays", "StatsBase", "StochasticDiffEq", "Unitful", "Zygote"]
path = ".."
uuid = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
Expand Down
2 changes: 1 addition & 1 deletion examples/Project.toml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[deps]
Isokann = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
ISOKANN = "512544ac-929d-4ba3-aa9d-55e9313a4b47"
MKL = "33e6dc65-8f57-5167-99aa-e5a354878fb2"
Molly = "aa0f7f06-fcc0-5ec4-a7f3-a573f33f9c4c"
2 changes: 1 addition & 1 deletion examples/iso2diala.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/code/Isokann`\n"
"\u001b[32m\u001b[1m Activating\u001b[22m\u001b[39m project at `~/code/ISOKANN`\n"
]
}
],
Expand Down
8 changes: 4 additions & 4 deletions examples/reactionpath dipep.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"source": [
"using Pkg, Revise\n",
"Pkg.activate(\"..\")\n",
"using Isokann, Plots\n",
"using ISOKANN, Plots\n",
"Plots.default(fmt=:png)"
]
},
Expand Down Expand Up @@ -58,7 +58,7 @@
"metadata": {},
"outputs": [],
"source": [
"# create the actual Isokann simulation\n",
"# create the actual ISOKANN simulation\n",
"iso = IsoRun(;sim, loggers=[])"
]
},
Expand Down Expand Up @@ -87,7 +87,7 @@
"metadata": {},
"outputs": [],
"source": [
"x0 = Isokann.getcoords(sim)\n",
"x0 = ISOKANN.getcoords(sim)\n",
"chi = iso.model\n",
"path = @time reactionpath(sim, x0, chi, dt=0.0001)\n",
"scatter_ramachandran(path)"
Expand All @@ -99,7 +99,7 @@
"metadata": {},
"outputs": [],
"source": [
"Isokann.savecoords(sys, path, \"reactionpath.pdb\")"
"ISOKANN.savecoords(sys, path, \"reactionpath.pdb\")"
]
},
{
Expand Down
8 changes: 4 additions & 4 deletions ext/MollyExt.jl
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
module MollyExt

using Isokann
using ISOKANN

import Molly

Expand All @@ -19,7 +19,7 @@ The `MollyLangevin` struct represents a Langevin dynamics simulation for the Mol
- `n_threads::Int`: The number of threads for force computations. Default is 1.
"""
Base.@kwdef mutable struct MollyLangevin{S} <: IsoSimulation # TODO: move this to Isokann to be reachable again
Base.@kwdef mutable struct MollyLangevin{S} <: IsoSimulation # TODO: move this to ISOKANN to be reachable again
sys::S
temp::Float64 = 298.0 # 298 K = 25 °C
gamma::Float64 = 1.0
Expand Down Expand Up @@ -74,7 +74,7 @@ Burst simulation of the MollyLangeving system `ms`.
Propagates `ny` samples for each initial position provided in the columns of `x0`.
`propagate` is the main interface facilitating sampling of a system.
TODO: specify the actual interface required for a simulation to be runnable by Isokann.
TODO: specify the actual interface required for a simulation to be runnable by ISOKANN.
# Arguments
- `ms::MollyLangevin`: The MollyLangevin solver object.
Expand Down Expand Up @@ -157,7 +157,7 @@ end
## loaders for the molecules in /data

const molly_data_dir = joinpath(dirname(pathof(Molly)), "..", "data")
const isokann_data_dir = joinpath(dirname(pathof(Isokann)), "..", "data")
const isokann_data_dir = joinpath(dirname(pathof(ISOKANN)), "..", "data")

molly_data(path) = joinpath(molly_data_dir, path)
isokann_data(path) = joinpath(isokann_data_dir, path)
Expand Down
Loading

0 comments on commit 3df300c

Please sign in to comment.