Skip to content

sayeg84/chainUnlocking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chainUnlocking

This is the github repository for the code to run simulations for chain unlocking using optimization methods.

Dependencies

The following packages must be installed in the system:

  • ArgParse
  • BenchmarkTools
  • Distributions
  • IterativeSolvers
  • Plots
  • StaticArrays

From julia, you can install all of these packages using

import Pkg
Pkg.add("ArgParse")
Pkg.add("BenchmarkTools")
Pkg.add("Distributions")
Pkg.add("IterativeSolvers")
Pkg.add("Plots")
Pkg.add("StaticArrays")

Usage

Scripts

The main scripts needed used to run the code are located in the src folder. Here we provide a simple description of each of them:

File description
runSimple.jl Run a set of optimization runs for independent replicas over a set of values of l for a parametrized knot knot(l). All of the replicas will run sequentially over the same process.
runDistributed.jl Run a set of optimization runs for independent replicas over a set of values of l for a parametrized knot knot(l). All of the replicas will be launched in a distributed way over different processes.
runGenetic.jl Run an optmiztion using a Genetic algorithm for a knitting needle knot.
runSobolev.jl Run an optmiztion using a Sobolev fractional gradient descent algorithm for a modified knitting needle knot.

Each of these scripts can be called with a --help flag to see what arguments they take. The arguments are also detailed in argumentParsing.jl. The full list of algorithms possible for runSimple.jl and runDistributed.jl can be checked in algorithms.jl

WARNING: default output

Folder outputs must be created and exist in the same level than src. All of the scripts will create folders here named after the date and time in format YYYY-MM-DD hh:mm. For obvious reasons, its not recommended to launch more than one simulation per minute, otherwise files might get overwritten.

The output folder can also be specified using the --output argument

Examples

For running a sequential run for the knittingNeedle(l) knot, with 5 equally-spaced l values between 1.3 and 1.5 until the function gets minimized to a value of 0.001, and doing 3 replicas per l value:

julia runSimple.jl --chain knittingNeedle --lmin 1.3 --lmax 1.5 --lvals 5 --indep_simuls 3 --tolerance 0.001

To run the exact same thing, but also distributing the simulations over 7 processors:

julia runSimple.jl --chain knittingNeedle --lmin 1.3 --lmax 1.5 --lvals 5 --indep_simuls 3 --tolerance 0.001 --processes 7

About

Simulating protein folding from a geometric point of view

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors