Skip to content

Instantly share code, notes, and snippets.

@yukimya
Last active August 29, 2015 14:04
Show Gist options
  • Save yukimya/c7706adab3c8b1990cb1 to your computer and use it in GitHub Desktop.
Save yukimya/c7706adab3c8b1990cb1 to your computer and use it in GitHub Desktop.
make mutation for charm/namd by namd and vmd
#!/bin/sh
# GPL v.3
# Program mkMu: mkMutation.sh
# Naoyuki Miyashita 7/22/2014
#
#
# Input
outfile="00_mutation1.inp"
initialPDB="input.pdb"
initialPSF="input.psf"
mkInputPrefix="00_mutation"
Outfile="00_mutant"
OutTempPrefix="00_tmp"
numberOfTopology=2
topology_0="../../par/top_prot_wation.rtf"
topology_1="../../par/top_all36_na.rtf"
topology=("$topology_0" "$topology_1")
numberOfMutation=2
mutantSegment_0="P1"
mutantResID_0=333
mutantResname_0="ASP"
mutantSegment_1="P2"
mutantResID_1=444
mutantResname_1="GLU"
mutantSegment=("$mutantSegment_0" "$mutantSegment_1")
mutantResID=("$mutantResID_0" "$mutantResID_1")
mutantResname=("$mutantResname_0" "$mutantResname_1")
# runfile
#psfgen_cmd="#/home/miya/src/src_namd/NAMD_CVS-2013-02-26_Linux-x86_64-multicore-CUDA/psfgen << ENDMOL"
psfgen_cmd="#/home/miya/src/src_namd/NAMD_CVS-2013-04-08_Linux-x86_64-multicore/psfgen << ENDMOL"
vmd_cmd="~/bin/bin_vmd/vmd -dispdev text -e $Outfile.inp > $Outfile.log"
# make line
num=0
line_0="package require mutator"
echo $line_0 > $Outfile.inp
i=0
while [ $i -lt $numberOfTopology ]
do
topf=${topology[$i]}
line_1="topology $topf"
echo $line_1 >> $Outfile.inp
num=$((num+1))
i=$((i+1))
done
i=0
line_2="mutator -psf $initialPSF -pdb $initialPDB -o $OutTempPrefix$i -ressegname ${mutantSegment[$i]} -resid ${mutantResID[$i]} -mut ${mutantResname[$i]}"
echo $line_2 >> $Outfile.inp
i=$((i+1))
while [ $i -lt $numberOfMutation ]
do
pre=$((i-1))
line_2="mutator -psf $OutTempPrefix$pre.psf -pdb $OutTempPrefix$pre.pdb -o $OutTempPrefix$i -ressegname ${mutantSegment[$i]} -resid ${mutantResID[$i]} -mut ${mutantResname[$i]}"
echo $line_2 >> $Outfile.inp
num=$((num+1))
i=$((i+1))
done
line_3="exit"
echo $line_3 >> $Outfile.inp
# MK shel for PSFGEN
echo $psfgen_cmd > $Outfile.sh
echo $vmd_cmd >> $Outfile.sh
# run command
sh $Outfile.sh
pre=$((i-1))
cp $OutTempPrefix$pre.pdb $Outfile.pdb
cp $OutTempPrefix$pre.psf $Outfile.psf
rm $OutTempPrefix*
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment