Hi Yannick,

Thanks for your email.

1: Do you mean, you expect to see the pattern in the list or you expected
it to match? The pattern is present:

System.err.println(sf.getSubstructure(32));

// [NX3H0+0,NX4H1+;$([N]([c])([C])[#6]);!$([N]*~[#7,#8,#15,#16])]


However the SMARTS doesn't match your structure:

[NX3H0+0,NX4H1+;$([N]([c])([C])[#6]);!$([N]*~[#7,#8,#15,#16])]

The problem is: [N]*~[#7,#8,#15,#16], here's the match
<http://cdkdepict-openchem.rhcloud.com/depict/bow/svg?sma=%5BN%5D*~%5B%237%2C%238%2C%2315%2C%2316%5D&smi=CN(C)c1cc(OS(O)(O)%3DO)nc(n1)-c1cncc(c1)C(O)%3DO&zoom=1.3&annotate=none>
 visualized.



2: The cardinality of a fingerprint is the number of 'on' bits, the size of
fingerprint is the number of possible bits. There are 320 bits (addressed 0
to 319) in the fingerprint, so i < fingerprint.cardinality() will only show
the first 14.

for(int k = 0; k < fingerprint.size(); k++) {
>     System.out.println(k + " " + fingerprint.get(k));
> }


Actually really not a fan of the API so I normally just get the underlying
JDK bitset and throw away the CDK object:

BitSet bitset = fingerprint.asBitSet();


Hope that helps,
John


​
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
Cdk-user mailing list
Cdk-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cdk-user

Reply via email to