Commit a7fd92d3 authored by Bienchen's avatar Bienchen
Browse files

Merge branch 'release-3.0.0'

parents a8c07e87 2f89335b
......@@ -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
......
......@@ -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)
......
ProMod3 - A Versatile Homology Modelling Toolbox
Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
Biozentrum - University of Basel
ProMod3 is developed in the Schwede lab at the Biozentrum - University of Basel.
......
......@@ -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``.
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
# Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
# Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
# Biozentrum - University of Basel
#
# Licensed under the Apache License, Version 2.0 (the "License");
......
......@@ -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()
......
#-------------------------------------------------------------------------------
# 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
)
......@@ -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})
......
// Copyright (c) 2013-2018, SIB - Swiss Institute of Bioinformatics and
// Copyright (c) 2013-2020, SIB - Swiss Institute of Bioinformatics and
// Biozentrum - University of Basel
//
// Licensed under the Apache License, Version 2.0 (the "License");
......
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"]
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/python2.7/site-packages/ost/ost_startup.py']"
],
"env": {
}
"--InteractiveShellApp.exec_PYTHONSTARTUP=False",
"--InteractiveShellApp.exec_files=['/usr/local/lib64/python3.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