App Logo
MS File Converter Docker-Orchestration

Installation

Docker Based Mass Spectometry File Coverter.

Initial Step

It is recommended to build three Docker images on your hosted machine for proper functionality. Inside the docker_instance directory, you will find three subfolders:

  • main_workflow_docker - orchestrates the other microservices
  • msconvert_docker - handles MS file conversion
  • validation_docker - performs data validation and file convert

Steps of installation

Steps for Docker Based Mass Spectrometry File Converter Installation

Clone the repository

git clone https://github.com/NFDI4Chem/cs-ms-converter.git

Go inside the folder msconverter-docker

cd msconverter-docker

Create a main workflow image

To build the main workflow image, navigate inside the main_workflow_docker directory and run the following command (replace main_api with your desired image name if needed):

docker build -t main_api  .

Create an msconvert image

To build the msconvert image, navigate inside the msconvert_docker directory and execute the following command:

docker build -t msconvert_image  .

Create a validation image

To build the validation image, navigate inside the msconvert_docker directory and run the following command:

docker build -t validation_image  .

Docker Setup

Once the Docker images have been successfully built, the next step is to launch containers for each service. Before doing so, it is recommended to create a dedicated Docker network to enable seamless communication between these containers.

Create a Docker Network

Use the command below to create a custom network named my_network (as example):

docker network create my_network

Creating main workflow container

The main_workflow container functions as the central orchestrator for the microservices. The command line is used to create a container called nfdi4chem-ms-main-workflow with conditions mentioned above.

docker run -d -ti -p 5000:5000 -v /tmp/input_files:/app/input_files --name nfdi4chem-ms-main-workflow --network my_network main_api

Create msconverter container

The msconvert service is built upon the ProteWizard container, enhanced with added additional API endpoints to enable automated data conversion. It executes the standard msconvert command and accepts parameters as specified in the official documentation.

Like the main workflow container, this service should be connected to a shared host directory and the my_network Docker network to enable file exchange and inter-container communication. ✅ It is recommended to name the container nfdi4chem-ms-msconvert for consistent communication across the conatiner environment.

Launch the container with the following command:

docker run -d -ti -p 4000:4000 -v /tmp/input_files:/app/input_files --name nfdi4chem-ms-msconvert --network my_network msconvert_image

Create validation container

The validation microservice is based on the official OpenMS container, and has been extended with custom API endpoints to support validation of mzML files, as described in the FileInfo documentation. Additionally, it incorporates functionality to correct or reprocess mzML files using FileConverter.

🚨 For consistency and interoperability, it is recommended to name this container nfdi4chem-ms-validation.

Following the same volume and network setup as in Steps 1 and 2, the container can be launched using the command below

docker run -d -ti -p 3000:3000 -v /tmp/input_files:/app/input_files --name nfdi4chem-ms-validation --network my_network validation_image