cannot obtain the table_a0.xvg

48 views
Skip to first unread message

Francesca Stanzione

unread,
Dec 18, 2014, 5:36:50 PM12/18/14
to vo...@googlegroups.com
Dear all,
I am experiencing a problem to convert the angle potential in a table.xvg
I have a polymer chain composed by 7 beads with two beadstypes A and B. The polymer sequence is: A1-B1-B2-B3-B4-B5-A2. I have 2 bondtypes (AB and BB) and two angletypes (ABB and BBB).
I obtained the dist.tgt. When I try to run the IBI it works for the bonds but not for the angles. Because I supposed I was doing something wrong I tried the hexane and propane tutorials to see if something was wrong with my angles or my settings.xml and I am not able to obtained the tabulated potential for angle neither for them.
This is the error I get:
ERROR:                                                                                                                                      #
# do_external: subscript                                                                                                                      #
# /home/software/votca/share/votca/scripts/inverse/table_to_xvg.pl --max 1000000 --type angle ABB-angle.pot.shift.YkwA2 table_a0.xvg #
# (from tags convert_potential xvg) failed                                                                                                    #
# For details see the logfile inverse.log


THIS IS the DETAILS FROM THE inverse.log

or_all: run 'do_external convert_potential gromacs $(csg_get_interaction_property name).pot.cur $(csg_get_interaction_property inverse.gromacs.table)' for interaction named 'ABB-angle'
Running subscript 'potential_to_gromacs.sh ABB-angle.pot.cur table_a0.xvg' (from tags convert_potential gromacs) dir /home/software/votca/share/votca/scripts/inverse
Convert ABB-angle.pot.cur to table_a0.xvg
Running critical command 'sed -n s/.*cg_bonded\.\([^[:space:]]*\) .*/\1/p'
Running critical command 'mktemp ABB-angle.pot.scale.XXXXX'
Running subscript 'table_linearop.pl --on-x ABB-angle.pot.cur ABB-angle.pot.scale.dHEeQ 57.2957795 0' (from tags table linearop) dir /home/software/votca/share/votca/scripts/inverse
table_linearop.pl: ABB-angle.pot.cur to ABB-angle.pot.scale.dHEeQ with x' = 57.2957795*x + 0 
Running critical command 'mktemp ABB-angle.pot.smooth.XXXXX'
Running critical command 'csg_resample --in ABB-angle.pot.scale.dHEeQ --out ABB-angle.pot.smooth.bZWVq --grid 0:0.0286479:180'
Running critical command 'mktemp ABB-angle.pot.extrapol.XXXXX'
Running subscript 'potential_extrapolate.sh --type angle ABB-angle.pot.smooth.bZWVq ABB-angle.pot.extrapol.3ThKw' (from tags potential extrapolate) dir /home/software/votca/share/votca/scripts/inverse
Extrapolate ABB-angle.pot.smooth.bZWVq to ABB-angle.pot.extrapol.3ThKw
Running subscript 'table_extrapolate.pl --function linear --avgpoints 3 --region leftright ABB-angle.pot.smooth.bZWVq ABB-angle.pot.extrapol.3ThKw' (from tags table extrapolate) dir /home/software/votca/share/votca/scripts/inverse
table_extrapolate.pl: extrapolating the left using linear with gradient -8.60697674418617
table_extrapolate.pl: extrapolating the right using linear with gradient -0.0167414651162821
Running critical command 'mktemp ABB-angle.pot.interpol.XXXXX'
Running critical command 'csg_resample --in ABB-angle.pot.extrapol.3ThKw --out ABB-angle.pot.interpol.j2iBK --grid 0:0.0005:180 --comment Created on Thu Dec 18 16:38:36 EST 2014 by fstanzio@silicon
called from potential_to_gromacs.sh, version 1.3-dev hgid: 4fce95a62b88
settings file: /home/Documents/bigger_box/reaction/ibi_cou_user/settings.xml
working directory: /home/Documents/bigger_box/reaction/ibi_cou_user/step_001
Comments from /home/Documents/bigger_box/reaction/ibi_cou_user/step_001/ABB-angle.pot.cur:\nCreated on Thu Dec 18 16:38:30 EST 2014 by fstanzio@silicon
called from prepare_generic_single.sh, version 1.3-dev hgid: 4fce95a62b88
settings file: /home/Documents/bigger_box/reaction/ibi_cou_user/settings.xml
working directory: /home/Documents/bigger_box/reaction/ibi_cou_user/step_000'
Running critical command 'mktemp ABB-angle.pot.shift.XXXXX'
Running subscript 'potential_shift.pl --type angle ABB-angle.pot.interpol.j2iBK ABB-angle.pot.shift.YkwA2' (from tags potential shift) dir /home/software/votca/share/votca/scripts/inverse
Running subscript 'table_to_xvg.pl --max 1000000 --type angle ABB-angle.pot.shift.YkwA2 table_a0.xvg' (from tags convert_potential xvg) dir /home/software/votca/share/votca/scripts/inverse
Illegal division by zero at /home/fstanzio/software/votca/share/votca/scripts/inverse/table_to_xvg.pl line 96.

Checking the xxx.pot.shift file I have "o" on the last 5 values, I tried to resample, to change the --grid to 179.5 (last value with "i") but nothing is working..

I have  the version 1.3-dev.

I am sending you in addition the ABB-angle.dist.tgt and the settings.xml files.
Can you please help me to understand what is the problem and why I am not able to have a table_angle?


Thank you,
Francesca

ABB-angle.dist.tgt
settings.xml

Christoph Junghans

unread,
Dec 19, 2014, 1:24:36 PM12/19/14
to vo...@googlegroups.com
Ok, it looks like ABB-angle.dist.tgt gets converted to
ABB-angle.pot.cur in step_000 and the conversion from
ABB-angle.pot.cur to
table_a0.xvg.

However, with the latest version of VOTCA 1.3-dev (changeset:
1e124eb53c82) I wasn't able to reproduce this problem, so please as
0th step re-install VOTCA and see if the problem persists.
(<https://code.google.com/p/votca/wiki/Installing#Development_Version>)

Independently, after looking at your files, I have a couple of issues:
1.) a spacing of 0.02 in ABB-angle.dist.tgt might be a bit to fine,
when looking at the curve around 2.35, it very rough. IBI will never
be able to fit that. You will have to smooth the target distribution
first.
2.) a spacing of 0.0005 for ABB-angle in settings.xml is by far too
fine. You will have to run really really long cg simulation in each
iteration to fill the 4400 (=2.2/0.0005) bins of that interaction with
statistic.
Remember that the stepping for each interaction doesn't have to be the
same as table_bins in gromacs block.

Cheers,

Christoph



>
>
> Thank you,
> Francesca
>
> --
> You received this message because you are subscribed to the Google Groups
> "votca" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to votca+un...@googlegroups.com.
> To post to this group, send email to vo...@googlegroups.com.
> Visit this group at http://groups.google.com/group/votca.
> For more options, visit https://groups.google.com/d/optout.



--
Christoph Junghans
Web: http://www.compphys.de

Francesca Stanzione

unread,
Dec 19, 2014, 1:41:31 PM12/19/14
to vo...@googlegroups.com

Thank you Christoph,
I will try the update. About the spacing you are perfectly right I am using 0.01 and I hope is fine but for the ABB angle spacing 0.00005 was the only way to don't have "o" values after 170 degree, but I probably with the update I can use a reasonable space.
Thank you again,
Francesca

You received this message because you are subscribed to a topic in the Google Groups "votca" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/votca/wcSWx0n900s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to votca+un...@googlegroups.com.

Christoph Junghans

unread,
Dec 19, 2014, 3:49:14 PM12/19/14
to vo...@googlegroups.com
2014-12-19 11:41 GMT-07:00 Francesca Stanzione <stanzione...@gmail.com>:
> Thank you Christoph,
> I will try the update. About the spacing you are perfectly right I am using
> 0.01 and I hope is fine but for the ABB angle spacing 0.00005 was the only
> way to don't have "o" values after 170 degree, but I probably with the
> update I can use a reasonable space.
Yeah, picking min and max for bonded interactions isn't trivial.
You want a point where the distribution is non-zero, but where the
extrapolation already work.

In your case, I might be easier to fit target distribution with 2
gaussian (e.g. in gnuplot:
g1(x)=a*exp(b*(x-c)**2)
c=1
g2(x)=d*exp(e*(x-f)**2)
f=2.35
fit [0.86:1.15] g1(x) "ABB-angle.dist.tgt" via a,b,c
fit [1.15:3.1] g2(x) "ABB-angle.dist.tgt" via d,e,f
plot "ABB-angle.dist.tgt", g1(x)+g2(x)
)
and Boltzmann invert the outcome by hand and give it to VOTCA as
initial guess (ABB-angle.pot.in).

Christoph

Francesca Stanzione

unread,
Dec 28, 2014, 6:17:24 AM12/28/14
to vo...@googlegroups.com
Hi Christoph,
unfortunately I tried to update the votca version but it is not working. I have the same error. I changed the spacing in the settings.xml to a reasonable one (0.002) and I also changed the spacing in the ABB-angle.dist.tgt.
Any additional suggestion?

Thank you,
Francesca


You received this message because you are subscribed to a topic in the Google Groups "votca" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/votca/wcSWx0n900s/unsubscribe.
To unsubscribe from this group and all its topics, send an email to votca+un...@googlegroups.com.

Christoph Junghans

unread,
Dec 28, 2014, 2:10:28 PM12/28/14
to vo...@googlegroups.com
Hi,

2014-12-28 4:17 GMT-07:00 Francesca Stanzione <stanzione...@gmail.com>:
> Hi Christoph,
> unfortunately I tried to update the votca version but it is not working. I
> have the same error. I changed the spacing in the settings.xml to a
> reasonable one (0.002) and I also changed the spacing in the
> ABB-angle.dist.tgt.
> Any additional suggestion?
Ok, I looked at the original problem again and there seems to be a
rounding problem with step/gromacs.table_bins=0.0005.
Basically numbers get rounded in each potential conversion step and
hence after a while one gets the "Illegal division by zero" as two x
values become too similar. I still have not found out, where exactly
it goes wrong and add a warning.

In addition, Gromacs internally uses a spacing of 0.002 (single
precision) or 0.0005 (double precision), so 0.0005 would only make
sense with double precision Gromacs. But double precision isn't really
needed for coarse-grained simulation with thermostats. Have you tried
using gromacs.table_bins=0.002 ?

With gromacs.table_bins=0.002 and the following patch, I got your
table running in hexane/ibi_bonded example.
diff -r a4ed014029f5 hexane/ibi_bonded/settings.xml
--- a/hexane/ibi_bonded/settings.xml Fri Oct 10 03:40:35 2014 -0600
+++ b/hexane/ibi_bonded/settings.xml Sun Dec 28 11:54:25 2014 -0700
@@ -16,12 +16,12 @@
<bonded>
<!-- name of the interaction -->
<name>angle</name>
- <min>1.7</min>
+ <min>0.9</min>
<max>3.1</max>
- <step>0.02</step>
+ <step>0.002</step>
<inverse>
<!-- target distribution -->
- <target>angle.dist.tgt</target>
+ <target>ABB-angle.dist.tgt</target>
<gromacs>
<table>table_a1.xvg</table>
</gromacs>

But anyhow, step=0.002 is still 1100 bins which need to be filling
with statistics, which is a lot, you should aim for something like
0.02.
Like I said in my last email, you might have better chances generating
a custom initial guess for your angle potential.

Christoph

Christoph Junghans

unread,
Dec 28, 2014, 3:08:08 PM12/28/14
to vo...@googlegroups.com
2014-12-28 12:10 GMT-07:00 Christoph Junghans <jung...@votca.org>:
> Hi,
>
> 2014-12-28 4:17 GMT-07:00 Francesca Stanzione <stanzione...@gmail.com>:
>> Hi Christoph,
>> unfortunately I tried to update the votca version but it is not working. I
>> have the same error. I changed the spacing in the settings.xml to a
>> reasonable one (0.002) and I also changed the spacing in the
>> ABB-angle.dist.tgt.
>> Any additional suggestion?
> Ok, I looked at the original problem again and there seems to be a
> rounding problem with step/gromacs.table_bins=0.0005.
> Basically numbers get rounded in each potential conversion step and
> hence after a while one gets the "Illegal division by zero" as two x
> values become too similar. I still have not found out, where exactly
> it goes wrong and add a warning.
I fixed the original issue:
<https://code.google.com/p/votca/source/detail?r=cc6ea63f95532302c3d97159b6175b6899266bc7&repo=tools>

Please re-build tools and csg to get it.

Francesca Stanzione

unread,
Dec 30, 2014, 5:22:57 AM12/30/14
to vo...@googlegroups.com
Hi Christoph,
it seems to work now. The first step is started without any error. 
I needed the table_bin=0.0005 because I am using the double precision. I know that for a CG it is not really necessary but I need a CG potential for an Adaptive Resolution simulation. 
I want to thank you again for your time.

Francesca

Christoph Junghans

unread,
Dec 30, 2014, 12:40:30 PM12/30/14
to vo...@googlegroups.com
2014-12-30 3:22 GMT-07:00 Francesca Stanzione <stanzione...@gmail.com>:
> Hi Christoph,
> it seems to work now. The first step is started without any error.
That is good news.

> I needed the table_bin=0.0005 because I am using the double precision. I
> know that for a CG it is not really necessary but I need a CG potential for
> an Adaptive Resolution simulation.
Remember, that it is enough to interpolate the table to 0.0005, which
VOTCA does automatically for step>table_bin.
One does not need to sample the distributions and calculate the IBI
update for this fine spacing.

The only good (and common) reason for double precision is energy
conservation, which only is fulfilled by H-AdResS.
For the normal AdResS, which is implement in Gromacs, single
precision is sufficient as the hybrid region needed to be heavily
thermostated.

In addition, in AdResS the CG region mainly acts as a simplified
system to speedup the simulation, the interesting stuff happens in the
atomistic region, which is covered by the atomistic force field.
Making a too complicated CG model for an AdResS simulation might take
longer than running a brute-force atomistic simulation ;-)

However, good luck,

Christoph

Francesca Stanzione

unread,
Dec 30, 2014, 1:22:21 PM12/30/14
to vo...@googlegroups.com

Thank you for your suggestions! I am pretty new with the AdResS so I am still trying different approaches so I really appreciate your suggestions.

Best,
Francesca

Reply all
Reply to author
Forward
0 new messages