The ioChem-BD platform is made to level up your work in the computational chemistry and materials science field thanks to it’s extensive data management features. We propose here three ways to try ioChem-BD, choose the one that suits you best.
As an individual academic researcher we give you free access to the ioChem-BD services hosted at the Barcelona Supercomputing Center node (BSC-CNS). The BSC node not only holds the free user accounts but also the Find repository. Publish your work and boost yours and others research thanks to the data project CODI-PROjecte BSC.
You can dowload the binary package or install a docker container, and run the Essential open-source ioChem-BD in your own laptop or HPC cluster. Data could not be published nor will be synchronised with the central Find repository until your service is officially registered.
The Barcelona Supercomputing Center node (BSC-CNS) is the institution that holds the largest community, more than 600 users from 65 different countries as May 2024. There, everyone can use ioChem-BD. This option has many advantages such as saving disk space and free publishing. Academic users can keep the account and use the Essential version forever. You can check all the features in the products page.
In case you want to have ioChem-BD in your own machine, keep in mind that data won’t be synchronized with the BSC node. However, you can dowloand the binary package from our GItlab or install a docker container.
Apply for a BSC account filling this form.
ioChem-BD platform is a series of Java web services for managing computational chemistry results. It is coded to run on a UNIX/Linux server but, in order to overcome this limitation, a docker image has been created to run it on multiple platforms.
Current project contains all the necessary files to easily deploy ioChem-BD chemical software by the use of containers. It allows to run ioChem-BD with no dependencies or prerequisites except the docker tool. The deployment is customizable by modifying a configuration file bundled inside this project.
Required packages:
Go from zero to ioChem-BD in a simple command line:
$ docker run -d --ulimit nofile=20000:65535 -m 8192m --name iochem-bd-with-data --add-host test.iochem-bd.org:127.0.0.1 -p 8443:8443 --hostname test.iochem-bd.org iochembd/iochem-bd-docker:latest-with-data
Previous command will start a container of an ioChem-BD installation with some user accounts created and a few calculations uploaded to them, so you can play around it, the startup process can take a couple of minutes.
To make the container run properly, please reserve at least 6GB of memory for the container with the -m 6144m
parameter.
Must also add this entry to your hosts file to route properly to the running container:
127.0.0.1 test.iochem-bd.org
Now point the browser to https://test.iochem-bd.org:8443
and after a complain about the self-signed certificate, it will show the ioChem-BD main page.
The administrator account has the following default credentials:
With this user account you can start creating users, user groups and communities where to publish your content following the ioChem-BD documentation.
It contains two folders:
/docker-compose
: For running ioChem-BD using docker-compose utility./docker
: It contains the required Dockerfile
and /resources
folder to build a new ioChem-BD docker image from scratch, just in case you want to add more packages or customizations to the vanilla image.The images are available on the following Docker registry services:
This is the most straightforward method to configure and run the container. First, download this project to a local folder, then run docker-compose:
$ git clone https://gitlab.com/ioChem-BD/iochem-bd-docker.git
$ cd iochem-bd-docker/docker-compose
$ docker-compose up
It will download the latest image, set it up and run it with the default values:
parameter | value |
---|---|
hostname | test.iochem-bd.org |
web service port | 8443 |
admin credentials | defined on /custom/default.config file |
data contained | Without data. In case you want to use the image with demo data, edit docker-compose.yml and set image parameter to iochembd/iochem-bd-docker:latest-with-data |
Must also add this entry to your hosts file to enroute properly to the running container:
127.0.0.1 test.iochem-bd.org
Now point the browser to https://test.iochem-bd.org:8443
and after a complain about the self-signed certificate, it will show the ioChem-BD main page.
Docker-compose tool allow to run, stop and delete containers by reading the docker-compose.yml
file.
$ cd docker-compose # Always move to the base *docker-compose* folder to run the commands $ docker-compose logs -f # View the system log of the container (check for error and other info) $ docker-compose stop #
Stop the container
$ docker-compose start # Start the container
$ docker-compose rm -fv # Remove the container (must be stopped first)
Custom deployment
All parameters used during the ioChem-BD setup are defined inside docker-compose.yml
and default-config
files.
Move to /docker-compose
folder and review the following elements:
docker-compose.yml
: The composer file used to setup and launch the container/custom/default.config
: Custom configurations applied to the containerioChem-BD image can be run from command line with no downloads at all. Just type in this command:
$ docker run -d --ulimit nofile=20000:65535 -m 8192m --name iochem-bd-docker --add-host test.iochem-bd.org:127.0.0.1 -p 8443:8443 --hostname test.iochem-bd.org iochem-bd/iochem-bd:latest
And add this entry to your hosts file to enroute properly to the running container:
127.0.0.1 test.iochem-bd.org
Now point you browser to https://test.iochem-bd.org:8443
and after a complain about the self-signed certificate it will show the ioChem-BD main page.
$ docker ps # List running containers
$ docker logs -f iochem-bd-docker # View the system log of the container (check for error and other info)
$ docker exec -ti iochem-bd-docker /bin/bash # Login inside the container
$ docker stop iochem-bd-docker # Stop the container
$ docker start iochem-bd-docker # Start an stopped container
$ docker rm -fv iochem-bd-docker # Remove the container (must be stopped first)
In order to configure a different server port, hostname or change the administrator account credentials, you must provide a configuration file and mount it as a volume of the container.
First download the /docker/resources/default.config
file from this project and drop it on a folder, let's name it custom
.
Now edit the file and set a different value on hostPort property like 443.
Now we will run the container adding this folder as a volume mounted inside the container. The installation procedure will detect it and setup the system accordingly.
Launch the docker run
varying the -p
parameter and adding the volume:
$ docker run -d --ulimit nofile=20000:65535 -m 8192m --name iochem-bd-docker --add-host test.iochem-bd.org:127.0.0.1 -v /custom:/tmp/iochembd-resources -p 443:443 --hostname test.iochem-bd.org iochem-bd/iochem-bd:latest
hosts
fileIn order to allow communication with the new running container, the host running docker service must know the IP assigned to the new ioChem-BD container, in this case it is localhost (127.0.0.1).
The file depends on the host OS:
Operating System | Location |
---|---|
Unix, Unix-like, POSIX | /etc/hosts |
Microsoft Windows | %SystemRoot%\System32\drivers\etc\hosts |
Apple Macintosh | /etc/hosts (a symbolic link to /private/etc/hosts) |
If you run the vanilla ioChem-BD image (without changing any parameter) and intend to run it on production, please update administrator account password from the Browse module web interface or create a new one and delete the original.
The ioChem-BD software platform is a suite of web services oriented to manage the entire life-cycle of Computational Chemistry and Material Science digital files.
The current project holds all necessary source files to build and bundle distributable copies of the ioChem-BD platform. Otherwise, you can deploy the platform easily using containers, please refer to the specific Docker project for more information.
Here is a list of the folders and files contained inside the project, grouped by functionality:
Data conversion related projects:
Other resources, build utilities, etc:
Along with the project files, there is an Ant build file at the root of the project named build.xml that will generate the target folder with the distributable package. The build file will perform tasks such as retrieving library dependencies and platform packages, compiling source code, bundling web modules and moving all content to the right place.
The following tools are required to build the project:
To start, we will get the latest source from GitHub:
$ git clone --depth=1 https://gitlab.com/ioChem-BD/iochem-bd #Remove --depth=1 to get the entire repository
Now set up JAVA_HOME pointing the root of the Java JDK 1.8 folder, otherwise Ant will fail to start.
$ export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.fc29.x86_64/jre/bin/java #Or the place where your Java JDK resides
Run ant package target, it will clean the previous bundle, compile all projects, set up the proper configurations and move all the resulting content into the target folder.
$ cd iochem-bd
$ ant package
This process will take some time to finish, then a folder called target will be generated.
This folder contains the distributable package, ready to be copied and installed on any server.
Rename the new target folder to iochem-bd (for example), copy it to its final destination (/opt, a local user folder, etc) and then follow the instructions from ioChem-BD webpage to install it.
The platform is a set of maven projects that can be extended to provide more functionalities, code new chemical formats, data visualisations, capture new metadata fields, etc. Its GNU license gives you the freedom to work with its code without limitations.
To learn more about each project, you can refer to the README.md file on the base of each project and to the README_DEVEL file that explains how to set up an IDE to work with it.
Once you feel comfortable using the ioChem-BD platform and started creating, storing and sharing your scientific results, please consider connecting it to our central repository.
Just fill this form and we will assist you in the process of connecting your ioChem-BD instance to the central service.
Please subscribe to our mailing list to receive new release, bug fixes, and improvements notifications.
If you are interested in our product, please send us a message and we will get back to you.
CONTACT US