File: processing_tests.cpp

package info (click to toggle)
rdkit 202503.1-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 220,160 kB
  • sloc: cpp: 399,240; python: 77,453; ansic: 25,517; java: 8,173; javascript: 4,005; sql: 2,389; yacc: 1,565; lex: 1,263; cs: 1,081; makefile: 580; xml: 229; fortran: 183; sh: 105
file content (52 lines) | stat: -rw-r--r-- 1,556 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
//
//  Copyright (C) 2024 Greg Landrum and other RDKit contributors

//
//   @@ All Rights Reserved @@
//  This file is part of the RDKit.
//  The contents are covered by the terms of the BSD license
//  which is included in the file license.txt, found at the root
//  of the RDKit source tree.
//

#include <catch2/catch_all.hpp>
#include "RDGeneral/test.h"
#include <GraphMol/RDKitBase.h>
#include <GraphMol/MolProcessing/MolProcessing.h>
#include <RDGeneral/RDLog.h>

using namespace RDKit;

TEST_CASE("getFingerprintsForMolsInFile") {
  std::string dirName = getenv("RDBASE");
  dirName += "/Data/NCI/";
  SECTION("SDF") {
    std::string fileName = dirName + "first_200.props.sdf";
    auto res = MolProcessing::getFingerprintsForMolsInFile<>(fileName);

    CHECK(res.size() == 200);
    for (auto i = 0u; i < res.size(); ++i) {
      INFO(i);
      CHECK(res[i]);
    }
  }
  SECTION("SMILES") {
    std::string fileName = dirName + "first_5K.smi";
    GeneralMolSupplier::SupplierOptions options;
    options.titleLine = false;
    boost::logging::disable_logs("rdApp.*");
    {
      auto res =
          MolProcessing::getFingerprintsForMolsInFile<>(fileName, options);
      CHECK(res.size() == 4999);
    }
    {
      RDKit::GeneralMolSupplier::SupplierOptions options;
      options.numWriterThreads = 1;
      options.titleLine = false;
      auto res = RDKit::MolProcessing::getFingerprintsForMolsInFile<>(fileName,
                                                                      options);
      CHECK(res.size() == 4999);
    }
  }
}