How to Build and Test EPAM Indigo Projects

Aug 15, 2024 | Programming

Welcome to your comprehensive guide on how to build and test the EPAM Indigo projects! This repository includes tools and frameworks that will empower you in cheminformatics and related tasks. Today, we will walk you through the entire process step-by-step.

Introduction

The EPAM Indigo projects include various components like:

  • Bingo: A chemistry search engine compatible with Oracle, Microsoft SQL Server, and PostgreSQL databases.
  • Bingo-Elastic: A set of APIs for efficient chemistry search in Elasticsearch with both Java and Python.
  • Indigo: A universal cheminformatics library that has bindings to .NET, Java, Python, R, and WebAssembly.
  • Various tools such as Legio, ChemDiff, and indigo-depict that offer additional functionalities.

For more detailed documentation, visit lifescience.opensource.epam.com.

Prerequisites

Before building the project, make sure you have the following tools installed:

  • GIT 1.8.2+
  • CC++ compilers with C++14 support (GCC, Clang, MSVC)
  • CMake 3.4+
  • Python 3.6+
  • JDK 1.8+
  • .NET Standard 2.0+
  • Emscripten SDK
  • Ninja

Building Indigo

To build the Indigo project, follow these steps:

  • First, create a build folder:
  • mkdir build
  • Navigate into your build folder:
  • cd build
  • Use CMake with your desired options, for example:
  • cmake .. -DBUILD_INDIGO=ON -DBUILD_INDIGO_WRAPPERS=ON -DBUILD_INDIGO_UTILS=ON
  • To build Indigo from the console, run:
  • cmake --build . --config Release --target all

Running Tests

Once you have built the project, you can run tests. Here’s how to do it:

  • To run Python integration tests:
  • python -m pip install --user dist/epam.indigo-version-arch.whl
  • If you want to run all integration tests, execute:
  • python api/tests/integration_test.py -t 1
  • For targeted tests, you can specify the test name:
  • python api/tests/integration_test.py -t 1 -p test_name

Building Indigo-WASM

Follow these steps for building Indigo with WebAssembly:

Build Tools Prerequisites

  • Git: Ensure Git is accessible in your command line.
  • Python: Install the latest version from python.org.
  • CMake: Get it from cmake.org.
  • Ninja: Download it from ninja-build.
  • Emscripten SDK: Follow instructions on emsdk.

Get Indigo Sources

git clone https://github.com/epam/Indigo.git

Final Build Steps

  • Activate your emscripten environment:
  • cd emsdk && emsdk activate latest
  • Create a new build directory:
  • mkdir build && cd build
  • Now you can build:
  • emcmake cmake .. -DCMAKE_BUILD_TYPE=Debug -G Ninja && ninja indigo-ketcher-js-test

Troubleshooting

If you encounter issues during the building or testing phases, consider the following troubleshooting ideas:

  • Ensure all required dependencies are installed and properly configured.
  • Verify your environment variables are set correctly, especially for Emscripten and Ninja tools.
  • Check the compatibility of your versions, particularly for CMake and Python.
  • Consult the detailed documentation available at lifescience.opensource.epam.com.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

By following this guide, you should now be equipped to build and test the EPAM Indigo projects successfully! From cheminformatics to backend integration, you have a powerful toolkit at your disposal. At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox