21#include <boost/format.hpp>
51 RestoreBondDirOption::RestoreBondDirOptionClear;
63 const std::string &fname) {
64 std::ifstream inStream(fname.c_str(), std::ios::binary);
65 if (!inStream || (inStream.bad())) {
73 const std::string &data) {
74 std::stringstream inStream(data);
87 std::istream &iStream,
88 const std::vector<std::pair<std::string, std::string>> &metadata,
89 bool compressed =
true);
94 const std::string &pngString,
95 const std::vector<std::pair<std::string, std::string>> &metadata,
96 bool compressed =
true) {
97 std::stringstream inStream(pngString);
104 const std::string &fname,
105 const std::vector<std::pair<std::string, std::string>> &metadata,
106 bool compressed =
true) {
107 std::ifstream inStream(fname.c_str(), std::ios::binary);
127 std::istream &inStream,
132 const std::string &fname,
134 std::ifstream inStream(fname.c_str(), std::ios::binary);
135 if (!inStream || (inStream.bad())) {
143 const std::string &data,
145 std::stringstream inStream(data);
163 const std::string &fname,
const std::string &tagToUse =
PNGData::pklTag,
165 std::ifstream inStream(fname.c_str(), std::ios::binary);
166 if (!inStream || (inStream.bad())) {
174 const std::string &data,
const std::string &tagToUse =
PNGData::pklTag,
176 std::stringstream inStream(data);
204 bool includePkl =
true,
205 bool includeSmiles =
true,
206 bool includeMol =
false) {
218 const std::string &pngString,
219 bool includePkl =
true,
220 bool includeSmiles =
true,
221 bool includeMol =
false) {
222 std::stringstream inStream(pngString);
231 const std::string &pngString,
233 std::stringstream inStream(pngString);
241 bool includePkl =
true,
242 bool includeSmiles =
true,
243 bool includeMol =
false) {
244 std::ifstream inStream(fname.c_str(), std::ios::binary);
254 std::ifstream inStream(fname.c_str(), std::ios::binary);
pulls in the core RDKit functionality
used by various file parsing classes to indicate a bad file
static unsigned int getDefaultPickleProperties()
#define RDKIT_FILEPARSERS_EXPORT
Tags used for PNG metadata.
RDKIT_FILEPARSERS_EXPORT const std::string molTag
RDKIT_FILEPARSERS_EXPORT const std::string smilesTag
RDKIT_FILEPARSERS_EXPORT const std::string pklTag
RDKIT_FILEPARSERS_EXPORT std::string addMetadataToPNGStream(std::istream &iStream, const std::vector< std::pair< std::string, std::string > > &metadata, bool compressed=true)
adds metadata to a PNG stream. The modified PNG data is returned.
std::string addMolToPNGString(const ROMol &mol, const std::string &pngString, bool includePkl=true, bool includeSmiles=true, bool includeMol=false)
adds metadata for an ROMol to a PNG string. The modified PNG data is returned. See addMolToPNGStream(...
std::vector< std::pair< std::string, std::string > > PNGStringToMetadata(const std::string &data)
returns the metadata (tEXt and zTXt chunks) from PNG data
RDKIT_FILEPARSERS_EXPORT std::vector< std::unique_ptr< ROMol > > PNGStreamToMols(std::istream &inStream, const std::string &tagToUse=PNGData::pklTag, const SmilesParserParams ¶ms=SmilesParserParams())
constructs a vector of ROMol from the metadata in a PNG stream
ROMol * PNGStringToMol(const std::string &data, const SmilesParserParams ¶ms=SmilesParserParams())
constructs an ROMol from the metadata in a PNG string. See PNGStreamToMol() for more details.
RDKIT_FILEPARSERS_EXPORT ROMol * PNGStreamToMol(std::istream &inStream, const SmilesParserParams ¶ms=SmilesParserParams())
constructs an ROMol from the metadata in a PNG stream
std::vector< std::pair< std::string, std::string > > PNGFileToMetadata(const std::string &fname)
returns the metadata (tEXt and zTXt chunks) from PNG data
std::string addMolToPNGFile(const ROMol &mol, const std::string &fname, bool includePkl=true, bool includeSmiles=true, bool includeMol=false)
adds metadata for an ROMol to the data from a PNG file. The modified PNG data is returned....
std::string addMetadataToPNGString(const std::string &pngString, const std::vector< std::pair< std::string, std::string > > &metadata, bool compressed=true)
adds metadata to a PNG string. The modified PNG data is returned.
std::string addMetadataToPNGFile(const std::string &fname, const std::vector< std::pair< std::string, std::string > > &metadata, bool compressed=true)
adds metadata to a PNG file. The modified PNG data is returned.
RDKIT_FILEPARSERS_EXPORT std::string addMolToPNGStream(const ROMol &mol, std::istream &iStream, const PNGMetadataParams ¶ms)
adds metadata for an ROMol to the data from a PNG stream. The modified PNG data is returned.
std::vector< std::unique_ptr< ROMol > > PNGFileToMols(const std::string &fname, const std::string &tagToUse=PNGData::pklTag, const SmilesParserParams ¶ms=SmilesParserParams())
constructs a vector of ROMol from the metadata in a PNG file. See PNGStreamToMols() for more details.
std::vector< std::unique_ptr< ROMol > > PNGStringToMols(const std::string &data, const std::string &tagToUse=PNGData::pklTag, const SmilesParserParams ¶ms=SmilesParserParams())
constructs a vector of ROMol from the metadata in a PNG string. See PNGStreamToMols() for more detail...
ROMol * PNGFileToMol(const std::string &fname, const SmilesParserParams ¶ms=SmilesParserParams())
constructs an ROMol from the metadata in a PNG file. See PNGStreamToMol() for more details.
RDKIT_FILEPARSERS_EXPORT std::vector< std::pair< std::string, std::string > > PNGStreamToMetadata(std::istream &inStream)
returns the metadata (tEXt and zTXt chunks) from PNG data