Charles | 14 Aug 17:14 2006

Re: defining my own energy functions?


Hello Rob--

> 
> I'm trying to do Cartesian space minimization and molecular dynamics on a
> pre-existing structure. However, my group wants to use 2 of our own energy
> functions: a distance constraint based energy function and another
> continuous function. Is there a way to write a 'module' or something that
> will interface with the dynamics verlet, or is included with the flags
> include <etc> statement? Is there some other way to do this?

This can be done by writing a new potential energy function. This can be
written in Fortran, C++, or Python. For the Fortran or C++ interfaces
you will need access to the full source code. Potential terms written in
Python should either be for development purposes, or computationally
quite inexpensive, as it's much slower than a compiled language. Please
contact me for further details.

best regards--
Charle
Charles | 14 Aug 17:15 2006

Re: defining my own energy functions?


Hello Rob--

> 
> I'm trying to do Cartesian space minimization and molecular dynamics on a
> pre-existing structure. However, my group wants to use 2 of our own energy
> functions: a distance constraint based energy function and another
> continuous function. Is there a way to write a 'module' or something that
> will interface with the dynamics verlet, or is included with the flags
> include <etc> statement? Is there some other way to do this?

This can be done by writing a new potential energy function. This can be
written in Fortran, C++, or Python. For the Fortran or C++ interfaces
you will need access to the full source code. Potential terms written in
Python should either be for development purposes, or computationally
quite inexpensive, as it's much slower than a compiled language. Please
contact me for further details.

best regards--
Charles
John Kuszewski | 14 Aug 22:18 2006
Picon

Re: defining my own energy functions?

Note that new xplor-NIH energy terms can also be written in TCL.  But  
the speed of TCL code is
no better than Python, so, like Python, it should only be used to try  
things out quickly, or
to implement very quick to compute energy terms.

--JK

On Aug 14, 2006, at 11:15 AM, Charles <at> schwieters.org wrote:
>
> This can be done by writing a new potential energy function. This  
> can be
> written in Fortran, C++, or Python. For the Fortran or C++ interfaces
> you will need access to the full source code. Potential terms  
> written in
> Python should either be for development purposes, or computationally
> quite inexpensive, as it's much slower than a compiled language.  
> Please
> contact me for further details.
>
> best regards--
> Charles
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.3 (GNU/Linux)
> Comment: Processed by Mailcrypt 3.5.8 <http:// 
> mailcrypt.sourceforge.net/>
>
> iD8DBQFE4JOHPK2zrJwS/lYRAqluAJ4hWhe+7wiVTJ1rQjAduY665F1QYACfS488
> CMRt8BzE0esVkss5W2MH3aE=
> =Evbt
(Continue reading)

SUSAN VARNUM | 14 Aug 23:01 2006
Picon

Speaking of custom energy terms...

I've noticed two examples in the literature where folks have used step 
potentials rather than "square well" potentials for some of ther restraints. 
  Is there an easy way to convert the NOE restraint from square to step?  
I've been using an ad-hoc solution of setting the upper bound to 99 
angstroms but this is only good for proteins with extended chains that do 
not exceed this distance.  It does not appear that I can use a value larger 
than 99 angstroms because I get an error message in my out file if I try 
that.

TIA,

David Lowry
Charles | 15 Aug 22:47 2006

Re: Speaking of custom energy terms...


SUSAN VARNUM <huskyrunnr <at> msn.com> wrote:

> I've noticed two examples in the literature where folks have used step
> potentials rather than "square well" potentials for some of ther
> restraints. Is there an easy way to convert the NOE restraint from
> square to step?  I've been using an ad-hoc solution of setting the
> upper bound to 99 angstroms but this is only good for proteins with
> extended chains that do not exceed this distance.  It does not appear
> that I can use a value larger than 99 angstroms because I get an error
> message in my out file if I try that.
> 

> >
> > With NOE restraint of the form
> >
> > (    ) (    ) 20.0 0.0 150.0
> >
> > I get, in my .out file
> >
> > NOEPot:addRestraints: error adding restraint
> >

This is my mistake- it will be fixed in the next release. However, I
wonder if this is really a problem in practice?

best regards--
Charles
SUSAN VARNUM | 16 Aug 00:04 2006
Picon

Re: Speaking of custom energy terms...

Thanks Charles.  Charles and group: it became a problem in practice for me because I was using the NOE potential for negative PRE restraints on extended chains longer than 99 angstroms.  A spin label on one end of the chain will often not enhance the relaxation of many protons at the other end of the chain and this lack of enhancement should be, or has been, used as negative restraints between chain ends.  Another nice thing I stumbled upon when using the NOE potential instead of the PRE module is that all the esim functionality is available for ensemble simulations, otherwise I would have had to look more closely into using the method of Iwahara et al.(his scripts are in the python examples) to refine ensembles of structures.  There may be some simple clever way to do all this that I'm missing which would make it a non-problem in practice.
 
David Lowry
----- Original Message -----
Sent: Tuesday, August 15, 2006 1:47 PM
Subject: Re: Speaking of custom energy terms...

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


SUSAN VARNUM <huskyrunnr <at> msn.com> wrote:

> I've noticed two examples in the literature where folks have used step
> potentials rather than "square well" potentials for some of ther
> restraints. Is there an easy way to convert the NOE restraint from
> square to step?  I've been using an ad-hoc solution of setting the
> upper bound to 99 angstroms but this is only good for proteins with
> extended chains that do not exceed this distance.  It does not appear
> that I can use a value larger than 99 angstroms because I get an error
> message in my out file if I try that.
>

> >
> > With NOE restraint of the form
> >
> > (    ) (    ) 20.0 0.0 150.0
> >
> > I get, in my .out file
> >
> > NOEPot:addRestraints: error adding restraint
> >

This is my mistake- it will be fixed in the next release. However, I
wonder if this is really a problem in practice?

best regards--
Charles
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFE4jLYPK2zrJwS/lYRAq9rAJ9qI3vyGHdNtwaThXw2ro4hVnKeLQCfaVA8
zDRolUkAWnoT8QMZ5V8C9xU=
=o/J5
-----END PGP SIGNATURE-----
_______________________________________________
Xplor-nih mailing list
Xplor-nih <at> nmr.cit.nih.gov
http://dcb.cit.nih.gov/mailman/listinfo/xplor-nih
Charles | 16 Aug 14:35 2006

Re: Speaking of custom energy terms...


Hi David--

> Thanks Charles.  Charles and group: it became a problem in practice
> for me because I was using the NOE potential for negative PRE
> restraints on extended chains longer than 99 angstroms.  

Tell me which platforms you're using, and I'll put together version
2.15.1 packages later today - which lift this limitation.

>   Another nice thing I stumbled upon when using the NOE potential
> instead of the PRE module is that all the esim functionality is
> available for ensemble simulations, otherwise I would have had to look
> more closely into using the method of Iwahara et al.(his scripts are
> in the python examples) to refine ensembles of structures.  

That is nice. I've been meaning to fix up the PREPot to handle
EnsembleSimulations- it's on the todo list.

regards--
Charles
Andreas Ceymann | 25 Aug 12:07 2006
Picon

noePot

Hi,

i do some calculations with mainly noe restrained structures. Therefore i use 
a script based on the example script anneal.py. The formula for noePot 
according to the reference manual is:

>The energy function is defined as
> 
>        if pot=HARD or  r<rSwitch: 
>                scale * r^hardExp
>        pot=SOFT and r>rSwitch: 
>                scale * (a + b / r^softExp + asympSlope * r)
> 
>        where
>        b =  rSwitch^(softExp+1) * 
>            (asympSlope - hardExp * rSwitch^(hardExp-1)) / softExp
>        a = rSwitch^hardExp - b * rSwitch^(-softExp) - 
>            asympSlope * rSwitch;

I calculated this potential as a function of r and the result is a potential 
that is partially negative and that is not continuous at rSwitch. So i guess 
this formula can't be the one which is used for the noe calculations. What is 
the function used by the program?

I wonder why the parameters in anneal.py differ so much from the default 
values. What is the reason for this?

Thanks!
Andreas
RMB Hoffman | 25 Aug 18:22 2006
Picon
Picon

the meaning of simulationTools.xplorThreshold

Just before the end of the definition of my structureLoopAction there  
are statements to the effect of:

simulationTools.xplorThreshold['CDIH'] = 1

The documentation (in my hands) leaves me confused - perhaps this is  
as obvious as it looks. Does this mean that violations of the CDIH  
term exceeding 1 degree are counted as violations for the purpose of  
generating the PDB header?

Similar simulationTools.xplorThreshold statements occur for the  
'ANGL' and 'IMPR' terms, but not for the NOE term. The PDB header  
lists the violations of all of the terms, though.

Are there default settings for xplorThreshold?

Thanks,

Ryan
Charles | 27 Aug 01:55 2006

Charles <at> schwieters.org: Re: the meaning of simulationTools.xplorThreshold


Subject:
Return-path: <charles <at> schwieters.org>
Envelope-to: schwitrs <at> localhost
Delivery-date: Sat, 26 Aug 2006 19:53:07 -0400
Received: from localhost ([127.0.0.1] helo=oaf.wireless)
	by oaf.wireless with esmtp (Exim 3.36 #1 (Debian))
	id 1GH7xb-0005HC-00
	for <schwitrs <at> localhost>; Sat, 26 Aug 2006 19:53:07 -0400
Received: from server16.imagelinkusa.net [70.84.8.226]
	by oaf.wireless with POP3 (fetchmail-6.3.4)
	for <schwitrs <at> localhost> (single-drop); Sat, 26 Aug 2006 19:53:07 -0400 (EDT)
Received: from schwiet by server16.imagelinkusa.net with local-bsmtp (Exim 4.52)
	id 1GH6ti-00048G-Tp
	for mail <at> schwieters.org; Sat, 26 Aug 2006 18:45:05 -0400
X-Spam-Checker-Version: SpamAssassin 3.1.4 (2006-07-25) on 
	server16.imagelinkusa.net
X-Spam-Level: 
X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_00,DATE_IN_PAST_06_12,
	FORGED_RCVD_HELO,NO_REAL_NAME autolearn=no version=3.1.4
Received: from [209.86.89.62] (helo=elasmtp-dupuy.atl.sa.earthlink.net)
	by server16.imagelinkusa.net with esmtp (Exim 4.52)
	id 1GH6ti-0001J5-GS
	for Charles <at> schwieters.org; Sat, 26 Aug 2006 18:45:02 -0400
Received: from [66.167.233.186] (helo=gate.localdomain)
	by elasmtp-dupuy.atl.sa.earthlink.net with asmtp (Exim 4.34)
	id 1GH6to-0002BO-RV; Sat, 26 Aug 2006 18:45:08 -0400
Received: from oaf.wireless ([192.168.1.6])
	by gate.localdomain with asmtp (Exim 3.36 #1 (Debian))
	id 1GH6tN-0003ZX-00; Sat, 26 Aug 2006 18:44:41 -0400
Received: from schwitrs (helo=oaf.localdomain)
	by oaf.localdomain with local-esmtp (Exim 3.36 #1 (Debian))
	id 1GGzkH-0004qq-00; Sat, 26 Aug 2006 11:06:49 -0400
To: RMB Hoffman <ryan.hoffman <at> ualberta.ca>
From: Charles <at> schwieters.org
Subject: Re: [Xplor-nih] the meaning of simulationTools.xplorThreshold 
CC: Charles <at> Schwieters.org
In-Reply-To: Your message of "Fri, 25 Aug 2006 10:22:34 MDT."
             <4D56B927-8B41-4A9C-97E4-16399E867BA1 <at> ualberta.ca> 
X-Mailer: MH-E 8.0.2; nmh 1.1; GNU Emacs 21.4.1
Date: Sat, 26 Aug 2006 11:06:49 -0400
Message-ID: <18651.1156604809 <at> oaf.localdomain>
X-ELNK-Trace: f486a1ebabb8014a1aa676d7e74259b7b3291a7d08dfec79325994c203853adcdaeb033dd57c1614350badd9bab72f9c350badd9bab72f9c350badd9bab72f9c
X-Originating-IP: 66.167.233.186

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Ryan--

> Just before the end of the definition of my structureLoopAction there
> are statements to the effect of:
> 
> simulationTools.xplorThreshold['CDIH'] = 1

This is from an older release of Xplor-NIH, and will cause an error when
using more recent versions.

Currently, threshold values used for violation analysis are stored in
the threshold member, accessed via the threshold() and setThreshold(val)
accessors. For example, you might have

potList.append( XplorPot['CDIH'] )
potList['CDIH'].setThreshold(1)
print simulationTools.analyze( potList['CDIH'] )

The default values are set in the xplorPotTools module.

hope this helps--

Charles
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFE8GOIPK2zrJwS/lYRAiyzAJ4/SOqIqoQ72TQ04ZulqGIJ4JvyRwCeLDxC
R6z2XK+TfprQ4+WJ+TBrSwI=
=6Vx7
-----END PGP SIGNATURE-----

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/>

iD8DBQFE8N99PK2zrJwS/lYRAsAoAJ4gBxq87kSdWcUJ9OpP+Fh8z4/wMwCcD6bP
kdhqretxNVoP/8oj/hWwkBg=
=CU1/
-----END PGP SIGNATURE-----
_______________________________________________
Xplor-nih mailing list
Xplor-nih <at> nmr.cit.nih.gov
http://dcb.cit.nih.gov/mailman/listinfo/xplor-nih

Gmane