Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
schwede
ProMod3
Commits
a7fd92d3
Commit
a7fd92d3
authored
Mar 23, 2020
by
Bienchen
Browse files
Merge branch 'release-3.0.0'
parents
a8c07e87
2f89335b
Changes
603
Hide whitespace changes
Inline
Side-by-side
CHANGELOG
View file @
a7fd92d3
...
...
@@ -5,6 +5,16 @@
Changelog
================================================================================
Release 3.0.0
--------------------------------------------------------------------------------
* First release supporting Python 3. Python 2 support has been dropped.
* Updated versions of dependencies.
* Reduced amount of warnings during compilation.
* Improved and simplified use of Docker and Singularity containers.
* Several minor bug fixes, improvements, and speed-ups.
Release 2.1.0
--------------------------------------------------------------------------------
...
...
@@ -15,7 +25,7 @@ Release 2.1.0
to parametrize arbitrary compounds.
* Motif finding algorithm to identify objects in 3D space, e.g. binding sites.
The algorithm is based on principles of geometric hashing.
* Several minor bug fixes, improvements, and speed-ups
* Several minor bug fixes, improvements, and speed-ups
Release 2.0.0
...
...
CMakeLists.txt
View file @
a7fd92d3
...
...
@@ -6,7 +6,15 @@
# DISABLE_DOCTEST: Don't run example code from documentation on 'make check'
# DISABLE_LINKCHECK: Don't test links from documentation on 'make check'
# (if documentation is disabled, there is no doctest, linkcheck at all)
cmake_minimum_required
(
VERSION 2.6.4 FATAL_ERROR
)
cmake_minimum_required
(
VERSION 3.10.2 FATAL_ERROR
)
# Set CMake policies
# Behaviour of target_link_libraries, always link by full path. CMP0060 can
# disable this to stay compatible with old projects. We want the new behaviour
# since before we needed to provide the full path ourselves, that is: we
# manually forced CMake to the new scheme.
cmake_policy
(
SET CMP0060 NEW
)
set
(
CMAKE_MODULE_PATH
${
CMAKE_MODULE_PATH
}
${
CMAKE_SOURCE_DIR
}
/cmake_support
)
set
(
CMAKE_EXPORT_COMPILE_COMMANDS 1
)
...
...
@@ -15,8 +23,8 @@ project(ProMod3 CXX C)
include
(
PROMOD3
)
# versioning info
set
(
PROMOD3_VERSION_MAJOR
2
)
set
(
PROMOD3_VERSION_MINOR
1
)
set
(
PROMOD3_VERSION_MAJOR
3
)
set
(
PROMOD3_VERSION_MINOR
0
)
set
(
PROMOD3_VERSION_PATCH 0
)
set
(
PROMOD3_VERSION_STRING
${
PROMOD3_VERSION_MAJOR
}
.
${
PROMOD3_VERSION_MINOR
}
)
set
(
PROMOD3_VERSION_STRING
${
PROMOD3_VERSION_STRING
}
.
${
PROMOD3_VERSION_PATCH
}
)
...
...
@@ -79,7 +87,7 @@ file(MAKE_DIRECTORY ${STAGE_DIR}
setup_compiler_flags
()
# Python needed before Boost
find_package
(
Python
2.7
REQUIRED
)
find_package
(
Python
3.6
REQUIRED
)
# Split version string
string
(
REPLACE
"."
";"
_python_version_list
${
PYTHON_VERSION
}
)
list
(
GET _python_version_list 0 PYTHON_VERSION_MAJOR
)
...
...
@@ -88,12 +96,12 @@ list(GET _python_version_list 1 PYTHON_VERSION_MINOR)
setup_boost
()
if
(
NOT DISABLE_DOCUMENTATION
)
find_package
(
Sphinx
${
PYTHON_VERSION
}
REQUIRED
)
find_package
(
Sphinx REQUIRED
)
set
(
PYTHON_DOC_URL
"https://docs.python.org/
${
PYTHON_VERSION
}
"
)
# this URL should always point to the latest version of OST
set
(
OST_DOC_URL
"https://www.openstructure.org/docs"
)
endif
()
find_package
(
OPENSTRUCTURE
1.11
.0 REQUIRED
find_package
(
OPENSTRUCTURE
2.0
.0 REQUIRED
COMPONENTS io mol seq seq_alg mol_alg conop img mol_mm
)
if
(
CMAKE_COMPILER_IS_GNUCXX
)
...
...
NOTICE
View file @
a7fd92d3
ProMod3 - A Versatile Homology Modelling Toolbox
Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
Biozentrum - University of Basel
ProMod3 is developed in the Schwede lab at the Biozentrum - University of Basel.
...
...
actions/doc/index.rst
View file @
a7fd92d3
...
...
@@ -138,7 +138,7 @@ objects is performed in the
:
class
:`~
promod3
.
core
.
pm3argparse
.
PM3ArgumentParser
`
class
as
described
in
detail
:
meth
:`
here
<
promod3
.
core
.
pm3argparse
.
PM3ArgumentParser
.
AddFragments
>`.
The
default
modelling
pipeline
in
ProMod3
is
optimized
to
generate
a
gap
-
free
The
default
modelling
pipeline
in
|
project
|
is
optimized
to
generate
a
gap
-
free
model
of
the
region
in
the
target
sequence
(
s
)
that
is
covered
with
template
information
.
Terminal
extensions
without
template
coverage
are
negelected
.
You
can
enforce
a
model
of
the
full
target
sequence
(
s
)
by
adding
``-
t
``.
...
...
actions/pm-build-model
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/pm-build-rawmodel
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/pm-build-sidechains
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/pm-help
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/tests/test_action_build-model.py
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/tests/test_action_build-rawmodel.py
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/tests/test_action_help.py
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
actions/tests/test_actions.py
View file @
a7fd92d3
# Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
...
...
cmake_support/FindPython.cmake
View file @
a7fd92d3
...
...
@@ -18,8 +18,8 @@
# Author: Marco Biasini/ Stefan Bienert
#-------------------------------------------------------------------------------
set
(
PYTHON_VERSIONS
2.7
)
set
(
PYTHON_MIN_VERSION
2.7
)
set
(
PYTHON_VERSIONS
3.8 3.7 3.6
)
set
(
PYTHON_MIN_VERSION
3.6.0
)
#-------------------------------------------------------------------------------
# check for python framework
...
...
@@ -47,6 +47,7 @@ macro(_find_python PYTHON_ROOT VERSION)
if
(
PYTHON_ROOT
)
find_library
(
PYTHON_LIBRARIES
NAMES
"python
${
_VERSION_NO_DOTS
}
"
"python
${
VERSION
}
"
"python
${
_VERSION_NO_DOTS
}
m"
"python
${
VERSION
}
m"
HINTS
"
${
PYTHON_ROOT
}
"
PATH_SUFFIXES lib libs
NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH
...
...
@@ -55,16 +56,19 @@ macro(_find_python PYTHON_ROOT VERSION)
NAMES Python.h
HINTS
"
${
PYTHON_ROOT
}
/include"
PATH_SUFFIXES include
"python
${
_VERSION_NO_DOTS
}
"
"python
${
VERSION
}
"
"python
${
_VERSION_NO_DOTS
}
m"
"python
${
VERSION
}
m"
NO_SYSTEM_ENVIRONMENT_PATH NO_DEFAULT_PATH
)
else
()
find_library
(
PYTHON_LIBRARIES
NAMES
"python
${
_VERSION_NO_DOTS
}
"
"python
${
VERSION
}
"
"python
${
_VERSION_NO_DOTS
}
m"
"python
${
VERSION
}
m"
PATH_SUFFIXES lib
)
find_path
(
PYTHON_INCLUDE_PATH
NAMES Python.h
PATH_SUFFIXES include
"python
${
_VERSION_NO_DOTS
}
"
"python
${
VERSION
}
"
PATH_SUFFIXES include
"python
${
_VERSION_NO_DOTS
}
"
"python
${
VERSION
}
"
"python
${
_VERSION_NO_DOTS
}
m"
"python
${
VERSION
}
m"
)
endif
()
endmacro
()
...
...
cmake_support/FindSphinx.cmake
View file @
a7fd92d3
#-------------------------------------------------------------------------------
# Check for Sphinx binary
#
# SPHINX_BINARY is set to the path to the sphinx-build executable,
# preferably sphinx-build-${Sphinx_FIND_VERSION} if
# provided. Also admires PYTHON_ROOT if available.
#
# Author: Bienchen
#-------------------------------------------------------------------------------
IF
(
PYTHON_BINARY
)
EXEC_PROGRAM
(
"
${
PYTHON_BINARY
}
"
ARGS
"-c 'import sphinx; print(sphinx.__version__)'"
OUTPUT_VARIABLE VERSION_STRING
RETURN_VALUE SPHINX_NOT_FOUND
)
if
(
SPHINX_NOT_FOUND
)
set
(
SPHINX_FOUND FALSE
)
else
(
SPHINX_NOT_FOUND
)
set
(
SPHINX_FOUND TRUE
)
set
(
SPHINX_VERSION
${
VERSION_STRING
}
)
endif
(
SPHINX_NOT_FOUND
)
ENDIF
(
PYTHON_BINARY
)
if
(
Sphinx_FIND_VERSION
)
set
(
ADD_SPHINX_NAMES
"sphinx-build-
${
Sphinx_FIND_VERSION
}
"
)
endif
()
if
(
SPHINX_FOUND
)
message
(
STATUS
"Sphinx version: "
${
SPHINX_VERSION
}
)
else
(
SPHINX_FOUND
)
if
(
Sphinx_FIND_REQUIRED
)
message
(
FATAL_ERROR
"Could not import sphinx in "
${
PYTHON_BINARY
}
" make it available or disable documentation with -DDISABLE_DOCUMENTATION"
)
endif
(
Sphinx_FIND_REQUIRED
)
endif
(
SPHINX_FOUND
)
if
(
PYTHON_ROOT
)
find_program
(
SPHINX_BINARY NAMES sphinx-build
${
ADD_SPHINX_NAMES
}
HINTS
${
PYTHON_ROOT
}
PATH_SUFFIXES bin
DOC
"Sphinx documentation generator"
)
else
()
find_program
(
SPHINX_BINARY NAMES sphinx-build
${
ADD_SPHINX_NAMES
}
PATH_SUFFIXES bin
DOC
"Sphinx documentation generator"
)
endif
()
include
(
FindPackageHandleStandardArgs
)
find_package_handle_standard_args
(
Sphinx DEFAULT_MSG
SPHINX_BINARY
)
mark_as_advanced
(
SPHINX_BINARY
)
cmake_support/PROMOD3.cmake
View file @
a7fd92d3
...
...
@@ -1019,10 +1019,10 @@ macro(setup_boost)
# python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} REQUIRED)
# set(BOOST_PYTHON_LIBRARIES ${Boost_LIBRARIES})
# see https://cmake.org/cmake/help/v3.11/module/FindBoost.html
foreach
(
_python_lib_name python
python
${
PYTHON_VERSION_MAJOR
}${
PYTHON_VERSION_MINOR
}
foreach
(
_python_lib_name python
${
PYTHON_VERSION_MAJOR
}${
PYTHON_VERSION_MINOR
}
python
${
PYTHON_VERSION_MAJOR
}
.
${
PYTHON_VERSION_MINOR
}
python
${
PYTHON_VERSION_MAJOR
}
)
python
${
PYTHON_VERSION_MAJOR
}
python
)
find_package
(
Boost
${
_BOOST_MIN_VERSION
}
COMPONENTS
${
_python_lib_name
}
QUIET
)
if
(
Boost_FOUND
)
message
(
STATUS
"Found Boost package: "
${
_python_lib_name
}
)
...
...
config/src/config.hh.in
View file @
a7fd92d3
// Copyright (c) 2013-20
18
, SIB - Swiss Institute of Bioinformatics and
// Copyright (c) 2013-20
20
, SIB - Swiss Institute of Bioinformatics and
// Biozentrum - University of Basel
//
// Licensed under the Apache License, Version 2.0 (the "License");
...
...
container/Dockerfile
View file @
a7fd92d3
FROM
ubuntu:18.04
ARG
OPENSTRUCTURE_VERSION="2.0.0"
FROM
registry.scicore.unibas.ch/schwede/openstructure:${OPENSTRUCTURE_VERSION}
# ARGUMENTS
###########
ARG
OPENSTRUCTURE_VERSION="1.11.0"
ARG
PROMOD_VERSION="2.1.0"
ARG
PROMOD_VERSION="3.0.0"
ARG
SRC_FOLDER="/usr/local/src"
ARG
CPUS_FOR_MAKE=4
ARG
COMPLIB_DIR="/usr/local/share/ost_complib"
ARG
OPENMM_VERSION="7.1.1"
ARG
OPENMM_INCLUDE_PATH="/usr/local/openmm/include/"
ARG
OPENMM_LIB_PATH="/usr/local/openmm/lib/"
ENV
DEBIAN_FRONTEND=noninteractive
# INSTALL SYSTEM DEPS
#####################
RUN
apt-get update
-y
&&
apt-get
install
-y
cmake
\
g++
\
sip-dev
\
libtiff-dev
\
libfftw3-dev
\
libeigen3-dev
\
libboost-all-dev
\
libpng-dev
\
python2.7
\
python-pyqt5
\
qt5-qmake
\
qtbase5-dev
\
python-qt4
\
python-numpy
\
python-scipy
\
python-pandas
\
python-matplotlib
\
wget
\
gfortran
\
python-pip
\
python-sphinx
\
tar
\
libbz2-dev
\
doxygen
\
swig
\
clustalw
\
libsqlite3-dev
\
dssp
\
python-enum34
\
locales
&&
\
# CLEANUP
rm -rf /var/lib/apt/lists/*
# SET LOCALE
############
# RUN echo "LC_ALL=en_US.UTF-8" >> /etc/environment
# RUN echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
# RUN echo "LANG=en_US.UTF-8" > /etc/locale.conf
# RUN locale-gen en_US.UTF-8
# ENVIRONMENT
##############################################################################
ENV
OPENSTRUCTURE_VERSION="${OPENSTRUCTURE_VERSION}"
ENV
PROMOD_VERSION="${PROMOD_VERSION}"
ENV
OST_ROOT="/usr/local"
ENV
DNG_ROOT="/usr/local"
ENV
PROMOD_ROOT="/usr/local"
ENV
PYTHONPATH="/usr/local/lib64/python2.7/site-packages:${PYTHONPATH}"
ENV
LD_LIBRARY_PATH="/usr/local/lib64:/usr/local/openmm/lib/$LD_LIBRARY_PATH"
ENV
QT_X11_NO_MITSHM=1
# COMPILE OPENMM FROM SOURCES. INSTALL TO /usr/local
####################################################
RUN
cd
${
SRC_FOLDER
}
&&
\
wget
-O
openmm-
${
OPENMM_VERSION
}
.tar.gz
-nc
https://github.com/pandegroup/openmm/archive/
${
OPENMM_VERSION
}
.tar.gz
&&
\
mkdir
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
&&
\
tar
xf openmm-
${
OPENMM_VERSION
}
.tar.gz
-C
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
--strip-components
=
1
&&
\
mkdir
-p
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
/build
&&
\
cd
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
/build
&&
\
cmake ..
&&
make
-j
$CPUS_FOR_MAKE
&&
make
install
&&
\
cd
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
/build/python
&&
\
python setup.py build
&&
python setup.py
install
&&
\
cd
${
SRC_FOLDER
}
&&
rm
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
.tar.gz
&&
\
rm
-rf
${
SRC_FOLDER
}
/openmm-
${
OPENMM_VERSION
}
# INSTALL OST
#############
RUN
cd
${
SRC_FOLDER
}
&&
\
# copy ost release
wget -O openstructure-${OPENSTRUCTURE_VERSION}.tar.gz -nc https://git.scicore.unibas.ch/schwede/openstructure/repository/${OPENSTRUCTURE_VERSION}/archive.tar.gz && \
mkdir openstructure-${OPENSTRUCTURE_VERSION} && \
tar xf openstructure-${OPENSTRUCTURE_VERSION}.tar.gz -C ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION} --strip-components=1 && \
mkdir -p ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION}/build && \
cd ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION}/build && \
# cmake ost
cmake .. -DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-DOPTIMIZE=ON \
-DENABLE_MM=ON \
-DCOMPILE_TMTOOLS=1 \
-DOPEN_MM_LIBRARY=$OPENMM_LIB_PATH/libOpenMM.so \
-DOPEN_MM_INCLUDE_DIR=$OPENMM_INCLUDE_PATH \
-DOPEN_MM_PLUGIN_DIR=$OPENMM_LIB_PATH/plugins \
-DENABLE_GFX=ON \
-DENABLE_GUI=ON && \
make -j ${CPUS_FOR_MAKE} &&\
# get the compound library \
wget ftp://ftp.wwpdb.org/pub/pdb/data/monomers/components.cif.gz &&\
stage/bin/chemdict_tool create components.cif.gz compounds.chemlib pdb && stage/bin/chemdict_tool update modules/conop/data/charmm.cif compounds.chemlib charmm &&\
mkdir -p $COMPLIB_DIR && chmod a+rw -R $COMPLIB_DIR && mv compounds.chemlib $COMPLIB_DIR && \
# rerun cmake and specify compound lib location
cmake .. -DCOMPOUND_LIB=$COMPLIB_DIR/compounds.chemlib && \
# Build OST with compound library
make -j ${CPUS_FOR_MAKE} && make check && make install && \
# cleanup
cd ${SRC_FOLDER} && rm ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION}.tar.gz && \
rm -rf ${SRC_FOLDER}/openstructure-${OPENSTRUCTURE_VERSION} && \
# BEND AROUND COMPOUND LIB
# By default, the compound library is moved to
# /usr/local/share/openstructure/compounds.chemlib upon building
# We replace that file with a symbolic link to the compound.chemlib in
# $COMPLIB_DIR
# The advantage is that we can later on mount any directory containing this file
# in that directory and override the compound lib with updated versions.
rm /usr/local/share/openstructure/compounds.chemlib && \
ln -s $COMPLIB_DIR/compounds.chemlib /usr/local/share/openstructure/compounds.chemlib
# INSTALL ProMod3
#################
...
...
@@ -132,13 +24,15 @@ RUN cd ${SRC_FOLDER} && \
cd ${SRC_FOLDER}/promod-${PROMOD_VERSION}/build && \
# Build and install ProMod3
cmake .. -DOST_ROOT=/usr/local \
-DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython2.7.so \
-DOPTIMIZE=ON \
-DENABLE_SSE=1 && \
make -j ${CPUS_FOR_MAKE} && make codetest && make doctest && \
make install && \
-DPYTHON_LIBRARIES=/usr/lib/x86_64-linux-gnu/libpython3.6m.so \
-DOPTIMIZE=1 \
-DENABLE_SSE=1 \
-DDISABLE_DOCUMENTATION=1 && \
make && make check && make install && \
# cleanup
cd ${SRC_FOLDER} && rm ${SRC_FOLDER}/promod-${PROMOD_VERSION}.tar.gz && \
rm -rf ${SRC_FOLDER}/promod-${PROMOD_VERSION}
WORKDIR
/home
ENTRYPOINT
["pm"]
container/Singularity
View file @
a7fd92d3
BootStrap: docker
Registry: http://localhost:5000
Namespace:
From: promod:latest
From: registry.scicore.unibas.ch/schwede/promod3:3.0.0
%post
##############################################################################
# POST
##############################################################################
# CHANGE DASH TO BASH
rm /bin/sh
ln -sf /bin/bash /bin/sh
# INSTALL NGL AND JUPYTER WITH PIP
######################################
pip install --no-cache-dir nglview==1.1.6 \
jupyter==1.0.0
# SETUP JUPYTER
###############
# INSTALL SYSTEM DEPS
#####################
apt-get update -y && apt-get install -y python3-pip
pip3 install nglview \
ipython \
jupyter
# SETUP IPYTHON / JUPYTER
#########################
export IPYTHONDIR="/usr/local/share/ipython"
export JUPYTER_CONFIG_DIR="/usr/local/etc/jupyter"
export JUPYTER_PATH="/usr/local/share/jupyter"
export JUPYTER_RUNTIME_DIR="/tmp/jupyter_runtime"
mkdir -p /usr/local/share/ipython
mkdir -p
/usr/local/share/jupyter
mkdir -p
/usr/local/etc/jupyter
mkdir -p
/usr/local/share/jupyter/runtime
mkdir -p
/usr/local/share/jupyter
/kernels/ost-kernel
mkdir -p
$JUPYTER_PATH
mkdir -p
$JUPYTER_RUNTIME_DIR
mkdir -p
$JUPYTER_CONFIG_DIR
mkdir -p
$JUPYTER_PATH
/kernels/ost-kernel
chmod a+rw -R /usr/local/share/ipython
chmod a+rw -R
/usr/local/share/jupyter
chmod a+rw -R
/usr/local/etc/jupyter
chmod a+rw -R
/usr/local/share/jupyter/runtime
cat >
/usr/local/share/jupyter
/kernels/ost-kernel/kernel.json <<EOF
chmod a+rw -R
$JUPYTER_PATH
chmod a+rw -R
$JUPYTER_CONFIG_DIR
chmod a+rw -R
$JUPYTER_RUNTIME_DIR
cat >
$JUPYTER_PATH
/kernels/ost-kernel/kernel.json <<EOF
{
"display_name": "OST",
"language": "python",
"argv": [
"python",
"-m", "ipykernel",
"display_name": "OST",
"language": "python",
"argv": [
"python",
"-m", "ipykernel",
"-f", "{connection_file}",
"--InteractiveShellApp.exec_PYTHONSTARTUP=False",
"--InteractiveShellApp.exec_files=['/usr/local/lib64/python
2.7
/site-packages/ost/ost_startup.py']"
],
"env": {
}
"--InteractiveShellApp.exec_PYTHONSTARTUP=False",
"--InteractiveShellApp.exec_files=['/usr/local/lib64/python
3.6
/site-packages/ost/ost_startup.py']"
],
"env": {
}
}
EOF
...
...
@@ -50,11 +55,181 @@ jupyter nbextension enable nglview --py --sys-prefix
##############################################################################
# ENVIRONMENT
##############################################################################
export QT_X11_NO_MITSHM=1
export IPYTHONDIR=/usr/local/share/ipython
export JUPYTER_CONFIG_DIR=/usr/local/etc/jupyter
export JUPYTER_PATH=/usr/local/share/jupyter
export JUPYTER_RUNTIME_DIR=$JUPYTER_PATH/runtime
export TEMP="/tmp"
export TEMPDIR="/tmp"
export TMPDIR="/tmp"
export TMP="/tmp"
# As the Singularity mounts $HOME by default Jupyter and Ipython config files
# are moved to separate directories. Proper environmental variables are also
# set
export IPYTHONDIR="/usr/local/share/ipython"
export JUPYTER_CONFIG_DIR="/usr/local/etc/jupyter"
export JUPYTER_PATH="/usr/local/share/jupyter"
export JUPYTER_RUNTIME_DIR="$TMPDIR/jupyter_runtime"
%apprun ChemdictTool
##############################################################################
# CHEMDICT TOOL APP
##############################################################################
$OST_ROOT/bin/chemdict_tool "$@"
%apprun lDDT
##############################################################################
# lDDT APP
##############################################################################
$OST_ROOT/bin/lddt "$@"
%apphelp lDDT
The Local Distance Difference Test.
Usage:
singularity run --app lDDT <IMAGE> [options] <mod1> [mod1 [mod2]] <re1>[,ref2,ref3]
Options:
-s selection performed on ref
-c use Calphas only
-f perform structural checks and filter input data
-t fault tolerant parsing
-p <file> use specified parmeter file. Mandatory
-v <level> verbosity level (0=results only,1=problems reported, 2=full report)
-b <value> tolerance in stddevs for bonds
-a <value> tolerance in stddevs for angles
-r <value> distance inclusion radius
-i <value> sequence separation
-e print version
-x ignore residue name consistency checks
%apprun Molck
##############################################################################
# MOLCK APP
##############################################################################
$OST_ROOT/bin/molck "$@"
%apphelp Molck
This is molck - the molecule checker
Usage:
singularity run --app Molck <IMAGE> [options] file1.pdb [file2.pdb [...]]
Options:
--complib=path location of the compound library file. If not provided, the
following locations are searched in this order:
1. Working directory, 2. OpenStructure standard library location (if the
executable is part of a standard OpenStructure installation)
--rm=<a>,<b> remove atoms and residues matching some criteria
zeroocc - Remove atoms with zero occupancy
hyd - Remove hydrogen atoms
oxt - Remove terminal oxygens
nonstd - Remove all residues not one of the 20 standard amino acids
unk - Remove unknown and atoms not following the nomenclature
--fix-ele clean up element column
--stdout write cleaned file(s) to stdout
--out=filename write cleaned file(s) to disk. % characters in the filename are
replaced with the basename of the input file without extension.
Default: %-molcked.pdb
--color=auto|on|off
whether output should be colored
--map-nonstd maps modified residues back to the parent amino acid, for example
MSE -> MET, SEP -> SER.
%apprun OST
##############################################################################
# OST APP
##############################################################################
$OST_ROOT/bin/ost "$@"
%apphelp OST
The OST app exposes the OpenStructure executable and can be used to run an
interactive shell, scripts and OpenStructure actions.
ProMod3 modules can be imported as any other Python module.
Usage:
singularity run --app OST <IMAGE> [options] (script | action)
[parameters]
Options:
-i, --interactive start interpreter interactively (must be first
parameter, ignored otherwise)
-h, --help show this help message and exit
-v VLEVEL, --verbosity_level=VLEVEL
sets the verbosity level [default: 2]
To list all available actions:
singularity run --app OST <IMAGE> --help
If script requires some external files eg. PDBs, they have to be located in the
path accessible via mounted volumes. By default Singularity mounts $HOME and
goes to CWD. Thus this sould work as expected out of the box.
%apprun PM
##############################################################################
# PM APP
##############################################################################
$PROMOD_ROOT/bin/pm "$@"
%apphelp PM
The PM app exposes the ProMod3 executable and can be used to run scripts and
predefined modelling "actions".
Usage:
singularity run --app PM <IMAGE> [options] (script | action)
[parameters]
Options:
-h, --help show this help message and exit
-v VLEVEL, --verbosity_level=VLEVEL
sets the verbosity level [default: 2]
To list all available actions:
singularity run --app PM <IMAGE> help
If script/action requires some external files eg. PDBs, they have to be located