User c0e481a82c
22-05-2007 15:02:20
Hi,
I'm trying to create a function which applies our internal business rules for registration using the JCF_Standardize function, to ensure that all structures are registered with functional groups, etc. in a standard format. I'm finding issues with using the outFormat option for the option list. Sometimes, depending upon how the outFormat option is used, it doesn't always get accepted, and causes the PL/SQL to fail.
Having played around with this I've noted the following:
If I use 'config:dearomatize outFormat:smiles:u', I get:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.Exception: The following exception has been thrown by the servlet:
Exception: Could not read reaction: dearomatize outFormat:smiles:u
If I use 'config:aromatize outFormat:smiles:u', it works.
The code I'm using for my standardize function is:
Note, I've had to use 2 separate jcf_Standardize because I didn't seem to be able to combine them. When I did, the output was such that if I standardized a SMILES string, then standardized the output SMILES string, I ended up with 58 out of my 937 compounds having a different "standardized" SMILES vs. "twice standardized" SMILES. Perhaps I'm doing something wrong? Any comments or help would be greatly appreciated.
Regards,
Phil.
I'm trying to create a function which applies our internal business rules for registration using the JCF_Standardize function, to ensure that all structures are registered with functional groups, etc. in a standard format. I'm finding issues with using the outFormat option for the option list. Sometimes, depending upon how the outFormat option is used, it doesn't always get accepted, and causes the PL/SQL to fail.
Having played around with this I've noted the following:
If I use 'config:dearomatize outFormat:smiles:u', I get:
ORA-29532: Java call terminated by uncaught Java exception: java.lang.Exception: The following exception has been thrown by the servlet:
Exception: Could not read reaction: dearomatize outFormat:smiles:u
If I use 'config:aromatize outFormat:smiles:u', it works.
The code I'm using for my standardize function is:
Code: |
CREATE OR REPLACE FUNCTION F_Std_SMILES (pi_SMILES VARCHAR2 ) RETURN VARCHAR2 IS vl_Reactions VARCHAR2(4000); vl_StandardSMILES VARCHAR2(4000); BEGIN vl_Reactions := '[O:1][N:2]=O>>[O:1-][N+:2]=O..' || '[O:1]=[N:2]=O>>[O-:1][N+:2]=O..'|| '[C][N:1](=C)=[O:2]>>[C][N+:1]([O-:2])=C..' || '[C][N:1]([O:2])=C>>[C][N+:1]([O-:2])=C..' || 'C[N+:1]([O:2])=C>>C[N+:1]([O-:2])=C..' || '[C][N:1](C)(C)[O:2]>>[C][N+:1]([C])([C])[O-:2]..' || '[C][N:1]([C])([C])=[O:2]>>[C][N+:1]([C])([C])[O-:2]..' || '[O:1]=[N:2]#[C:3]>>[O-:1][N+:2]#[C:3]..' || '[C:1][N:2][N+:3]#[N:4]>>[C:1][N:2]=[N+:3]=[N-:4]..' || '[O-:1][S+:2][O-:3]>>[O:1]=[S:2]=[O:3]..' || '[O:1][S:2][O:3]>>[O:1]=[S:2]=[O:3]..' || '[O-:1]-[S+:2]>>[O:1]=[S:2]..' || '[O;H1:1]-[S:2]>>[O:1]=[S:2]..' || '[N;H1,H2:1][C:2]=[C:3]>>[C:1][C:2]=[N:3]..' || '[O;H1:1][C:2]=[C:3]>>[C:1][C:2]=[O:3]'; vl_StandardSMILES := jcf_Standardize(pi_SMILES, 'config:dearomatize..' || vl_Reactions || '..aromatize'); vl_StandardSMILES := jcf_Standardize(vl_StandardSMILES, 'config:aromatize outFormat:smiles:u'); RETURN vl_StandardSMILES; END F_Std_SMILES; |
Note, I've had to use 2 separate jcf_Standardize because I didn't seem to be able to combine them. When I did, the output was such that if I standardized a SMILES string, then standardized the output SMILES string, I ended up with 58 out of my 937 compounds having a different "standardized" SMILES vs. "twice standardized" SMILES. Perhaps I'm doing something wrong? Any comments or help would be greatly appreciated.
Regards,
Phil.