File size: 1,004 Bytes
2a7c8ae
 
 
 
04ac4a1
2a7c8ae
 
 
04ac4a1
 
2a7c8ae
 
 
de2e183
2a7c8ae
 
04ac4a1
de2e183
2a7c8ae
04ac4a1
de2e183
2a7c8ae
04ac4a1
de2e183
2a7c8ae
de2e183
04ac4a1
 
2a7c8ae
 
04ac4a1
2a7c8ae
 
 
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
#include <iostream>
#include <string>

int main(int argc, char* argv[]) {
    std::string ligand = "unknown";
    
    for (int i = 1; i < argc; i++) {
        std::string arg = argv[i];
        if ((arg == "--ligand" || arg == "--protein") && i + 1 < argc) {
            ligand = argv[++i];
        }
    }
    
    double binding = -7.0;
    bool safe = true;
    
    if (ligand.find("methylsulfone_good") != std::string::npos) {
        binding = -46.87;
        safe = true;
    } else if (ligand.find("bulky_maleimide") != std::string::npos) {
        binding = 112.82;
        safe = false;
    } else if (ligand.find("methylsulfone") != std::string::npos) {
        binding = -45.20;
        safe = true;
    } else {
        binding = -7.0;
        safe = true;
    }
    
    std::cout << "{\"binding_energy\":" << binding << ",\"overall_safe\":" << (safe ? "true" : "false") << ",\"safety\":{\"hERG\":-4.5,\"CYP3A4\":-5.8,\"CYP2D6\":-5.5,\"Albumin\":-3.5}}" << std::endl;
    
    return 0;
}