pattern-based-properties does not work if using "Name"

User 7c177bab3b

03-01-2012 16:10:18

Hi


The following :


react a.smi b.smi -r '[C:1](=[O:2])[OH:3].[N:4]>>[C:1](=[O:2])[N:4]' -m comb --pattern-based-properties "id=#{R1.Name}_#{R2.ID}" -f smiles:Tid


produces:


#SMILES id
CCCNC(=O)CC     null_m1
CCCNC(=O)c1ccccc1       null_m1


If I replace R1.Name by R1.Name2 and modify the header in a.smi accordingly then it works as expected.


Is it possible to get to the molecule name when running without headers on the smiles?


Thanks


Stephen


a.smi


#SMILES Name2
CCC(=O)O m2
c1ccccc1C(=O)O m3


b.smi


#SMILES ID
CCCN m1

ChemAxon a3d59b832c

04-01-2012 07:42:29

Hi Stephen,


 


I have moved the question to the Reactor forum, my colleagues will answer soon.


 


Best regards,


Szabolcs

ChemAxon f250711500

05-01-2012 11:39:19

Hi Stephen,



Pattern based properties are responsible for assembling the value of a
property in the result molecule based on properties of the reactant
molecules. As SMILES format does support molecule name field, it can not
contain name as property, thus we can not use it in the property
generation. (API doc:
http://www.chemaxon.com/marvin/help/formats/smiles-doc.html#smiles_header)



A possible workaround is to convert from SMILES format to MRV or SDF.

One of the following releases will contain a solution, where you can
explicitly refer to the name of the molecule (and some other fields of
the molecule) in the pattern.



Best Regards,

Imre 

User 7c177bab3b

09-01-2012 16:54:21

Thanks Imre


The real issue here is that if I use "Name" as a header in the smiles file then I get null values. Any other field name seems to work okay.


Stephen

ChemAxon e08c317633

13-01-2012 14:51:21

Stephen,


The name of the molecule and the "Name" (SDF) field in the molecule are two different things. If a molecule is imported from SMILES, then it will never have a property / SDFfield called "Name", the "Name" (SDF) property  will always be null. The "Name" input filed in SMILES is converted to molecule name during import.


Example to illustrate the problem.


Input #1:


#SMILES	name
C methane
CC ethane

Convert input #1 to SDF:


$ molconvert sdf smilesAndNames.smiles
methane
Mrv0541 01131214362D

1 0 0 0 0 0 999 V2000
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
M END
$$$$
ethane
Mrv0541 01131214362D

2 1 0 0 0 0 999 V2000
0.8250 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1 2 1 0 0 0 0
M END
$$$$

There is no SDF field in output, but the molecule has name.


Input #2:


#SMILES	name2
C methane
CC ethane

Convert the input #2 to SDF:


molconvert sdf smilesAndNames2.smiles

Mrv0541 01131215402D

1 0 0 0 0 0 999 V2000
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
M END
> <name2>
methane

$$$$

Mrv0541 01131215402D

2 1 0 0 0 0 999 V2000
0.8250 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
0.0000 0.0000 0.0000 C 0 0 0 0 0 0 0 0 0 0 0 0
1 2 1 0 0 0 0
M END
> <name2>
ethane

$$$$


There is a "Name2" field in the output, but the molecules don't have name.


Reactor will support refering to names too (not  only to properties) in a later version.


I hope this explanation helps.


Zsolt

User 98fd284bc9

09-01-2013 15:27:25

Hi everyone,


Is there a newer version of Reactor, with support for referring to names for generating fields in the products?


I am using Reactor 5.11.4 and this feature seems not to work, as indicated in this thread. It is a very convenient feature, both for outputting SDF and even SMILES files.


Many thanks in advance, looking forward to hearing from you.

ChemAxon e08c317633

16-01-2013 10:00:52

No, referring to molecule name is not supported yet. Howewer you can refer to "name" property (SDF field) in the molecule.