MolProbity website source and installation instructions are provided with the
cautionary restriction and explicit understanding that user deployment occur
only on individual machines and restricted access private networks.
This code is not intended for deployment on world accessible public sites.
We recommend that users consider an installation in
user space as opposed to a systemwide installation and invoke molprobity
as a local app using a lightweight user based web server (such as
php -S localhost:8000 provided with the php-cli package) as opposed to the
systemwide web server (eg apache.)
Installation is fairly straightforward but will probably require some system
administration background. The most notable wrinkle is the need to install
an older version of PHP (PHP5.6) as the default PHP interpreter.
MolProbity installation is accomplished with a downloadable script which
fetches required sources and data into a specifically created empty directory
as opposed to cloning this repository.
We describe our installation recipe in three parts:
System preparation (mostly installing php 5.6)
Molprobity installation using our standalone script placed at the top of
an empty directory created specifically for the installation
Providing system and local webservices. These notes are mostly specific
to Linux Ubuntu/Debian systems but can be adapted to other platforms.
1. System Preparation:
a. Preliminaries:
Linux users should ensure that gawk is on a path that the
server can read (gawk may need to be installed). Also, python-dev is a
one of MolProbity’s cctbx dependencies, and may need to be installed.
The build script will warn you about this if it fails for this reason.
32 BIT Linux is not supported.
Mac users should know that the Xcode app and xcode commandline tools may be
needed to install MolProbity.
b. Installing PHP 5.6
MolProbity requires the older 5.6 version of PHP to work.
The MolProbity installation process is currently in flux. This is our
recommended protocol which starts with downloading our standalone
installation script into an empty MolProbity directory specifically
created for the installation.
a. Acquiring MolProbity
First create the empty MolProbity directory (the directory that this
README file will be in) to a location where you want it to reside.
Note that Apache will have to see molprobity/public_html if you are
interested in setting up a web service.
Second, open a terminal and change into the empty MolProbity directory which you
have just created. Download our installation script into your MolProbity
directory with:
Make sure that this script is at the top level of the directory where
MolProbity is to be installed.
b. Run install_via_bootstrap.sh.
./install_via_bootstrap.sh
The script can accept a single integer argument to set the number of processors
to use. We recommend 4 if possible.
./install_via_bootstrap.sh 4
This will install cctbx_project and the following needed buildlist components
in MolProbity/modules:
annlib
annlib_adaptbx
cbflib
ccp4io
ccp4io_adaptbx
cctbx_project
chem_data
probe
reduce
tntbx
and then will compile and configure in MolProbity/build.
c. Run setup.sh to configure the webserver.
cd/molprobity
./setup.sh
3. Providing System or Local Webservice
a. Webservices
If setting up a webserver, make sure that the machine’s Apache
configuration can point to the MolProbity/public_html directory.
Note that it is not necessary to setup a webserver if you are only
interested in running the command-line tools.
Note that it is not necessary to set up an externally-accessible
webserver like Apache to get MolProbity served as a website available
only on your computer (via localhost). You will need to install
php-cli or a similar package, then open a terminal in the MolProbity directory
and run:
php -S localhost:8000
This starts up a local userspace webserver which will continue to run until
its process is killed.
you will have a functioning local MolProbity site. After finishing your
MolProbity work and closing the browser, you can shut down the local userspace
webservice by using a Ctl-C command to kill the process in the terminal
where the command was invoked.
b. Webserver/PHP configuration
Finally it is very important to tweak webserver and PHP settings
for proper operation.
We have provided two files in public_html/, .user.ini and .htaccess,
which attempt to preclude the need for users to do system-wide server
reconfigurations. In particular, .htaccess should override the global
php.ini for an Apache MolProbity server, and .user.ini should do the
same for a local PHP-CLI server.
If that doesn’t work, you may need to edit Apache settings for proper
MolProbity performance. The settings file is often called php.ini,
e.g. /etc/php5/???/php.ini, but it will vary on different computers.
We recommend setting at least:
upload_max_filesize = 50M
post_max_size = 50M
Values higher than 50M may be needed for unusually large files.
It may also be appropriate to set the script memory limit, thus:
memory_limit = 1280M
We invite feedback on your experience with these instructions (and notes
for different platforms) so they may be improved. Thank you for using
MolProbity!
Updated Jan 02 2024
Welcome to MolProbity!!
Table of Contents
Introduction
MolProbity website source and installation instructions are provided with the cautionary restriction and explicit understanding that user deployment occur only on individual machines and restricted access private networks. This code is not intended for deployment on world accessible public sites.
We recommend that users consider an installation in user space as opposed to a systemwide installation and invoke molprobity as a local app using a lightweight user based web server (such as php -S localhost:8000 provided with the php-cli package) as opposed to the systemwide web server (eg apache.)
Installation is fairly straightforward but will probably require some system administration background. The most notable wrinkle is the need to install an older version of PHP (PHP5.6) as the default PHP interpreter.
MolProbity installation is accomplished with a downloadable script which fetches required sources and data into a specifically created empty directory as opposed to cloning this repository.
We describe our installation recipe in three parts:
1. System Preparation:
a. Preliminaries:
Linux users should ensure that gawk is on a path that the server can read (gawk may need to be installed). Also, python-dev is a one of MolProbity’s cctbx dependencies, and may need to be installed. The build script will warn you about this if it fails for this reason. 32 BIT Linux is not supported.
Mac users should know that the Xcode app and xcode commandline tools may be needed to install MolProbity.
b. Installing PHP 5.6
MolProbity requires the older 5.6 version of PHP to work.
c. PHP Version Check:
d. Configure Apache
or
See
https://vitux.com/how-to-install-php5-php8-on-ubuntu/
2. MolProbity Installation:
The MolProbity installation process is currently in flux. This is our recommended protocol which starts with downloading our standalone installation script into an empty MolProbity directory specifically created for the installation.
a. Acquiring MolProbity
First create the empty MolProbity directory (the directory that this README file will be in) to a location where you want it to reside. Note that Apache will have to see molprobity/public_html if you are interested in setting up a web service.
Second, open a terminal and change into the empty MolProbity directory which you have just created. Download our installation script into your MolProbity directory with:
Make sure that this script is at the top level of the directory where MolProbity is to be installed.
b. Run install_via_bootstrap.sh.
The script can accept a single integer argument to set the number of processors to use. We recommend 4 if possible.
This will install cctbx_project and the following needed buildlist components in MolProbity/modules:
and then will compile and configure in MolProbity/build.
c. Run setup.sh to configure the webserver.
3. Providing System or Local Webservice
a. Webservices
If setting up a webserver, make sure that the machine’s Apache configuration can point to the MolProbity/public_html directory.
Note that it is not necessary to setup a webserver if you are only interested in running the command-line tools.
Note that it is not necessary to set up an externally-accessible webserver like Apache to get MolProbity served as a website available only on your computer (via localhost). You will need to install php-cli or a similar package, then open a terminal in the MolProbity directory and run:
This starts up a local userspace webserver which will continue to run until its process is killed.
In a browser, navigate to:
http://localhost:8000/public_html/index.php
you will have a functioning local MolProbity site. After finishing your MolProbity work and closing the browser, you can shut down the local userspace webservice by using a Ctl-C command to kill the process in the terminal where the command was invoked.
b. Webserver/PHP configuration
Finally it is very important to tweak webserver and PHP settings for proper operation.
We have provided two files in public_html/, .user.ini and .htaccess, which attempt to preclude the need for users to do system-wide server reconfigurations. In particular, .htaccess should override the global php.ini for an Apache MolProbity server, and .user.ini should do the same for a local PHP-CLI server.
If that doesn’t work, you may need to edit Apache settings for proper MolProbity performance. The settings file is often called php.ini, e.g. /etc/php5/???/php.ini, but it will vary on different computers. We recommend setting at least:
upload_max_filesize = 50Mpost_max_size = 50MValues higher than 50M may be needed for unusually large files.
An external explanation: http://stackoverflow.com/questions/24377403/maximum-upload-size-in-php-and-apache http://stackoverflow.com/questions/2184513/php-change-the-maximum-upload-file-size
It may also be appropriate to set the script memory limit, thus:
memory_limit = 1280MWe invite feedback on your experience with these instructions (and notes for different platforms) so they may be improved. Thank you for using MolProbity!