Я использую сторонний код на python из arxiv, который использует RDkit в качестве библиотеки. Он принимает файл .sdf с данными о молекулах химических веществ в качестве аргумента, но затем RDkit выдает ошибку:
OSError: File error: Bad input file file.sdf
Я следовал инструкциям, установил все необходимые пакеты, скачал файлы, как они сказали, увеличил пространство подкачки на моем компьютере, потому что .sdf довольно большой, вычеркнул большую часть данных этого файла ... но я не могу заставить его работать, ни одна из этих попыток не увенчалась успехом.
Я искал пакет RDkit, и этот фрагмент кода вызывает ошибку:
LocalForwardSDMolSupplier(std::string filename, bool sanitize, bool removeHs,
bool strictParsing) {
std::istream *tmpStream = nullptr;
tmpStream = static_cast<std::istream *>(
new std::ifstream(filename.c_str(), std::ios_base::binary));
if (!tmpStream || (!(*tmpStream)) || (tmpStream->bad())) {
std::ostringstream errout;
errout << "Bad input file " << filename;
throw RDKit::BadFileException(errout.str());
}
dp_inStream = tmpStream;
df_owner = true;
df_sanitize = sanitize;
df_removeHs = removeHs;
df_strictParsing = strictParsing;
POSTCONDITION(dp_inStream, "bad instream");
}
Кажется, это C ++, чего я не знаю.
Я ожидаю увидеть, как этот код работает, с какими входами и выходами адаптироваться к моему коду. Я хотел бы увидеть этот файл .sdf, но, возможно, еще один мог бы работать для моей цели.