No, you have the correct method. The general idea, I believe, is that if the
format can result in multiple molecules a supplier should be used.
----
Brian Kelley
> On Oct 2, 2016, at 4:48 PM, Maciek Wójcikowski <[email protected]> wrote:
>
> Yes I get it, but obviously there is no MolFromSDBlock, so one would suspect
> MolFromMolBlock to support both formats. As I understand correctly the only
> way of reading SD from variable is as presented in my example? Or is there
> some marvelous undocumented API? ;)
>
> ----
> Pozdrawiam, | Best regards,
> Maciek Wójcikowski
> [email protected]
>
> 2016-10-02 22:20 GMT+02:00 Brian Kelley <[email protected]>:
>> It's neither a bug nor a feature in this case, simply the specification of
>> the mdl format.
>>
>> The SD in an sd file stands for "structured data" which are the properties
>> you are looking for plus the mol block.
>>
>> A decent write up is here:
>>
>> https://en.m.wikipedia.org/wiki/Chemical_table_file
>>
>> If you see the dollar signs in your text block, it is indeed an sd record
>> not just a mol block.
>>
>> ----
>> Brian Kelley
>>
>>> On Oct 2, 2016, at 3:46 PM, Maciek Wójcikowski <[email protected]>
>>> wrote:
>>>
>>> Hi RDKitters,
>>>
>>> Is it a bug or a feature? When using Chem.MolFromMolBlock there is no
>>> properties from SD file. There is a bit of code to replicate that issue:
>>>
>>>> from rdkit import Chem
>>>> tmp = """20346
>>>> RDKit 3D
>>>> 36 38 0 0 0 0 0 0 0 0999 V2000
>>>> 15.8390 -9.3370 68.8840 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 17.1400 -9.1830 69.5480 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 17.4030 -7.7570 69.7840 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 17.0930 -7.4160 71.2420 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 18.2300 -6.5720 71.8210 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 18.6770 -7.1570 73.0920 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 20.1430 -7.2290 73.1530 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 20.5650 -8.5770 73.7380 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 21.6390 -9.1530 72.9180 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 21.3560 -10.5710 72.6640 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 21.5940 -10.8820 71.1850 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 20.4320 -11.7190 70.6460 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 20.0430 -11.2190 69.3210 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 18.5820 -11.1310 69.1980 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 18.1950 -9.7400 68.6920 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 14.7370 -9.2360 69.9070 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 13.1700 -7.9140 71.1420 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 14.1800 -8.0060 70.2040 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 14.2840 -10.3730 70.5500 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 13.2740 -10.2810 71.4890 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 12.7160 -9.0510 71.7840 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 11.6140 -8.9500 72.8070 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 11.8810 -7.8160 73.7040 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 12.9350 -8.1480 74.6710 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 14.2790 -7.6200 74.1620 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 14.9870 -6.8610 75.2860 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 15.4440 -5.5580 74.7840 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 15.1190 -4.5130 75.7650 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 14.5870 -3.2770 75.0370 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 13.3710 -2.7990 75.7080 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 12.3120 -2.5090 74.7330 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 10.9900 -3.1010 75.2260 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 10.3040 -3.8450 74.0790 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 9.7590 -5.1150 74.5740 N 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 10.0350 -6.2090 73.6340 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 10.6540 -7.3880 74.3890 C 0 0 0 0 0 0 0 0 0 0 0 0
>>>> 2 1 1 0
>>>> 3 2 1 0
>>>> 4 3 1 0
>>>> 5 4 1 0
>>>> 6 5 1 0
>>>> 7 6 1 0
>>>> 8 7 1 0
>>>> 9 8 1 0
>>>> 10 9 1 0
>>>> 11 10 1 0
>>>> 12 11 1 0
>>>> 13 12 1 0
>>>> 14 13 1 0
>>>> 15 14 1 0
>>>> 15 2 1 0
>>>> 16 1 1 0
>>>> 18 16 1 0
>>>> 18 17 2 0
>>>> 19 16 2 0
>>>> 20 19 1 0
>>>> 21 20 2 0
>>>> 21 17 1 0
>>>> 22 21 1 0
>>>> 23 22 1 0
>>>> 24 23 1 0
>>>> 25 24 1 0
>>>> 26 25 1 0
>>>> 27 26 1 0
>>>> 28 27 1 0
>>>> 29 28 1 0
>>>> 30 29 1 0
>>>> 31 30 1 0
>>>> 32 31 1 0
>>>> 33 32 1 0
>>>> 34 33 1 0
>>>> 35 34 1 0
>>>> 36 35 1 0
>>>> 36 23 1 0
>>>> M END
>>>> > <act> (1)
>>>> 0.81
>>>> > <act_rel> (1)
>>>> =
>>>> > <act_type> (1)
>>>> IC50
>>>> > <chembl_id> (1)
>>>> CHEMBL18442
>>>> $$$$
>>>> """
>>>> m = Chem.MolFromMolBlock(tmp)
>>>> print m.GetPropsAsDict()
>>>> from StringIO import StringIO
>>>> m = Chem.ForwardSDMolSupplier(StringIO(tmp)).next()
>>>> print m.GetPropsAsDict()
>>>
>>>
>>> ----
>>> Pozdrawiam, | Best regards,
>>> Maciek Wójcikowski
>>> [email protected]
>>> ------------------------------------------------------------------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, SlashDot.org! http://sdm.link/slashdot
>>> _______________________________________________
>>> Rdkit-discuss mailing list
>>> [email protected]
>>> https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Rdkit-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/rdkit-discuss