torchdrug
torchdrug copied to clipboard
Synthon is identified with incorrect reactant?
One of the central parts of Retrosynthesis is identifying correct synthons and the difference between synthons and corresponding reactants. Here I got confused with the following reactant (I will atach figures): [NH2:20][C:21]1=[CH:22][CH:23]=[CH:24][C:25]2=[CH:26][N:27]=[CH:28][CH:29]=[C:30]12 and synthon: [NH:20][C:21]1=[CH:22][CH:23]=[CH:24][C:25]2=[CH:26][N:27]=[CH:28][CH:29]=[C:30]12 the function _get_difference in uspto50k.py gives the following result (edge_added, edge_modified, prod2react): (tensor([], size=(0, 2), dtype=torch.int64) tensor([], size=(0, 2), dtype=torch.int64) tensor([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]))
In other words, as far as I understand it states that all atoms are related between two molecules. However, it seems to be false since in reactant we have HN2 and in synthon NH. And intuitively it seems to be a serious mistake. But it's so weird that I guess I just misunderstood smth. So pls help if you can