Non-binary fingerprints

User a216001020

02-05-2007 10:27:56

Is there any option in JCHEM to get integer (non-binary) molecular fingerprints (with generfp or generatemd), i.e. each "bit" counting how many times it was activated by patterns of the molecule ?





If not, would it be possible to include such an option in a future version?

ChemAxon efa1591b5a

02-05-2007 22:39:57

It depends on the type of the molecular descriptor. For instance the PharmacophoreFingerprint is this kind of 'activation count' fingerprint. Apparently, these counters aren't bits anymore rather histogram bins.





If you refer to the ChemAxon ChemicalFingerprint, then such counting could represent collisions produced by the hashing function as well as multiple bit merging produced by the folding method. None of these are detected/counted at the moment. If you mean this, why do you think it could be useful?





Regards,


Miklos

User a216001020

03-05-2007 13:58:46

Yes, I mean ChemicalFingerprint. Integer numbers (counting) would be useful to generate a fingerprint for a reaction : sum of all fingerprints of the reactants subtracted from all fingerprints of the products. That should be done with the integers, and only afterward transformed into a binary reaction fingerprint.

ChemAxon efa1591b5a

04-05-2007 10:23:43

I see. You can implement a custom descriptor. Generate the Cfp-s for each reactants and convert the bits to individual decimal numbers. The ChemicalFingeprint class offers various ways to do that, though no direct bitstring-to-decimalvector method is available. You may consider either http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/ChemicalFingerprint.html#toDecimalString()


or better


http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/ChemicalFingerprint.html#toFloatArray().





You can derive your descriptor from the CustomDescriptor class http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/CustomDescriptor.html,


this constructor http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/CustomDescriptor.html#CustomDescriptor(int,%20int)


can be used to create a decimal descriptor.


An example of implementing custom fingerprints can be found in the Screen developers guide: http://www.chemaxon.com/jchem/doc/guide/screen/index.html#custom .


In the Contrib area of the forum you find a custom fingerprint implementation by one of our user, this may also help: http://www.chemaxon.com/forum/ftopic352.html.


It should be very easy and straightforward to implement the reaction fingerprint you designed, only this merging of individual fingerprints need to be implemented, the rest is provided by the Screen framework. If not - tell us!





By the way: are you aware of the ChemAxon reaction fingerprint: http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/ReactionFingerprint.html?





Hope this helps, regards:


Miklos

User a216001020

04-05-2007 14:44:20

mvargyas wrote:
I see. You can implement a custom descriptor. Generate the Cfp-s for each reactants and convert the bits to individual decimal numbers. The ChemicalFingeprint class offers various ways to do that, though no direct bitstring-to-decimalvector method is available. You may consider either http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/ChemicalFingerprint.html#toDecimalString()


or better


http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/ChemicalFingerprint.html#toFloatArray().


But the decimal or float will still only get values of 0 (or 0.0000000) or 1 (1.0000) , right? Or would it get the counts?
mvargyas wrote:



You can derive your descriptor from the CustomDescriptor class http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/CustomDescriptor.html,


this constructor http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/CustomDescriptor.html#CustomDescriptor(int,%20int)


can be used to create a decimal descriptor.


An example of implementing custom fingerprints can be found in the Screen developers guide: http://www.chemaxon.com/jchem/doc/guide/screen/index.html#custom .


In the Contrib area of the forum you find a custom fingerprint implementation by one of our user, this may also help: http://www.chemaxon.com/forum/ftopic352.html.


It should be very easy and straightforward to implement the reaction fingerprint you designed, only this merging of individual fingerprints need to be implemented, the rest is provided by the Screen framework. If not - tell us!


But in that case wouldn't I have to reimplement the algorithms for the hashed fingerprints?

ChemAxon efa1591b5a

04-05-2007 14:54:22

Quote:
But the decimal or float will still only get values of 0 (or 0.0000000) or 1 (1.0000) , right? Or would it get the counts?
Yes, that 's correct. As I understod you plan to introduce counting only when the fingerprints of individual reactants are "merged" (= added and substracted as described in your previous post).


You can do that in your custom descriptor implementation.
Quote:
But in that case wouldn't I have to reimplement the algorithms for the hashed fingerprints?
Yes, you can simply use our hashed fingerprint. Either acces each bit of that by the get() method, or - as I recommended in my previous post - convert it to a float array and use it's element.


All you need to implement is the "sum of all fingerprints of the reactants subtracted from all fingerprints of the products."








HTH


Miklos

User a216001020

07-05-2007 13:33:04

mvargyas wrote:
Quote:
But the decimal or float will still only get values of 0 (or 0.0000000) or 1 (1.0000) , right? Or would it get the counts?
Yes, that 's correct. As I understod you plan to introduce counting only when the fingerprints of individual reactants are "merged" (= added and substracted as described in your previous post).
I need to "merge" the counts of individual reactants (the same for the products), and then subtract. The idea is mentioned in http://www.daylight.com/dayhtml/doc/theory/theory.finger.html#RTFrxn10

ChemAxon efa1591b5a

08-05-2007 09:42:40

O.k. that should be straightforward to implement. Good luck and let us know if we can help.

User a216001020

24-05-2007 13:11:33

mvargyas wrote:
O.k. that should be straightforward to implement. Good luck and let us know if we can help.
I could not understand what you mean. Will such a version of chemical fingerprints be implemented in some future version of JCHEM, or do you


think it is easy for an user to implement it? Because I still don't see how to use what is available in JCHEM to generate "Daylight fp bit counts" for molecules.

ChemAxon efa1591b5a

24-05-2007 14:17:17

To count bits set in the chemical fingerprint is straightforward, just call the getBrightness() method of the ChemicalFingerprint class: http://www.chemaxon.com/jchem/doc/api/chemaxon/descriptors/ChemicalFingerprint.html#getBrightness().





What you need to implement is the particular merging method you/Daylight proposed, we do not have the capacity to implement it for you. o help your efforts we provided some examples about how to implement custom fingerprints.


Besides, as I mentioned in one of my previous post, we have implemented our own reaction fingerprint, wouldn't that suit your needs?





Regards,


Miklos

User bdf7958843

12-12-2015 10:56:53

Dear Colleagues, as I understand reaction fingerprints can be used for description fo the enzymatic and biochemical reactions as well? Are there some publications, which use chemical reaction fingerprints for the next tasks:


1. Prediction of compounds to be a substrate for certain enzymes in the cells?


2. Predictions of the metabolism directions for the compounds?

ChemAxon d51151248d

16-12-2015 10:09:11

Hi, 


No, the reaction fingerprint was designed to be applied on ordinary chemical reactions, not specifically for biochemical reactions.


1. No, we are not aware of any publications on this topic.


2. If you are interested in predicting metabolic pathways, I suggest checking out our Metabolizer tool.


I hope this helps,


Daniel