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://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

Reply via email to