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.