15#ifndef _RBTMDLFILESOURCE_H_
16#define _RBTMDLFILESOURCE_H_
18#include "rxdock/BaseMolecularFileSource.h"
19#include "rxdock/ElementFileSource.h"
21#include <nlohmann/json.hpp>
23using json = nlohmann::json;
27const std::string IDS_MDL_RECDELIM =
"$$$$";
34 bool bPosIonisable =
true,
35 bool bNegIonisable =
true,
36 bool bImplHydrogens =
true);
41 friend void to_json(json &j,
const MdlFileSource &mdlFileSrc);
42 friend void from_json(
const json &j,
MdlFileSource &mdlFileSrc);
46 virtual bool isTitleListSupported() {
return true; }
47 virtual bool isAtomListSupported() {
return true; }
48 virtual bool isCoordinatesSupported() {
return true; }
49 virtual bool isBondListSupported() {
return true; }
51 virtual bool isDataSupported() {
return true; }
66 void SetupAtomParams();
71 void SetupHybridState();
79 void SetupPosIonisableGroups();
80 void SetupNegIonisableGroups();
82 void AddHydrogen(
AtomPtr spAtom);
96 void SetupIonicGroups();
100 void SetupOTRIMinus();
104 void SetupSegmentNames();
107 void RemoveNonPolarHydrogens();
111 void SetCyclicFlags();
116 bool m_bPosIonisable;
118 bool m_bNegIonisable;
119 bool m_bImplHydrogens;
Definition BaseMolecularFileSource.h:29
Definition MdlFileSource.h:29