Re: ABF questions

From: Jérôme Hénin (jhenin_at_ifr88.cnrs-mrs.fr)
Date: Tue Jan 05 2010 - 11:44:58 CST

Dear Austin:

1) xiMin and xiMax are boundaries of the grid used to collect data,
but the system is free to evolve between them.

2) you are using an older version of the code. The current version is
part of the "collective variable calculations" module of NAMD 2.7 and later.

3) any data analysis software should be able to read the files (the
are plain text). I like xmgrace and gnuplot.

Best,
Jerome

2010/1/5 Austin B. Yongye <ybausty_at_yahoo.com>:
> Dear all,
> I am trying to apply ABF during a simulation. I have read the ABF section in the NAMD27b1_Documentation file and the ABF-Mar2008 tutorial. Please I have some questions:
>
> 1). Is the distance between abf1 and abf2 decreased/increased progressively from xiMax to xiMin in the course of the simulation; or are xiMax and xiMin simply used as limits for creating bins, and then energies are computed for structures in each bin?
>
> 2). What keyword should I use to generate the .grad, .count and .pmf output files? My current output does not include these files.
>
> 3). What tools do I need to generate the free energy plot for the simulation (e.g. Figure 1 of the ABF-Mar2008.pdf tutorial)?
>
> Thanks,
> Austin-
>
> My configuration and abf.tcl files are included below:
>
> #protocol params
> numsteps       20000
>
> #initial config
> ambercoor       ../3mem3mem.crd
> parmfile        ../3mem3mem.top
>
> #output params
> outputname      3mem3mem_min
> binaryoutput    on
>
> #force field params
> paraTypeCharmm  off
> amber           yes
> parameters      parm94.dat
> exclude         scaled1-4
> scnb            2.0
> 1-4scaling      0.83
> switching       off
> switchdist      8.0
> cutoff          12.0
> pairlistdist    14.0
> pairlistsPerCycle   2
> margin          0.0
> stepspercycle   20
> rigidBonds      all
> timestep        0.5
>
> #dcd file
> DCDfile         3mem3mem_atombased.dcd
> DCDfreq         10
>
> temperature     300
>
> #abf section
> source          ./Tutorial-ABF/abf-1.8/abf.tcl
> abf coordinate       distance
> abf abf1             90
> abf abf2             59
> abf xiMin            1.45
> abf xiMax            9.00
> abf dxi              0.1
> ------------------------------------------------------
>
>
>         #############################################
>         #           Generic ABF code                #
>         # Jerome Henin <jerome.henin_at_uhp-nancy.fr>  #
>         #############################################
>
> ############
> # Startup  #
> ############
>
> package provide abf 1.7.0
>
> #########################
> # Parameter definitions #
> #########################
>
> namespace eval ::ABF {
>
> set version "1.7"
>
> if {! [info exists ABFdir]} { set ABFdir [file dirname [info script]] }
> # If it fails, try the local directory
> if { $ABFdir == "" } { set ABFdir "." }
>
> TclForces               on
> TclForcesScript         $ABFdir/abf_script.tcl
>
> array set defaults {
> inFiles         {}
> outFile         atom_based_01.dat
> outputName      3mem3mem_abf
> historyFile     none
> distFile        distfile_abf.dat
> forceConst      500.0
> fullSamples     500
> outputFreq      100
> df              1.0
> fMax            60.0
> dSmooth         0.0
> writeXiFreq     100
> writeFxiFreq    100
> usMode          no
> applyBias       yes
> moveBoundary    0
> temp            300.0
> abf2            {}
> }
>
> set mandatory "coordinate xiMin xiMax dxi abf1"
>
> # these settings are not displayed at startup
> set silent "restraintList usMode SFM applyBias direction abf3"
>
> array set capitals {}
> foreach param [concat $silent $mandatory [array names defaults]] {
>    set capitals([string tolower $param]) $param
>    # not set yet
>    set alreadySet($param) 0
> }
>
> } ;# namespace
>
> proc abf { keyword value } {
>    set ::ABF::keyword $keyword
>    set ::ABF::value $value
>
> namespace eval ::ABF {
>
>    # Build list of all allowed parameter names
>    set list [array names capitals]
>
>    set lowercase [string tolower $keyword]
>
>    # Process parameters
>    if {[lsearch $list $lowercase] != -1} {
>        set keyword $capitals($lowercase)
>
>        if { $alreadySet($keyword) } {
>            print "ABF> WARNING - multiple definitions of parameter " $keyword
>        }
>
>        set $keyword $value
>        set alreadySet($keyword) 1
>
>        return
>    } else {
>        error [format "Unknown ABF keyword: %s" $keyword]
>    }
>
>
> } ;# namespace
> } ;# proc abf
>
> # define upper-case synonyms to proc abf
> proc ABF { keyword value } {
>    abf $keyword $value
> }
> proc Abf { keyword value } {
>    abf $keyword $value
> }
>
>
>
>
>
>

This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:55:19 CST