Re: [AMBER] Ion clumping in large protein-RNA systems

From: Robin Betz <rbetz.ucsd.edu>
Date: Tue, 19 Jun 2012 08:09:59 -0700

Hi Kamali,

You might want to check out the AddIonsRand command, which was added to
leap to avoid problems such as the one you're facing with adding ions to a
large system. This will replace randomly chosen solvent molecules with
ions, and is much faster as no charge calculation is done.

addIonsRand unit ion1 #ion1 [ion2 #ion2] [separation]

        UNIT _unit_
        UNIT _ion1_
        NUMBER _#ion1_
        UNIT _ion2_
        NUMBER _#ion2_
        NUMBER _separation_

Adds counterions in a shell around _unit_ by replacing random solvent
molecules. If _#ion1_ is 0, the _unit_ is neutralized (_ion1_ must be
opposite in charge to _unit_, and _ion2_ cannot be specified). Otherwise,
the specified numbers of _ion1_ [_ion2_] are added [in alternating order].
If _separation_ is specified, ions will be guaranteed to be more than that
distance apart in Angstroms.

Ions must be monoatomic. This procedure is much faster than addIons, as
it does not calculate charges. Solvent must be present. It must be possible
to position the requested number of ions with the given separation in the
solvent.

This will replace randomly chosen solvent molecules with ions, so make sure
that you have added enough solvent to the system.

Robin


On Tue, Jun 19, 2012 at 7:55 AM, Kamali Sripathi <ksripath.umich.edu> wrote:

> Thanks for your answer, Dr. Cheatham. I've actually been using your script
> to calculate molarity; it's been really helpful!
>
> I actually found, through a discussion with my collaborators, that I was
> probably using the wrong ion parameters. I was just using the default AMBER
> parameters, but yesterday I submitted for equilibration a new structure
> using the K+ and Cl- parameters from Joung and Cheatham, 2008. I am hoping
> this will correct the problem.
>
> Actually, now that I think of it, ptraj didn't actually crash when I tired
> the randomizeions command; it was just taking so long and I wanted my
> processors to do other things, so I forced it to quit.
>
> Thanks again, and have a great day,
>
> Kamali
>
> On Tue, Jun 19, 2012 at 9:16 AM, Thomas Cheatham <tec3.utah.edu> wrote:
>
> >
> > > I'm trying to simulate an 800+ protein-RNA complex with a physiological
> > > concentration of 0.15 M KCl. During my first try to add ions and
> solvate
> > > the system, I added ions first and then solvated the system. However,
> > > during equilibration, I believe that this resulted in un-physiological
> > > "clumps" of KCl. As I saw in the AMBER mailing list archive, I tried
> to
> >
> > ...although it is slow, I add ions one at a time and this tends to avoid
> > the problems with LEaP clumping ions or putting them in a long linear
> > chain...
> >
> > addions UNIT K+ 0
> > addions UNIT Cl- 0
> >
> > addions UNIT K+ 1 Cl- 1
> > addions UNIT K+ 1 Cl- 1
> > addions UNIT K+ 1 Cl- 1
> > addions UNIT K+ 1 Cl- 1
> > addions UNIT K+ 1 Cl- 1
> > ...
> >
> > To "estimate" molarity, I use a simple Perl script below.
> >
> > perl ~/molarity.perl 0.15 84.02 84.02 84.02 90.0 90.0 90.0
> > # ^ X Y Z alpha beta gamma
> > # molarity M
> >
> > > system was so big that Leap crashed. A similar situation occurred when
> I
> > > tried to use the ptraj randomizeions command. Does anyone know of a way
> >
> > randomizeions in ptraj should randomly swap with water; did it lead to
> > clumping or simply an error / core dump?
> >
> > --tec3
> >
> > ----------------
> >
> > #!/usr/sbin/perl
> >
> > $molar = $ARGV[0];
> > $box_x = $ARGV[1];
> > $box_y = $ARGV[2];
> > $box_z = $ARGV[3];
> > $box_a = $ARGV[4];
> > $box_b = $ARGV[5];
> > $box_g = $ARGV[6];
> >
> >
> > if ($box_x == 0) {
> > printf("Usage: molarity box-x box-y box-z alpha beta gamma\n");
> > die;
> > }
> >
> > if ($box_y == 0) {
> > $box_y = $box_x;
> > }
> >
> > if ($box_z == 0) {
> > $box_z = $box_x;
> > }
> >
> > if ($box_a == 0) {
> > $box_a = 90.0;
> > }
> >
> > if ($box_b == 0) {
> > $box_b = $box_a;
> > }
> >
> > if ($box_g == 0) {
> > $box_g = $box_a;
> > }
> >
> > $torad = 2 * 3.141592654 / 360.0;
> >
> > $rad_a = $box_a * $torad;
> > $rad_b = $box_b * $torad;
> > $rad_g = $box_g * $torad;
> >
> > $angles = 1 - cos($rad_a)*cos($rad_a) - cos($rad_b)*cos($rad_b) -
> > cos($rad_g)*cos($rad_g);
> > $angles += 2 * cos($rad_a)*cos($rad_b)*cos($rad_g);
> > $angles = sqrt($angles);
> >
> >
> > $volume = $box_x * $box_y * $box_z * $angles;
> >
> >
> > $molecules = 6.022 * $volume * $molar / 10000;
> >
> > printf(" MOLARITY = %8.3f\n", $molar);
> > printf(" Box size = %8.3f %8.3f %8.3f %8.3f %8.3f %8.3f\n", $box_x,
> > $box_y, $box_z, $box_a, $box_b, $box_g);
> > printf(" Volume = %8.3f\n", $volume);
> > printf("\n %8.3f molecules are necessary to make a molarity of %6.2f
> > M\n\n", $molecules, $molar);
> >
> >
> >
> >
> > _______________________________________________
> > AMBER mailing list
> > AMBER.ambermd.org
> > http://lists.ambermd.org/mailman/listinfo/amber
> >
> >
> >
>
>
> --
> Kamali Sripathi
> Graduate Student, Medicinal Chemistry
> Walter Laboratory
> 930 North University
> Ann Arbor, MI, 48109
> ksripath.umich.edu
> _______________________________________________
> 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
Received on Tue Jun 19 2012 - 08:30:03 PDT
Custom Search