15#ifndef _RBTBASEMOLECULARFILESOURCE_H_
16#define _RBTBASEMOLECULARFILESOURCE_H_
18#include "rxdock/BaseFileSource.h"
19#include "rxdock/BaseMolecularDataSource.h"
20#include "rxdock/ParameterFileSource.h"
22#include <nlohmann/json.hpp>
24using json = nlohmann::json;
35 const std::string &sourceName);
38 const std::string &strRecDelim,
39 const std::string &sourceName);
54 std::vector<std::string> GetTitleList();
55 AtomList GetAtomList();
56 BondList GetBondList();
57 SegmentMap GetSegmentMap();
61 virtual int GetNumData();
63 virtual std::vector<std::string> GetDataFieldList();
66 virtual StringVariantMap GetDataMap();
68 virtual bool isDataFieldPresent(
const std::string &strDataField);
70 virtual Variant GetDataValue(
const std::string &strDataField);
75 SegmentMap GetSegmentFilterMap();
76 RBTDLL_EXPORT
void SetSegmentFilterMap(
const SegmentMap &segmentFilterMap);
77 void ClearSegmentFilterMap();
78 bool isSegmentFilterMapDefined();
83 void RemoveAtom(
AtomPtr spAtom);
85 RenumberAtomsAndBonds();
89 void SetupPartialIonicGroups(AtomList &atoms,
101 int GetNumAtomsWithFilter();
102 int GetNumBondsWithFilter();
103 AtomList GetAtomListWithFilter();
104 BondList GetBondListWithFilter();
108 std::vector<std::string> m_titleList;
111 SegmentMap m_segmentMap;
112 StringVariantMap m_dataMap;
116 SegmentMap m_segmentFilterMap;
Definition BaseFileSource.h:36
Definition BaseMolecularDataSource.h:25
Definition BaseMolecularFileSource.h:29