Thanks a lot, Robin; I'll give that a try.
Dr. Cheatham, I actually had a follow-up question for you. I've been using
your molarity.perl script to calculate the number of ions I'd need for a
certain box size. My problem is that I solvate after adding ions, so that
the box size is always a bit off. For example, I calculated by hand (before
I had found the script) that I needed 111 molecules of KCl to reach a
concentration of 0.15 M. Just to double-check, I plugged in my box
dimensions after adding these 111 molecules and solvated my system. The
script then told me that I'd need 128 molecules. I started over, and added
128 molecules to my system and solvated. As another double-check, I plugged
in the parameters of this box into the molarity.perl script, which told me
that I now needed 131 molecules. I know the best way to do this would be to
solvate my system and use addions2 to add molecules after solvation.
However (as I think I mentioned), I tried this, and my system is so big
that Leap crashed. Do you have any suggestions for how I might get my
desired salt concentration?
I have one final question: The new ion parameters I tried (Joung and
Cheatham) seemed to fix the clumping problem; however it seems for some
reason that the ions are only placed around 3 of four domains of the
protein. I'm trying Dr. Cheatham's approach of adding ions one by one to
see if this results in a better placement of ions, but I was wondering if
anybody else has any other suggestions?
Thank you all and have a great weekend,
Kamali
On Tue, Jun 19, 2012 at 11:09 AM, Robin Betz <rbetz.ucsd.edu> wrote:
> 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
>
>
>
_______________________________________________
AMBER mailing list
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Received on Fri Jun 22 2012 - 12:00:02 PDT