• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.azure-pipelines/H07-Sep-2021-149146

cmake/H07-Sep-2021-7655

example_dir/H03-May-2022-3419

project.xcworkspace/xcshareddata/H07-Sep-2021-98

test/H03-May-2022-1,4481,232

xcshareddata/xcschemes/H07-Sep-2021-110109

.clang-formatH A D07-Sep-20211.8 KiB6260

.gitignoreH A D07-Sep-202145 87

CoordgenConfig.hppH A D07-Sep-2021338 2314

CoordgenFragmentBuilder.cppH A D07-Sep-202139.1 KiB1,091991

CoordgenFragmentBuilder.hH A D07-Sep-20216.5 KiB19982

CoordgenFragmenter.cppH A D07-Sep-202115 KiB443384

CoordgenFragmenter.hH A D07-Sep-20213.5 KiB12449

CoordgenMacrocycleBuilder.cppH A D07-Sep-202143.1 KiB1,3901,246

CoordgenMacrocycleBuilder.hH A D07-Sep-202112.4 KiB402230

CoordgenMinimizer.cppH A D07-Sep-202160.2 KiB1,6971,555

CoordgenMinimizer.hH A D07-Sep-202113.9 KiB401180

CoordgenTemplates.cppH A D07-Sep-2021177 KiB4,8754,603

CoordgenTemplates.hH A D07-Sep-2021483 276

Info.plistH A D07-Sep-2021717 2322

LICENSEH A D07-Sep-20211.5 KiB3023

README.mdH A D07-Sep-20215.1 KiB7846

azure-pipelines.ymlH A D07-Sep-20212 KiB8280

mol_generator.pyH A D07-Sep-20214.1 KiB184135

project.pbxprojH A D07-Sep-202126.4 KiB898897

qt_makeqmake.makH A D07-Sep-202120.6 KiB282277

qt_preprocess.makH A D07-Sep-20211.9 KiB5040

sketcherMaeReading.hH A D07-Sep-20212.4 KiB6643

sketcherMinimizer.cppH A D03-May-2022129.4 KiB3,7463,325

sketcherMinimizer.hH A D07-Sep-202121.3 KiB520295

sketcherMinimizerAtom.cppH A D07-Sep-202151.3 KiB1,6941,454

sketcherMinimizerAtom.hH A D07-Sep-20219.8 KiB278172

sketcherMinimizerBendInteraction.hH A D07-Sep-20214.7 KiB163103

sketcherMinimizerBond.cppH A D07-Sep-20216.2 KiB217198

sketcherMinimizerBond.hH A D07-Sep-20213.7 KiB12366

sketcherMinimizerClashInteraction.hH A D07-Sep-20212.2 KiB8158

sketcherMinimizerConstraintInteraction.hH A D07-Sep-20211.2 KiB4325

sketcherMinimizerEZConstrainInteraction.hH A D07-Sep-20213.1 KiB9475

sketcherMinimizerFragment.cppH A D07-Sep-202113.3 KiB527457

sketcherMinimizerFragment.hH A D07-Sep-20218.4 KiB286168

sketcherMinimizerInteraction.hH A D07-Sep-20212 KiB7252

sketcherMinimizerMarchingSquares.cppH A D07-Sep-20218.3 KiB297254

sketcherMinimizerMarchingSquares.hH A D07-Sep-20212.8 KiB9762

sketcherMinimizerMaths.hH A D07-Sep-202123.5 KiB727534

sketcherMinimizerMolecule.cppH A D07-Sep-20217.7 KiB280238

sketcherMinimizerMolecule.hH A D07-Sep-20213.8 KiB11567

sketcherMinimizerResidue.cppH A D07-Sep-2021434 2411

sketcherMinimizerResidue.hH A D07-Sep-20211.8 KiB6145

sketcherMinimizerResidueInteraction.cppH A D07-Sep-2021924 4026

sketcherMinimizerResidueInteraction.hH A D07-Sep-20211 KiB3416

sketcherMinimizerRing.cppH A D07-Sep-20214.1 KiB173147

sketcherMinimizerRing.hH A D07-Sep-20212.2 KiB7135

sketcherMinimizerStretchInteraction.hH A D07-Sep-20211.5 KiB5236

templates.maeH A D07-Sep-2021154.6 KiB7,3867,302

README.md

1# CoordgenLibs
2
3[![Azure_Build_Status](https://dev.azure.com/patlorton/coordgenlibs/_apis/build/status/schrodinger.coordgenlibs?branchName=master)](https://dev.azure.com/patlorton/coordgenlibs/_build/latest?definitionId=2&branchName=master)
4
5This is **Schrödinger, Inc's** 2D coordinate generation.  It was formerly proprietary code, but is now released under the [BSD license](https://github.com/schrodinger/coordgenlibs/blob/master/LICENSE).  The emphasis of these algorithms are on quality of 2D coordinates rather than speed of generation.  The algorithm distinguishes itself from many others by doing well with both macrocycles and metal complexes.  It also does extremely well on typical drug-like small molecules, and has been validated on millions of compounds.
6
7Schrodinger intends to continue to contribute to this code as it still uses it inside its products, but will also be happy if others contribute pull-requests when there are improvements they would like to make.  We'll also be happy to hear bug reports or feature requests from use of this code, though make no guarantee on our ability to process these.
8
9## Documentation
10
11Examples and documentation will be added/improved over time
12
13## Templates
14
15Coordgen uses templates for some macrocycle systems. The source for the templates is `templates.mae`. If
16you're an end user of coordgen, you can add local templates in a file called
17`user_templates.mae` in a directory specified by `CoordgenTemplates::setTemplateDir()`. If you want to
18update the templates, add new templates to `templates.mae` and run `mol_generator.py` to generate the
19source files.
20
21## Usage example
22
23Code for a sample executable is provided in the `example_dir` directory. Building the example executable is enabled by default, but can be disabled by means of the `COORDGEN_BUILD_EXAMPLE` option.
24
25## Automated Testing
26
27Automated testing is still primarily taking place inside Schrodinger's internal build system, although tests are incrementally being added to the `testing` directory. Building the tests is enabled by default, but can be disabled by means of the `COORDGEN_BUILD_TESTS` option.
28
29Memory debugging is, by default, configured to use `valgrind`. It can be run on the tests by passing `-DCMAKE_BUILD_TYPE=Debug` to cmake, to enable building the debugging symbols, and then using `ctest -T memcheck` inside the build directory.
30
31## Building from source
32
33### Requirements
34
35To build coordgen, you will need to have the following installed in your system:
36
37- **CMake** version 3.2 or later.
38- The development files for the **Boost libraries**. At least the **iostreams** and **regex** components are required. In case of also building the unit tests, the **filesystems** and **unit_test_framework** components will also be required.
39- A **C++ compiler** supporting the C++11 standard.
40- A compiled instance of the **maeparser library** or its source code.
41
42In case **maeparser** is not available on your system, neither as a compiled library or as source code, if a working `git` executable and an internet connection are available, the builder can automatically download the source and build **maeparser** for you.
43
44### Building
45
461. Create a build directory inside the the one that contains Coordgen, and move into it:
47
48    ```bash
49    mkdir build
50    cd build
51    ```
52
531. Run `cmake` to configure the build, passing the path to the directory where the sources are located (just `..` if you created `build` inside the sources directory). At this point, you should add any required flags to the `cmake` command. Check the 'Options' section in CMakeLists.txt to see which options are available.
54
55    ```bash
56    cmake .. -Dmaeparser_DIR=/home/schrodinger/maeparser_install -DCMAKE_INSTALL_PREFIX=/home/schrodinger/coordgen_install`
57    ```
58
59    A few notes on the maeparser dependency:
60
61    - CMake will, by default, search your system's default library paths for the maeparser library. If a `CMAKE_INSTALL_PREFIX` was specified to Coordgen, CMake will also search for maeparser there.
62
63    - If you already built and installed maeparser using the `CMAKE_INSTALL_PREFIX` to set the installation path, you should pass the exact same path to Coordgen with `maeparser_DIR`.
64
65    - If CMake cannot find a compiled library for maeparser, it will attempt to download the source code from GitHub and build it. The release to be downloaded if the library is not found can be set using the `-DMAEPARSER_VERSION` flag. The sources will be stored in a directory named like `maeparser-{MAEPARSER_VERSION}` under the coordgen sources.
66
67    - If `maeparser_DIR` was passed to CMake, and the library was not found, CMake will **NOT** download the sources from GitHub (since we expected to find a compiled library).
68
69    - If a copy of maeparser's source is found under the proper path, it be used, instead of being downloaded again.
70
71    - If you want to use Coordgen in a CMake project that also depends on maeparser, set up the maeparser first, as Coordgen will be able to find and use it, without searching for further libraries or compiling it again from the source code.
72
731. Build and install:
74
75    ```bash
76    make -j install
77    ```
78