Dear Greg,
looking like ToString() method producing some strange result or I am doing
something wrong.
This is the code:
strSM is equal to "CNC(=NC#N)NCCSCc1nc[nH]c1C"
RWMol *mol = SmilesToMol(strSM) //not null, contained atoms, bonds, so
looking like OK
ExplicitBitVect *fpSSS = RDKit::RDKFingerprintMol(*mol); //looking like OK -
see details in enclosed file
std::string strSSS = fpSSS->ToString(); //result is very strange: "àÿÿÿ"
Can you help, please?
Regards,
Evgueni
2009/4/6 Greg Landrum <[email protected]>
> Dear Evgueni,
>
> On Mon, Apr 6, 2009 at 1:48 PM, Evgueni Kolossov <[email protected]>
> wrote:
> >
> > Thank you very much but in this case to compare we need somehow to covert
> it
> > back when extracting from the database.
> > How to do this?
>
> If you mean convert it back into a bit vector, that's the second part
> of my message below:
> >> The various bit vector classes have constructors that accept these
> >> strings:
> >> ExplicitBitVect bv2(pkl);
>
> Alternatively, if you already have a bit vector and you want to
> re-initialize it, you can use bv2.InitializeFromText
>
> -greg
>
> >
> > 2009/4/6 Greg Landrum <[email protected]>
> >>
> >> Dear Evgueni,
> >>
> >> Fingerprints can be converted into a binary string using their
> >> ToString() method:
> >> std::string pkl=bv.ToString();
> >> The various bit vector classes have constructors that accept these
> >> strings:
> >> ExplicitBitVect bv2(pkl);
> >>
> >> The strings from ToString() are suitable for storing in databases
> >> (there's a lot of this in the python-based RDKit DbCLI code).
> >> -greg
> >>
> >> On Mon, Apr 6, 2009 at 10:17 AM, Evgueni Kolossov <[email protected]>
> >> wrote:
> >> > Dear Greg,
> >> >
> >> > Can you suggest the way to write fingerprints into database? Say, we
> can
> >> > have ExplicitBitVect *ev = RDKFingerprintMol(.......). Now I need
> write
> >> > it
> >> > into database (BLOB). So, do I need to convert ExplicitBitVect to
> binary
> >> > stream or something?
> >> >
> >> > Regards,
> >> > Evgueni
> >> >
> >> >
> >> >
> >
> >
> >
> >
> >
> ------------------------------------------------------------------------------
> >
> > _______________________________________________
> > Rdkit-discuss mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/rdkit-discuss
> >
> >
>
--
Dr. Evgueni Kolossov (PhD)
[email protected]
Tel. +44(0)1628 627168
Mob. +44(0)7812070446
strSM "CNC(=NC#N)NCCSCc1nc[nH]c1C"
ExplicitBitVect *fpSSS = RDKit::RDKFingerprintMol(*mol);
/////////////////////////////////////////////////////////////
RESULT:
fpSSS 0x0328acf0 {dp_bits=0x0326b698 d_size=2048 d_numOnBits=571 }
m_bits
[64](2194145288,204086784,3305505812,1076527680,141855249,4489216,13650245,1508262172,2216853584,1075839192,2483093773,2723710868,49283083,3291571264,2047877188,398594176,88101157,136134210,117489736,5538960,3779863106,3224374340,271069743,2149076038,349176018,453706853,570428930,622855949,676726273,111542794,1076565827,69501072,2771506209,10191425,813795378,276931585,127959592,2149083333,19719,...,...)
std::vector<unsigned long,std::allocator<unsigned long> >
[0] 2194145288 unsigned long
[1] 204086784 unsigned long
[2] 3305505812 unsigned long
[3] 1076527680 unsigned long
[4] 141855249 unsigned long
[5] 4489216 unsigned long
[6] 13650245 unsigned long
[7] 1508262172 unsigned long
[8] 2216853584 unsigned long
[9] 1075839192 unsigned long
[10] 2483093773 unsigned long
[11] 2723710868 unsigned long
[12] 49283083 unsigned long
[13] 3291571264 unsigned long
[14] 2047877188 unsigned long
[15] 398594176 unsigned long
[16] 88101157 unsigned long
[17] 136134210 unsigned long
[18] 117489736 unsigned long
[19] 5538960 unsigned long
[20] 3779863106 unsigned long
[21] 3224374340 unsigned long
[22] 271069743 unsigned long
[23] 2149076038 unsigned long
[24] 349176018 unsigned long
[25] 453706853 unsigned long
[26] 570428930 unsigned long
[27] 622855949 unsigned long
[28] 676726273 unsigned long
[29] 111542794 unsigned long
[30] 1076565827 unsigned long
[31] 69501072 unsigned long
[32] 2771506209 unsigned long
[33] 10191425 unsigned long
[34] 813795378 unsigned long
[35] 276931585 unsigned long
[36] 127959592 unsigned long
[37] 2149083333 unsigned long
[38] 19719 unsigned long
[39] 69362433 unsigned long
[40] 2149603329 unsigned long
[41] 2601418780 unsigned long
[42] 50341399 unsigned long
[43] 1108493831 unsigned long
[44] 405275811 unsigned long
[45] 810291585 unsigned long
[46] 2148074260 unsigned long
[47] 682033160 unsigned long
[48] 2284896612 unsigned long
[49] 173360421 unsigned long
[50] 537542788 unsigned long
[51] 1209274464 unsigned long
[52] 271090059 unsigned long
[53] 2435056909 unsigned long
[54] 2617796672 unsigned long
[55] 3495993636 unsigned long
[56] 1087898688 unsigned long
[57] 3932979240 unsigned long
[58] 2424373521 unsigned long
[59] 134348864 unsigned long
[60] 158352384 unsigned long
[61] 1730681865 unsigned long
[62] 3541053667 unsigned long
[63] 1378125987 unsigned long
m_num_bits 2048 unsigned int
d_size 2048 unsigned int
d_numOnBits 571 unsigned int
////////////////////////////////////////////////
std::string strSSS = fpSSS->ToString();
////////////////////////////////////////////////
RESULT:
strSSS "àÿÿÿ"