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

From: Thomas Cheatham <tec3.utah.edu>
Date: Tue, 19 Jun 2012 07:16:41 -0600 (Mountain Daylight Time)

> 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
Received on Tue Jun 19 2012 - 06:30:04 PDT
Custom Search