Revised interface ----------------- delete # deletes this nlenergy instance (to free memory) # coordinate wrapping for periodic boundaries is performed # internally for correct energy computation, # but coordinate input and output is unwrapped get coord # return list of all atom coords {{x0 y0 z0} ...} get coord # return list of one atom coordinate {x y z} set coord {{x0 y0 z0} ...} # set all atom coords, list must be length N set coord {x y z} # set one atom coordinate get atom # {{index m q name type residue resname} ... } get atom get atom index get atom mass get atom charge get atom name get atom type get atom residue get atom resname set atom { } set atom mass set atom charge set atom name set atom type set atom residue set atom resname get bond # list all bond pairs get bond # list bonds involving atom get bond # list this bond if defined get bond residue [-self|-all|-join] # return list of bonds having atoms of specified residue number get bond resname [-self|-all|-join] # return list of bonds having atoms of specified resname get bond type # return list of bonds of specified type get angle get angle get angle # return angle if defined get angle residue [-self|-all|-join] # return list of angles having atoms of specified residue number get angle resname [-self|-all|-join] # return list of angles having atoms of specified resname get angle type get dihed get dihed get dihed # return list of diheds centered at pair get dihed # return dihed if defined get dihed residue [-self|-all|-join] # return list of diheds having atoms of specified residue number get dihed resname [-self|-all|-join] # return list of diheds having atoms of specified resname get dihed type get impr get impr get impr # return impr if defined get impr residue [-self|-all|-join] # return list of imprs having atoms of specified residue number get impr resname [-self|-all|-join] # return list of imprs having atoms of specified resname get impr type add bond add angle add dihed add impr remove bond remove angle remove dihed remove impr read xplor read charmm read psf read pdb # for coordinates read namdbin # read NAMD binary file for coordinates write xplor # writing is lower priority write charmm write topology # is this CHARMM topology file? write pdb # save coordinates using ATOM records write namdbin # write NAMD binary file of coordinates # list all: {t emin rmin emin14 rmin14} ... # list for one type: t emin rmin emin14 rmin14 get atomprm get atomprm get atomrpm emin get atomprm rmin get atomrpm emin14 get atomprm rmin14 set atomprm { } set atomprm emin set atomprm rmin set atomprm emin14 set atomprm rmin14 # list all: {t t k r0} ... # list for one type: t t k r0 get bondprm get bondprm get bondprm k get bondprm r0 set bondprm { } set bondprm k set bondprm r0 # list all: {t t t ktheta theta0 kub rub} ... # list for one type: t t t ktheta theta0 kub rub get angleprm get angleprm get angleprm ktheta get angleprm theta0 get angleprm kub get angleprm rub set angleprm { } set angleprm ktheta set angleprm theta0 set angleprm kub set angleprm rub # list all: {t t t t nterms {kdihed phi0 n} ...} ... # list for one type: t t t t nterms {kdihed phi0 n} ... # list for one term: kdihed phi0 n get dihedprm get dihedprm get dihedprm term # returns number of terms get dihedprm term get dihedprm term kdihed get dihedprm term phi0 get dihedprm term n # when setting all terms, the list length must match the number of terms set dihedprm {{ } ...} set dihedprm term { } set dihedprm term kdihed set dihedprm term phi0 set dihedprm term n # list all: {t t t t kimpr psi0} ... # list for one type: t t t t kimpr psi0 get imprprm get imprprm get imprprm kimpr get imprprm psi0 set imprprm { } set imprprm kimpr set imprprm psi0 # list all: {t t emin rmin emin14 rmin14} ... # list for one type: t t emin rmin emin14 rmin14 get vdwpairprm get vdwpairprm get vdwpairprm emin get vdwpairprm rmin get vdwpairprm emin14 get vdwpairprm rmin14 set vdwpairprm { } set vdwpairprm emin set vdwpairprm rmin set vdwpairprm emin14 set vdwpairprm rmin14 missing atomprm missing bondprm missing angleprm missing dihedprm missing imprprm add atomprm { } add bondprm { , } add angleprm { } add dihedprm { { } ... } add imprprm { } add vdwpairprm { } remove atomprm remove bondprm remove angleprm remove dihedprm remove imprprm remove vdwpairprm get nonbprm cutoff get nonbprm switching get nonbprm switchdist get nonbprm exclude get nonbprm dielectric get nonbprm 1-4scaling get nonbprm fulldirect get nonbprm fulldirectvdw set nonbprm cutoff # defaults to 12 A set nonbprm switching # "on" (default) or "off" set nonbprm switchdist # defaults to 10 A set nonbprm exclude # "none" "1-2" "1-3" "1-4" "scaled1-4" set nonbprm dielectric # defaults to 1 set nonbprm 1-4scaling # defaults to 1 set nonbprm fulldirect # (for elec) "off" (default) or "on" set nonbprm fulldirectvdw # (for vdw) "off" (default) or "on" get cellbasis # returns {{x0 y0 z0} {x1 y1 z1} {x2 y2 z2}} set cellbasis {x0 y0 z0} {x1 y1 z1} {x2 y2 z2} # initialized from vmd energy # total potential energy, units kcal/mol energy [+|-]bond [+|-]angle \ [+|-]dihed [+|-]impr \ [+|-]elec [] \ [+|-]vdw [] # '+' is the default # '-' means to include those bonds/angles/etc. not listed # (this means that multiple use of 'bond'/etc. are additive) # 'nonb' can be used to mean both elec & vdw # the two atomlists for elec/vdw/nonb must be disjoint and gives # interaction energies between the two sets (so '-' here is an error) # multiple instances of elec/vdw/nonb treats the single atomlist case # as belonging to the first atomlist, in the even that there is a # case with two atomlists specified. An error occurs in the event # that the two sets are not disjoint resulting from the union over # all and from the union over all . force # has same selection syntax as 'energy', units kcal/mol/A # returns a list of atom indices (including only those atoms that # requested via the evaluation function) followed by a list of # the corresponding x y z forces