MLnanoshaper is an experimental sofware designed to compute proteins surface like the Nanoshaper program but with less computations using Machine Learning.
Instead of having a probe (a virtual water molecule) that rolls over the surface, like in Nanoshaper, we will have a machine learning algorithme will generate a scalar "energy" field from the atoms. We will then define the surface as an implicit surface ie
- install julia
julia --project MLNanoShaperRunner/build/build.jl
- clone this repository:
git clone https://github.com/concept-lab/MLNanoShaper.jl
- clone the submodule
cd MLNanoShaper.jl
git submodule init
git submodule update
- download dependency:
julia -e 'using Pkg; Pkg.activate(".");Pkg.instantiate()'
mkdir ~/datasets
mkdir ~/datasets/models
mkdir ~/datasets/logs
mkdir ~/datasets/pqr
curl https://zenodo.org/records/12772809/files/shrec.tar.gz --output ~/datasets/shrec.tar.gz
tar -xzf ~/datasets/shrec.tar.gz ~/datasets/pqr
install parallel and run commands
julia --project ./build/build.jl install
./scripts/training.bash
By default, logs and weights should be stored in ~/datasets/logs/ and ~/datasets/models
The ./scripts/ folder contains some Pluto Notebooks. Theses are for creating figures and for debugging. To execute these notebooks, you should install pluto and launch server with
julia -e "using Pluto; Pluto.run()"
Each notebooks will use the environement in scripts.
We have an example of code in MLNanoShaperRunner/example. Here is the commands to compile the example.
julia --project MLNanoShaperRunner/build/build.jl
mkdir MLNanoShaperRunner/build/build
clang MLNanoShaperRunner/examples/dummy_example.c \
-I MLNanoShaperRunner/build/lib/include \
-L MLNanoShaperRunner/build/lib/lib/ \
-l MLNanoShaperRunner \
-o MLNanoShaperRunner/build/build/test
The julia code needs access to some artifacts to load correcly
cp -r MLNanoShaperRunner/build/lib/share MLNanoShaperRunner/build/build/share
cp -r MLNanoShaperRunner/build/lib/lib/* MLNanoShaperRunner/build/build
cp MLNanoShaperRunner/examples/tiny* MLNanoShaperRunner/build/build
MLNanoShaperRunner/build/build/test
weights are on the https://zenodo.org/records/13222088