Previous Thread
Next Thread
Print Thread
random molecular-replacement
#35015 05/27/15 01:23 PM
Joined: Apr 2014
Posts: 25
A
Forum Member
OP Offline
Forum Member
A
Joined: Apr 2014
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

Re: random molecular-replacement
Aniko Labas #35016 05/27/15 02:19 PM
Joined: Sep 2003
Posts: 4,780
Likes: 2
Forum Member
Offline
Forum Member
Joined: Sep 2003
Posts: 4,780
Likes: 2
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
Re: random molecular-replacement
Aniko Labas #35059 06/05/15 02:12 AM
Joined: Nov 2009
Posts: 46
S
Sai Offline
Forum Member
Offline
Forum Member
S
Joined: Nov 2009
Posts: 46
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
*


Last edited by Sai; 06/05/15 02:15 AM.
Re: random molecular-replacement
Aniko Labas #35065 06/07/15 06:07 PM
Joined: Sep 2003
Posts: 8,471
rmv Offline
Forum Member
Offline
Forum Member
Joined: Sep 2003
Posts: 8,471
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


Moderated by  lennart, rmv 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 5.6.33-0+deb8u1 Page Time: 0.007s Queries: 22 (0.003s) Memory: 0.9160 MB (Peak: 0.9989 MB) Data Comp: Off Server Time: 2020-07-15 08:02:03 UTC
Valid HTML 5 and Valid CSS