Code Monkey home page Code Monkey logo

stjordanis / indigo Goto Github PK

View Code? Open in Web Editor NEW

This project forked from epam/indigo

0.0 2.0 0.0 109.76 MB

Universal cheminformatics libraries, utilities and database search tools

Home Page: http://lifescience.opensource.epam.com

License: Other

CMake 0.73% C# 4.77% C 2.51% C++ 72.53% Java 6.16% Python 10.74% R 0.06% Makefile 0.01% Batchfile 0.22% Shell 0.14% PLSQL 0.04% NSIS 0.11% TSQL 0.79% PowerShell 0.02% Dockerfile 0.06% JavaScript 0.40% HTML 0.01% Rust 0.23% Assembly 0.08% Less 0.40%

indigo's Introduction

Build Status License

EPAM Indigo projects

Copyright (c) 2009-2020 EPAM Systems, Inc.

Licensed under the Apache License version 2.0

Introduction

This repository includes:

  • Bingo: Chemistry search engine for Oracle, Microsoft SQL Server and PostgreSQL databases
  • Indigo: Universal cheminformatics library with bindings to .NET, Java and Python, and the following tools:
    • Legio: GUI application for combinatorial chemistry
    • ChemDiff: Visual comparison of two SDF or SMILES files
    • indigo-depict: Molecule and reaction rendering utility
    • indigo-cano: Canonical SMILES generator
    • indigo-deco: R-Group deconvolution utility

Detailed documentation is available at http://lifescience.opensource.epam.com

Download

https://lifescience.opensource.epam.com/download/indigo/index.html

Bindings:

Source code organization

Main directory structure layout:

  • api: Indigo API sources
  • bingo: Bingo sources
  • build_scripts: CMake and python scripts for building all the sources
  • third_party: sources for third-party libraries
  • utils: utilities sources
  • common|graph|layout|molecule|reaction|render2d: indigo-core sources

Each project is placed in the corresponding directory with CMakeList.txt configuration file, that does not include other projects. In order to build the whole project with the correct references you need to use CMake configurations from the build_scripts directory.

Preinstalled build tools

To build the project from the sources, the following tools should be installed:

  • GIT 1.8.2+
  • GIT-LFS, so GIT can handle Large File Storage. Refer to https://github.com/git-lfs/git-lfs/wiki/Installation
  • C/C++ compiler
    • Linux: GCC version 4.9+ (GCC 4.8.4 is used in builds) or Clang version 3.5+
    • Windows: Visual Studio 2013+ (2015 is used in builds) or MinGW with GCC version 4.9+
    • macOS: Clang 3.5+ (AppleClang 9.1.0 is used in builds)
  • CMake 3.0+
  • Python 2.7+
  • JDK 1.8+
  • .NET Standard 2.0
  • Maven 3.1+

Build instructions

All the CMake projects are placed in build_scripts directories. You can use them manually, or execute preconfigured scripts those do all the job.

Bingo build instructions

To generate project configuration, build the source code, and create the archives for installation, execute build_scripts/bingo-release.py:

python build_scripts/bingo-release.py --preset=linux32 --dbms=[postgres|oracle|sqlserver]

There are different cmake presets: linux32, linux64, win32, win64, mac10.7 (and also all later mac10.x versions)

There are different dbms targets:

  • postgres - PostgreSQL
  • oracle - Oracle
  • sqlserver - Microsoft SQL Server

Indigo build instructions

To generate project configuration, build the source code, and create the archives for installation, execute build_scripts/indigo-release-libs.py and build_scripts/indigo-release-utils.py:

Linux (GCC 4.9+ or Clang 3.5+)

APT-based requirements (Debian or Ubuntu):

sudo apt install cmake libfreetype6-dev libfontconfig1-dev

RPM-based requirements (RedHat, CentOS, Fedora): install Developer Toolset if your OS does not have GCC 4.9+ and then install dependencies:

sudo yum install cmake freetype-devel fontconfig-devel

Build libraries and utils:

python build_scripts/indigo-release-libs.py --preset=linux64
python build_scripts/indigo-release-utils.py --preset=linux64

Windows (Microsoft Visual Studio 2013+ or MinGW with GCC version 4.9+)

python build_scripts/indigo-release-libs.py --preset=win64-2013
python build_scripts/indigo-release-utils.py --preset=win64-2013

Mac OS (Clang 3.5+)

python build_scripts/indigo-release-libs.py --preset=mac10.14
python build_scripts/indigo-release-utils.py --preset=mac10.14

Other presets

There are different presets for the build scripts:

  • win32-2013, win64-2013: Visual Studio 2013
  • win32-2015, win64-2015: Visual Studio 2015
  • win32-2017, win64-2017: Visual Studio 2017
  • win32-2019, win64-2019: Visual Studio 2019
  • win32-mingw: MinGW
  • win64-mingw: MinGW-w64
  • linux32, linux64: GCC or Clang on Linux with C++11 support
  • linux32-universal, linux64-universal: GCC on Linux with statically linked libstdc++ for using on older Linux systems without C++11 support
  • mac10.7, mac10.8, mac10.9, mac10.10, mac10.11, mac10.12, mac10.12, mac10.13, mac10.14, mac10.15: target Mac OS X or macOS
  • mac-universal: targeting Mac OS X 10.7 as first version with C++11 support, should work on all Mac OS X 10.7+ systems

Wrappers build instructions

To generate Java, C#, or Python wrappers after building the binaries, execute:

python build_scripts/indigo-make-by-libs.py --type=[java|dotnet|python]

Available wrapper types: java, dotnet, python.

indigo's People

Contributors

achurinov avatar alexandersavelyev avatar alexeypavlyuk avatar andreichurinov avatar dependabot[bot] avatar dimitry42 avatar dmitrysigaev avatar dpavlov-ggasoftware avatar eloyfelix avatar ggasoftware avatar iuriipuzanov avatar johnmay avatar karnaukhovv avatar khyurri avatar kuragit avatar long-m-r avatar meawoppl avatar mkviatkovskii avatar mysterionrise avatar qnan avatar rybalkin-ggasoftware avatar sa-chem avatar sammarize avatar sunfellow avatar voddan avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.