Topic Options
#35015 - 05/27/15 09:23 AM random molecular-replacement
Aniko Labas Offline
Forum Member

Registered: 04/15/14
Posts: 25
Dear Users,

I have a heme containing enzyme, solvated with 29900 water molecules and neutralized by one sodium ion. Now I would like to randomly replace circa 188 water molecules to NO gas molecules. Do You know any solution for this? Should I use in some way the 'step2.2_ions.inp' input file which is usually used by CHARMM-GUI to add ions to your system?

Thank You in advance!

Aniko

Top
#35016 - 05/27/15 10:19 AM Re: random molecular-replacement [Re: Aniko Labas]
lennart Online   content

Forum Member

Registered: 09/25/03
Posts: 4741
Loc: ~ 59N, 15E
you can modify the script in the post "ion addition by selective water replacement" in the SCript Archive forum, or perhaps just use the addion.str part.
_________________________
Lennart Nilsson
Karolinska Institutet
Stockholm, Sweden

Top
#35059 - 06/04/15 10:12 PM Re: random molecular-replacement [Re: Aniko Labas]
Sai Offline
Forum Member

Registered: 11/20/09
Posts: 46
Loc: FL
I had come across a similar problem in which I had to replace some waters with a bigger molecule ~ 49 atoms. So I compiled the following script and feel free to modify to suit your needs. I would also appreciate if some one can improvise this script.

! read the psf and coordinate file
read psf card name ../solvate/acid_anthracene-solvate.psf
read coor card name ../solvate/acid_anthracene-solvate.cor

! Define the segid of my acids-which will be the segid in stream file
set nneg AANT ! This is the segid of my anthracene acid
calc ineg = 10 ! Number of acids to add to the system
set sol .not. segid BWAT ! atoms selection for solvent
set mnd 18.00 ! minimum distance to solute, other ions

! sol particles to exclude; atom selection w/o SELE and END
! mnd min distance to another solute particle
! Pick a group of water molecules and replace them anthracene acids
set k 1
label replace_acids
generate A@k dupl AANT
!COOR PRINT SELE ATOM AANT 1 * END
coor dupl sele segid AANT end sele segid A@k end


define xcld sele ( @SOL ) .or. segid A* end ! EXCLUDED SEGMENTS
define prox sele xcld .byres. .around. @MND end ! NEARBY EXCLUDED ATOMS
define list sele atom BWAT * OH2 .and. ( point 0. 0. 0. cut 22 ) .and. .not. prox end ! WATERS NOT NEARBY
calc in int( ?RAND * ?NSEL ) ! RANDOM INTEGER, BASED ON WATER COUNT
if in .lt. 1 set in ?NSEL ! CHECK FOR ZERO, CHANGE TO MAX VALUE
define targ sele list .subset. @IN show end ! PICK WATER VIA RANDOM INDEX
coor stat sele targ end ! GET OH2 ATOM COORDS, ASSIGN TO CHLORIDE
set targx = ?XAVE
set targy = ?YAVE
set targz = ?ZAVE

coor tran xdir -?XAVE ydir -?YAVE zdir -?ZAVE select segid A@k end
! Delete waters which overlap with protein
delete atom sort -
select .byres. (segid bwat .AND. type oh2 .and. -
((.not. (segid bwat .OR. hydrogen)) .around. 3.5)) end

incr k by 1
if k .le. @ineg goto replace_acids

return

! ASSUMES WATER IS SEGID BWAT; RENUMBER THE WATER MOLECULES
join bwat renum

!! SETUP CRYSTAL (DEFINE, BUILD), IMAGE CENTERING W. MODIFIED PSF
stream ../solvate/build_crystal.str


!! SETUP NONBOND
update inbfrq -1 atom vatom cutnb 12.0 cutim 16.0 ctofnb 10. cdie eps 1. -
ctonnb 8. vswitch imgfrq 5 wmin 1.0 -
ewald pmew fftx @ewaldval ffty @ewaldval fftz @ewaldval kappa .34 spline order 6

!! BRIEF MIN OF IONS INSERTED INTO SOLVATED MODEL
shake bonh param
mini sd nstep 100 nprint 10
mini abnr nstep 25 nprint 5

open write unit 1 card name aa-saturated_waterbox.pdb
write coor pdb unit 1
* aa-saturated_waterbox.pdb
*

open write unit 1 card name aa-saturated_waterbox.psf
write psf card unit 1
* aa-saturated_waterbox.psf
*

open write unit 1 card name aa-saturated_waterbox.cor
write coor card unit 1
* aa-saturated_waterbox.cor
*



Edited by Sai (06/04/15 10:15 PM)

Top
#35065 - 06/07/15 02:07 PM Re: random molecular-replacement [Re: Aniko Labas]
rmv Online   content

Forum Member

Registered: 09/17/03
Posts: 8373
Loc: 39 03 48 N, 77 06 54 W
When I had to build a number of aqueous systems with simple sugars at different concentrations, I used a very different approach--
  • place molecules using a grid in a predetermined volume, perturb w. random small displacements and random rotations
  • read water box with that volume, and delete water molecules which badly overlap sugars
One example of using a grid can be found in this octane example from the Script Archive (which is where such scripts should be posted, BTW).
_________________________
Rick Venable
computational chemist


Top

Moderator:  John Legato, lennart