Files
rdkit/Code/JavaWrappers/csharp_wrapper
Dan N eaa44b40c2 Enhanced stereo read/write support in SDF files. (#2022)
* add a couple test files

* backup

* first pass at some theory documentatin

* it's a draft

* Update enhanced stereochemistry documentation

Adds initial target use case and caveats about the tentative
nature of the current implementation.

* Support read/write of molfile enhanced stereochemistry

This includes reading and writing of enhanced stereochemistry
from v3000 molfiles (sdf). Enhanced stereochemistry encodes
the relative configuration of stereocenters, allowing
representation of racemic mixtures and compounds with
unknown absolute stereochemistry.

It does not include:
* Python wrapping
* invalidation of the enhanced stereochemistry
* use of enhanced stereochemistry in search
* depiction of enhanced stereochemistry.

* Update to reflect changes from #1971

* change names of enum elements to allow compilation in VS2017

I think it's also clearer to do things this way

* Addressed most review comments.

* Run missed test "testEnhancedStereoChemistry"
* In tests, added size checks to group equality checks
* Updated copyright statements
* Deleted mol created for a test
* Use perfect forwarding in RWMol::setStereoGroups()
* use references for stereo groups that are checked in write and pickle
* Updated stereogroup.h in hopes of fixing compilation on Windows.
* clang-format

* try allowing a switch to boost regex and requiring it for g++-4.8

* do a better job of that

* typo

* Code review comments. Updated Copyright notice.

* When an atom is deleted, delete stereo groups containing it.

Also updates StereoGroup toUse accessors instead of
constant member attributes. This allows move of StereoGroups.

* RDKit style guide

* Add header required on Windows.

* get the SWIG wrappers to build
2018-09-26 15:44:23 +02:00
..
2012-11-22 04:26:11 +00:00

To build on Windows:
====================

Since cmake doesn't know anything about C#, there's an unfortunate
manual step involved in this. 

  - Make sure that the cmake configuration variable
    RDK_BUILD_SWIG_CSHARP_WRAPPER is set to ON. 
  - Run cmake to generate the solution file and open it in Visual
    Studio. 
  - Select the option to add an existing project and add
    $RDBASE/Code/JavaWrappers/csharp_wrapper/RDKit2DotNet.csproj 
  - Right click on the added project (named RDKit2DotNet) and add a
    dependency to RDKFuncs (this is the project that creates the C++
    dll that the C# project needs) 
  - Build the RDKit2DotNet project.

Your bin directory
($RDBASE/Code/JavaWrappers/csharp_wrapper/bin/Release if you did a
release build) now contains two DLLs: 
  - RDKFuncs.dll is the C++ dll containing the RDKit functionality 
  - RDKit2DotNet.dll contains the C# wrapper. 
To use the wrappers in your own projects, you should copy both dlls
into your project directory and add a reference to RDKit2DotNet.dll 

The directory RDKitCSharpTest contains a sample test project and some
code that makes very basic use of the wrapper functionality. 


To build on a linux system with mono installed:
==============================================

  - Make sure that the cmake configuration variable
    RDK_BUILD_SWIG_CSHARP_WRAPPER is set to ON. 
  - Run cmake and then do "make install"

This will create, in this directory, two files:
  - libRDKFuncs.{so,dynlib} (name depends on OS): the C++ dll
    containing the RDKit functionality
  - RDKit2DotNet.dll contains the C# wrapper.
  
Build and run the test code:
-------------------------------
gmcs -out:test.exe -addmodule:./RDKit2DotNet.dll test.cs
mono test.exe