Re: [Open Babel] Need complementary information on FP2

2011-12-19 Thread Marianne Seijo
Thank you Ernst-Georg a lot, great help. I am more aware now, and I code it.

Thanks a lot

Marianne

Le 16 déc. 2011 à 12:48, Ernst-Georg Schmid  a 
écrit :

> Hi,
> 
> from the  finger2.cpp source:
> 
> For each of these fragments the atoms, bonding and whether
> they constitute a complete ring is recorded and saved in a std::set
> so that there is only one of each fragment type. Chemically identical 
> versions,
> i.e. ones with the atoms listed in reverse order and rings listed starting at
> different atoms, are identified and only a single canonical fragment is 
> retained.
> 
> "...so that there is only one of each fragment type..." -> FP2 does not 
> contain fragment counts.
> 
> But internally it should be possible to retain the counts you need, so you 
> should be able to write your own fingerprint based on the finger2.cpp source.
> 
> Best regards,
> 
> Ernst-Georg Schmid
> 

--
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


[Open Babel] API for generating 2D coordinates or 3D->2D conversion?

2011-12-19 Thread Ilya Balabin
Ladies and gentlemen,

I would greatly appreciate any hint on the API for 2D coordinate 
generation or 3D to 2D coordinate conversion, assuming those exist. That 
can be done from the command line using the '--gen2d' option, which 
makes me think there could be an API as well. I have not found one yet, 
though... any suggestions?

Many thanks in advance,
Ilya

-- 
 Ilya Balabin, Ph. D.
 Department of Chemistry
 Duke University
 Durham, NC 27708-0349
 http://www.duke.edu/~ilya

--
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] Need complementary information on FP2

2011-12-19 Thread Marianne Seijo
Many thanks Chris, it is helpful. I see it

Best regards

Marianne

Le 16 déc. 2011 à 13:15, Chris Morley  a écrit :

> On 16/12/2011 11:01, Marianne wrote:
>> Dear all,
>> 
>> In order to have fingerprint of reactions, is it possible to make
>> fingerprint (FP2) difference between 2 (or more) compounds, ? (as daylight
>> finger print do in section 6.2.2 here
>> http://www.daylight.com/dayhtml/doc/theory/theory.finger.html )
>> 
>> More specifically, I can not find if in the description of FP2, same kind of
>> fragment, even finding a number of time in a molecule, is store 1 time or
>> each time meet as I suppose?
> 
> FP2 is designed for molecules only, not for reactions. It records, as a 
> set bit, whether a linear fragment (up to seven atoms long) is present, 
> however many times it occurs.
> 
> It is possible to define a structural key type fingerprint to include a 
> count for each structural feature - the MACCS fingerprint uses this. 
> There are some comments in the code 
> http://openbabel.svn.sourceforge.net/viewvc/openbabel/openbabel/trunk/src/fingerprints/finger3.cpp?revision=4398&view=markup
>  
> but no support for difference-type reaction fingerprints.
> 
> Chris
> 
> 
> --
> Learn Windows Azure Live!  Tuesday, Dec 13, 2011
> Microsoft is holding a special Learn Windows Azure training event for 
> developers. It will provide a great way to learn Windows Azure and what it 
> provides. You can attend the event by watching it streamed LIVE online.  
> Learn more at http://p.sf.net/sfu/ms-windowsazure
> ___
> OpenBabel-discuss mailing list
> OpenBabel-discuss@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

--
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


[Open Babel] Problem with PUBCHEM properties

2011-12-19 Thread Adebayo Adeniyi
Dear Coordinator and users of obabel,

I want to use open babel to append properties to sdf file and also to filter a 
sdf file with the properties like:
CAT_NO

PUBCHEM_CACTVS_HBOND_DONOR
PUBCHEM_CACTVS_HBOND_ACCEPTOR

PUBCHEM_MOLECULAR_WEIGHT
PUBCHEM_XLOGP3

but i got an error message like: not recognized as a property or a descriptor

What can I do?

Thanks.

Regards,
Adebayo

 
__
Adebayo A.  Adeniyi 
M.Sc. in Physical Chemistry, University of Ibadan, Nigeria.
B.Sc. in Chemistry University of Uyo, Nigeria.
Participated in ATOSIM Master Program at École Normale Supérieure of Lyon, 
France.
Specializes in Computational and Physical Chemistry.

Address: P.O Box 9435, University of Ibadan, Ibadan, Nigeria.
Tel: +2348136909221
E-mail: a.aaden...@yahoo.com, ade4kr...@googlemail.com--
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


[Open Babel] GAFF atom assignments

2011-12-19 Thread Eric Jang
Hello,

I am trying to figure out how the forcefieldgaff.cpp file reads the
gaff.prm file to assign atom types. Given a molecular model where I know
the bonds connected between atoms (and I know their basic element name
C,N,O,H, etc.), how can I deduce their atom type? (e.g. n2,n1,cp,cd, etc.)

within bool OBForceFieldGaff::SetTypes()
//reads gaff.prm
So once the atom has been assigned a SMARTS string then I guess it becomes
pretty easy to make the atom type assignment by matching up the columns.

So I guess the question becomes: how do I obtain the SMARTS string for each
atom in GAFF? Again, all I know is which atoms are connected to each other
and the bond type (single, double).

Thank you!
- Eric
--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] GAFF atom assignments

2011-12-19 Thread Geoff Hutchison
> So I guess the question becomes: how do I obtain the SMARTS string for each 
> atom in GAFF? Again, all I know is which atoms are connected to each other 
> and the bond type (single, double). 

I'm not sure I understand your question. SMARTS is a pattern matching system. 
So the Open Babel code runs the SMARTS pattern and finds all matching atoms, 
e.g.:

atom [#6X3](N)(N)N  cz"guanidine carbon"

So if I run this on benzene, nothing matches. If I run it on guanidine, I 
obviously get some matches. The OB code handles interpreting the SMARTS (e.g., 
in this case, atom #6 with 3 total connections, bonded to 3 nitrogens.

The code for SMARTS is in the src/parsmart.cpp file.

Hope that helps,
-Geoff
--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev
___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] GAFF atom assignments

2011-12-19 Thread Eric Jang
Thanks for pointing out parsmart.cpp!

Sorry, let me rephrase my question (or separate my many related questions):

I have a very basic atomic structure (not part of OpenBabel) that I am
implementing and I would like to assign GAFF atom types to it. All I know
are the element names and the types of bond orders (single, double).

I don't understand OpenBabel's molecule object model very well, but from
looking at parsmart.cpp and gaff.prm seems to indicate that there is a
rather complex ruleset for assigning atom types to molecules. If all I know
are the bond orders and element names, I would have to iterate through all
of the atoms, search around each atom for the atoms joined to it, and
classify each atom based on the types of atoms around it and the
description in gaff.prm:

"other hydrogen e.g. on aromatic C"
"hydrogen on aliphatic C"
"hydrogen on oxygen"
"inner sp2 C of conjugated chain systems"

However, this won't do because it requires the atoms around it to be
classified in the first place, so the algorithm is kind of like a
chicken-egg problem.

Then I noticed that there are SMARTS strings corresponding to atom types,
e.g:

[#6X3;R](=*)-*=*
[#6X3;R](=*)-*#*
[#6X3;R](#*)-*#*

all correspond to atom type 'cc'.

*1. Is the assignment of atom types somehow based on the SMARTS string of a
molecule? *It would make sense that each atom has some SMARTS string
property that is compared to the gaff.prm file.

*2. How complex of a task is atom assignment to gaff.prm? *I ask this
because I am not particularly adept at debugging c++, worser still at the
c++ language itself, and a 3000+ lines of smarts parsing is a bit
depressing to see... :P

actually the question I really care about is:

*3. How do I assign the GAFF atom types given what I know?*



sorry for my inexperience... just trying to learn here.

Thank you!

- Eric


On Mon, Dec 19, 2011 at 4:10 PM, Geoff Hutchison
wrote:

> > So I guess the question becomes: how do I obtain the SMARTS string for
> each atom in GAFF? Again, all I know is which atoms are connected to each
> other and the bond type (single, double).
>
> I'm not sure I understand your question. SMARTS is a pattern matching
> system. So the Open Babel code runs the SMARTS pattern and finds all
> matching atoms, e.g.:
>
> atom [#6X3](N)(N)N  cz"guanidine carbon"
>
> So if I run this on benzene, nothing matches. If I run it on guanidine, I
> obviously get some matches. The OB code handles interpreting the SMARTS
> (e.g., in this case, atom #6 with 3 total connections, bonded to 3
> nitrogens.
>
> The code for SMARTS is in the src/parsmart.cpp file.
>
> Hope that helps,
> -Geoff
--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] GAFF atom assignments

2011-12-19 Thread Geoff Hutchison

On Dec 19, 2011, at 7:48 PM, Eric Jang wrote:

> 1. Is the assignment of atom types somehow based on the SMARTS string of a 
> molecule? It would make sense that each atom has some SMARTS string property 
> that is compared to the gaff.prm file. 

SMARTS is essentially a programming language. So atoms might match zillions of 
possible SMARTS. I'd think of it the other way around -- the gaff.prm defines 
some SMARTS patterns which define atom types in the force field. Some of those 
may match a particular molecule. Other force fields have other patterns and 
atom typing rules.

...

> 3. How do I assign the GAFF atom types given what I know?

My suggestion is to use Open Babel. Take a look, for example at the Tinker 
format, which provides element, X, Y, Z coordinate, and atom type. If you 
replace "MMFF94" with "GAFF" it would give you an example at assigning GAFF 
atom types for anything Open Babel reads. At that point, it's easier to write a 
file (e.g.,  simple CML) run it through babel, and read the resulting Tinker 
file.

That's the whole point -- in many ways, cheminformatics tasks can often be 
handled directly by babel.

Hope that helps,
-Geoff

--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss


Re: [Open Babel] GAFF atom assignments

2011-12-19 Thread Eric Jang
Hi Geoff,

Don't get me wrong, I think that Babel is the best. But I am unable to use
Babel for various reasons (I am intending to implement a web-based docking
experiment, that is one of them). I've been using Babel to verify my
calculations. I'm so close to finishing, and I have everything nearly
completed except for the atom assignments and measurements.

So basically I would have to go through each smarts structure defined in
gaff.prm and see if there is a matching atom in the molecule?

Sorry, but my question remains as to how can element is assigned its atom
type based solely on bond connectivities.

Thanks,

- Eric

On Mon, Dec 19, 2011 at 8:44 PM, Geoff Hutchison
wrote:

>
> On Dec 19, 2011, at 7:48 PM, Eric Jang wrote:
>
> *1. Is the assignment of atom types somehow based on the SMARTS string of
> a molecule? *It would make sense that each atom has some SMARTS string
> property that is compared to the gaff.prm file.
>
>
> SMARTS is essentially a programming language. So atoms might match
> zillions of possible SMARTS. I'd think of it the other way around -- the
> gaff.prm defines some SMARTS patterns which define atom types in the force
> field. Some of those may match a particular molecule. Other force fields
> have other patterns and atom typing rules.
>
> ...
>
> *3. How do I assign the GAFF atom types given what I know?*
>
>
> My suggestion is to use Open Babel. Take a look, for example at the Tinker
> format, which provides element, X, Y, Z coordinate, and atom type. If you
> replace "MMFF94" with "GAFF" it would give you an example at assigning GAFF
> atom types for anything Open Babel reads. At that point, it's easier to
> write a file (e.g.,  simple CML) run it through babel, and read the
> resulting Tinker file.
>
> That's the whole point -- in many ways, cheminformatics tasks can often be
> handled directly by babel.
>
> Hope that helps,
> -Geoff
>
>
--
Write once. Port to many.
Get the SDK and tools to simplify cross-platform app development. Create 
new or port existing apps to sell to consumers worldwide. Explore the 
Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join
http://p.sf.net/sfu/intel-appdev___
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss