John, All,
Nick implemented the functionality I've asked about back in February,
namely extracting the substructure patterns of CircularFingerprint.
The code is extending the CircularFingerprint in CDK fork
https://github.com/ideaconsult/cdk ; there is a new function returning
SMARTS for each fingerprint.
I will be submitting a pull request, but decided to check first if there
are any existing interfaces the new function could fit under.
Best regards,
Nina
On 3 February 2016 at 13:27, John M <[email protected]> wrote:
> Unfortunately I don't think it's possible at the moment. The current
> fingerprint API has
>
> *Map<String,Int> getRawFingerprint
> <http://cdk.github.io/cdk/1.5/docs/api/org/openscience/cdk/fingerprint/CircularFingerprinter.html#getRawFingerprint(org.openscience.cdk.interfaces.IAtomContainer)>*
>
> Which some what fits with the lingos/path/smarts based fingerprints that
> have string ready to hand (path is actually bad using strings) but not for
> circular. Could do some sort of coding e.g. 'Idx:5,Rad:3' means atom at
> index 5 encoded with radius 3. I've been thinking a better way to
> associated hashed with substructures is by using the bond set.
>
> *Map<Set<IBond>,Int> features;*
>
> Another alternative is to use the signature fingerprint, that will
> definitely provide the associations and should perform similarly to the
> circular.
>
> J
>
> Regards,
> John W May
> [email protected]
>
> On 3 February 2016 at 10:43, Nina Jeliazkova <[email protected]>
> wrote:
>
>> Hi John,
>>
>> Thanks!
>>
>> While on this, I am currently looking on how to extract the substructure
>> patterns corresponding to the circular fingerprints hashes. Any chance if
>> you already have thoughts on this ? Supporting this on the interface
>> level would be nice as well . (I have a different use case and not
>> particularly interested in the index building capabilities at the moment ).
>>
>> Best regards,
>> Nina
>>
>>
>>
>>
>>
>> On 3 February 2016 at 12:17, John M <[email protected]> wrote:
>>
>>> Hi Nina,
>>>
>>> I think it's this:
>>>
>>>
>>>>
>>>>
>>>>
>>>>
>>>> *ICountFingerprint fp;int numBins = fp.numOfPopulatedbins();for (int i
>>>> = 0; i < numBins; i++) { int hash = fp.getHash(i); int freq =
>>>> fp.getCount(i);}*
>>>
>>>
>>> https://gist.github.com/johnmay/1cc17ff6280f308e015b
>>>
>>> On a side note this will likely change in the near future. I've ben
>>> drafting/prototyping a new fingerprint API (nfp akin to nio in java) that
>>> will hide some of this munging and make the abstractions better and more
>>> efficient. You can see some early draft of my thoughts but nothing formal
>>> yet: https://github.com/cdk/cdk/wiki/New-Fingerprint
>>>
>>> John
>>>
>>> Regards,
>>> John W May
>>> [email protected]
>>>
>>> On 3 February 2016 at 06:39, Nina Jeliazkova <[email protected]>
>>> wrote:
>>>
>>>> Hello All,
>>>>
>>>> I am wondering what is the intended usage of the ICountFingerprint
>>>> interface, and more specifically, how does one iterates over the available
>>>> hashes using this interface.
>>>>
>>>> The obvious way of using the size() and for loop is impractical in
>>>> cases as CircularFingerprint, where the size is declared = 4294967296l .
>>>> On the other hand the CircularFingerprint internal structure has all the
>>>> information available in a more convenient way, but it is not accessible
>>>> outside of the class.
>>>>
>>>> Any ideas? I am willing to provide a patch exposing the info in more
>>>> convenient (sparse) way than ICountFingerprint, but not sure how it fits
>>>> the CDK interfaces.
>>>>
>>>> Best regards,
>>>> Nina
>>>>
>>>> ------------------------------------------------------------
>>>> ------------------
>>>> Site24x7 APM Insight: Get Deep Visibility into Application Performance
>>>> APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
>>>> Monitor end-to-end web transactions and take corrective actions now
>>>> Troubleshoot faster and improve end-user experience. Signup Now!
>>>> http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
>>>> _______________________________________________
>>>> Cdk-user mailing list
>>>> [email protected]
>>>> https://lists.sourceforge.net/lists/listinfo/cdk-user
>>>>
>>>>
>>>
>>
>
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
Cdk-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cdk-user