Re: [AMBER] problems with paramfit

From: Robin Betz <rbetz.ucsd.edu>
Date: Mon, 28 Jul 2014 13:12:58 -0700

Hi Marek,

Thanks for your helpful bug report. I appreciate the time you took to look
at the code to figure out the source of each error. I've addressed each of
your bugs as follows:

1. Fixed in update.7.

2. Fixed in the development tree. A workaround is just to pass the -c and
-p parameters in the case of only one input topology.

3. There were two bugs causing the issue you saw. Both are now fixed in the
development tree.

 First, if a job control file is passed to paramfit without any topology
files (the -i option only), the program will segfault for the reasons you
identified. This set of inputs doesn't make sense though, as if a job
control file is inputted there is no need for the wizard, but there is no
topology file to act upon. In this case paramfit will now output an error
about inconsistent command line options.

Secondly, if a job control file and a parameter file are passed to paramfit
(the -i and -p/-pf options), and the NSTRUCTURES=<number> line is present
in the job control file, the program will segfault. This is because the
number of structures is a property of the coordinate structure, which has
not been allocated due to the absence of the -c/-cf command line options.
Paramfit will now output an error if this scenario is present. This is also
why it might have worked with your input files but not with the wizard
ones, as the NSTRUCTURES line is always present in the files that the
wizard writes.

A workaround for this is to always pass a topology and coordinate file to
paramfit.

4. This is normal behavior. To clarify, the SEARCH_SPACE parameter only
affects the starting population of the genetic algorithm, and the final
parameters are free to be outside this range. The parameters in the
population can drift from the starting range by either the mutation
operation or the simplex refinement. If you're repeatedly seeing
convergence to other values there is most likely a very large difference in
fitness between your starting search area and where the algorithm ends up.
You can encourage the algorithm to remain in certain areas of parameter
space by reducing the mutation rate (MUTATION_RATE=<0-1.0>) and removing
the simplex refinements altogether (GENERATIONS_TO_SIMPLEX=0).

I will let you know when the next official patch is released.
Thanks again,

Robin


On Sun, Jul 27, 2014 at 9:12 AM, Marek Maly <marek.maly.ujep.cz> wrote:

> Hi Robin and all,
>
> I analyzed some of the actual paramfit problems (the most of all
> I mentioned before except the SEARCH_SPACE parameter problem).
> I am also suggesting some solutions for those who would like
> to use it before the proper patch will be released.
>
> Solved/analyzed problems:
>
> #1
> Ignoration of the K value if this should be read in from the "Job Control
> File" (JCF)
> or from the prmtop_list file.
>
> SOLUTION:
>
> in file "process_prmtop.c" , in line : 397 (func. process_single_prmtop)
> comment (//) or delete "parm_data->K=0.".
> There is too late for default setting of this parameter at this place.
>
> #2
> Paramfit crashes when one uses prmtop_list and mdcrd_list approach
> (i.e. paramfit -i Job_Control.in -pf prmtop_list -cf mdcrd_list -v MEDIUM
> --random-seed seed )
> in the case that there is just one prmtop/mdcrd file (just one molecule).
>
> This should not happen even if in such a case one may use recommended way
> for one molecule fit,
> without using prmtop_list and mdcrd_list.
> (i.e. paramfit -i Job_Control.in -p prmtop -c mdcrd -q QM_data.dat )
>
> SOLUTION:
>
> in file "read_mdcrd.c", in line : 35 (func. read_mdcrds)
> change "if (global_options->num_prmtops>1)" to "if
> (global_options->num_prmtops>=1)"
>
> #3
> Paramfit crashes when one strts it without any parameters i.e. in "wizard
> mode" in
> the moment when K value is read in.
>
> REASON
>
> That critical moment corresponds to the line : 181 (func.
> job_control_wizard) where
> is written command: "parm_datas[0].K=get_float();"
> Unfortunately the pointer "parm_datas" has at this moment value NULL or
> (nil) (depend on compiler)
> which probably means that at this moment this pointer still dos not
> represent any parm_struct structure (no proper memmory allocation was done
> yet using parm_datas pointer).
>
> In this context is strange to me that the same problem does not occure in
> case when JCF is already created by hand (not by wizard).
>
> I would assume that the command "parm_data[0].K=double_temp1;" (line : 366
> in process_job_control_setting.c) will also cause the program crash here
> because it seems, that the parm_datas is used for the allocation of the
> parm_struct structures array in function "read_prmtops" which is in the
> main function (in parameter_optimiser.c) called after the calls of
> "read_job_control_file" OR "job_control_wizard".
>
> #4
> Parameter SEARCH_SPACE does not seem to be fully functional (this problem
> I had also in the previous versions of paramfit). At least in the case of
> the force constants there is some problem, otherwise it should not be
> possible that I get for one my angle force constant the final value
> -5.2256 if the starting value was 58.2894 and the SEARCH_SPACE parameter
> was set to value 0.5.
>
> In such a case I would expected that the final value of this force
> constant will be in the range from
> 58.2894 - 0.5*58.2894 to 58.2894 + 0.5*58.2894. Clearly the actual final
> value -5.2256 does not belong to this interval. I verified that there is
> not a problem with reading SEARCH_SPACE parameter from the JCF as the right
> value is clearly written in the screen. Anyway I just to be sure rewrote
> this value in "defaults.c" but this did not helped so the problem is
> clearly in the implementation/usage of this parameter.
>
> This problem is actual for GENETIC but also for SIMPLEX calculation mode.
>
> All the above described problems are related to the actual version of
> Amber Tools which are
> patched up to the patch 6.
>
> Patch 7 from the 17 July, where also some paramfit problems were addressed
> was
> not applied because it was not possible. I describe this in the separate
> email.
> But anyway above described problems are probably not fixed in p.7 as Robin
> wrote (25 July) that they will be fixed in some next patch.
>
> Best wishes,
>
>
> Marek
>
>
>
>
>
>
> Dne Fri, 25 Jul 2014 17:33:37 +0200 Robin Betz <rbetz.ucsd.edu> napsal/-a:
>
> Hi Marek,
>>
>> This is a known bug with paramfit and will be fixed in the next few days.
>> I
>> will let you know when the update is released.
>>
>> Regards,
>> Robin Betz
>> On Jul 24, 2014 3:05 PM, "Marek Maly" <marek.maly.ujep.cz> wrote:
>>
>> Dear all,
>>>
>>> I just wanted to do some "revision" ff parameters fitting using the
>>> paramfit from the
>>> actual Amber14. When I tried to use this actual paramfit version for FIT
>>> work,
>>> I realized that the value of the constant K clearly written in the
>>> control
>>> file
>>> (K=-196.792733) was not read in and instead default value of K (i.e.
>>> 0.0000) is
>>> used and written in the screen.
>>> So I decided to use recommended wizard to create control file (however in
>>> case of
>>> the older paramfit versions I never had problem with control file created
>>> by hand).
>>>
>>> Unfortunately the wizard failed exactly in the step where it had to read
>>> K constant value,
>>> please see below. I verified this behavior on two different HW platforms.
>>>
>>> So it seems that the actual paramfit version (at least the my OpenMP
>>> version) has some problems
>>> in reading of the floating point numbers (from the file and as well from
>>> the screen (wizard)).
>>>
>>> I tried here to change the number of cores (using OMP_NUM_THREADS) from 8
>>> to 1 (for the wizard work) but this did not helped. I would be very
>>> grateful for any useful suggestions which could help me to
>>> solve this problem.
>>>
>>> I am using Amber14 with the patches up to 3 (in case of AT up to 6).
>>> My OS is CentOS release 6.5 (2.6.32-431.el6.x86_64), I used gnu compilers
>>> to compile Amber14 ( gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
>>> ).
>>> I did not recognize any other problems (e.g. durin MD simulation) and all
>>> the
>>> tests which are recommended part of the Amber14 installation proceeded
>>> successfully.
>>>
>>> Thank you in advance for the help,
>>>
>>> Best wishes,
>>>
>>> Marek
>>>
>>>
>>> ! Setting verbosity to medium.
>>>
>>>
>>> *****************************************************
>>> * AMBER Bond Angle and Dihedral Parameter Optimiser *
>>> * *
>>> * v3.0.0 *
>>> * *
>>> * Written by: *
>>> * Robin Betz (2011) *
>>> * Ross Walker (2004) *
>>> * The Walker Molecular Dynamics Lab *
>>> * University of California, San Diego *
>>> * La Jolla, California, 92092 *
>>> * USA *
>>> *****************************************************
>>>
>>>
>>> ************************************************************
>>> *************************
>>> Execution started at:
>>> | Thu Jul 24 23:31:16 2014
>>>
>>> |
>>> | Running OpenMP version of code using 1 processors
>>>
>>> | Random seed = 1406237476
>>> PARAMFIT SETTINGS WIZARD
>>> ------------------------
>>>
>>> Enter a job control filename to save settings as, or hit enter
>>> > control.in
>>> Saving job control settings as "control.in"
>>>
>>> How many input structures do you have?
>>> 100
>>>
>>> Which format is your coordinate file in?
>>> 1) Trajectory (.mdcrd,.inpcrd)
>>> 2) Restart (.rst, .restart)
>>> 1
>>>
>>> What type of job do you want to run?
>>> 1) Create input files for quantum program
>>> 2) Set which parameters to fit
>>> 3) Conduct a fit
>>> 3
>>>
>>> Which parameters would you like to fit?
>>> 1) Defaults (see manual)
>>> 2) Load list from file
>>> 3) K only
>>> > 2
>>> Enter file name:
>>> > parameters.in
>>> Enter the initial value for K:
>>> > -196.792733
>>> Error: signal 11:
>>> /opt/amber14/bin/paramfit[0x4090d5]
>>> /lib64/libc.so.6(+0x329a0)[0x7f83cdff79a0]
>>> /opt/amber14/bin/paramfit[0x421bf9]
>>> /opt/amber14/bin/paramfit[0x40a561]
>>> /lib64/libc.so.6(__libc_start_main+0xfd)[0x7f83cdfe3d1d]
>>> /opt/amber14/bin/paramfit[0x401739]
>>> [mara.node25 04_FIT]$
>>>
>>>
>>> --
>>> Tato zpráva byla vytvořena převratným poštovním klientem Opery:
>>> http://www.opera.com/mail/
>>>
>>> _______________________________________________
>>> AMBER mailing list
>>> AMBER.ambermd.org
>>> http://lists.ambermd.org/mailman/listinfo/amber
>>>
>>> _______________________________________________
>> AMBER mailing list
>> AMBER.ambermd.org
>> http://lists.ambermd.org/mailman/listinfo/amber
>>
>
>
> --
> Tato zpráva byla vytvořena převratným poštovním klientem Opery:
> http://www.opera.com/mail/
>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Mon Jul 28 2014 - 13:30:02 PDT
Custom Search