e3fp icon indicating copy to clipboard operation
e3fp copied to clipboard

Why you can not generate fingerprints with multiples x3?

Open PARODBE opened this issue 4 years ago • 1 comments

Hi,

When you try to generate fingerprint3d and pass to rdkit, with fold().to_rdkit(). you only can generate bits of 1024 x2,x4,6, it would be interesting can generate another multiples. How it would be possible?

Thanks! Pablo

PARODBE avatar Feb 12 '21 17:02 PARODBE

Hi @PARODBE, sorry for the late reply. The folding occurs by splitting the fingerprint vector into 2 vectors of identical length and OR-ing them. Hence it decreases the size by powers of 2. In principle, you could split the fingerprint into 2 vectors of unequal sizes, but to OR them, you'd implicitly be padding one of the vectors with zeros. I don't think this makes much sense; you'd be forcing collisions to be more frequent for some indices than for others. But if you really want to do this, I'd suggest first padding the fingerprint vector with zeros to get a multiple of 2 times the target length, then folding.

sethaxen avatar Jun 02 '22 00:06 sethaxen