20#include <boost/format.hpp>
44 const std::string &fname) {
45 std::ifstream inStream(fname.c_str(), std::ios::binary);
46 if (!inStream || (inStream.bad())) {
54 const std::string &data) {
55 std::stringstream inStream(data);
68 std::istream &iStream,
69 const std::vector<std::pair<std::string, std::string>> &metadata,
70 bool compressed =
true);
75 const std::string &pngString,
76 const std::vector<std::pair<std::string, std::string>> &metadata,
77 bool compressed =
true) {
78 std::stringstream inStream(pngString);
85 const std::string &fname,
86 const std::vector<std::pair<std::string, std::string>> &metadata,
87 bool compressed =
true) {
88 std::ifstream inStream(fname.c_str(), std::ios::binary);
108 std::istream &inStream,
113 const std::string &fname,
115 std::ifstream inStream(fname.c_str(), std::ios::binary);
116 if (!inStream || (inStream.bad())) {
124 const std::string &data,
126 std::stringstream inStream(data);
144 const std::string &fname,
const std::string &tagToUse =
PNGData::pklTag,
146 std::ifstream inStream(fname.c_str(), std::ios::binary);
147 if (!inStream || (inStream.bad())) {
155 const std::string &data,
const std::string &tagToUse =
PNGData::pklTag,
157 std::stringstream inStream(data);
173 const ROMol &mol, std::istream &iStream,
bool includePkl =
true,
174 bool includeSmiles =
true,
bool includeMol =
false);
180 const std::string &pngString,
181 bool includePkl =
true,
182 bool includeSmiles =
true,
183 bool includeMol =
false) {
184 std::stringstream inStream(pngString);
192 bool includePkl =
true,
193 bool includeSmiles =
true,
194 bool includeMol =
false) {
195 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
#define RDKIT_FILEPARSERS_EXPORT
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, bool includePkl=true, bool includeSmiles=true, bool includeMol=false)
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