Example #1
0
File: bbtmml.py Project: jksr/beta2
def solvestiffness(pdbpathlist, ballpathlist, stickpathlist, disppathlist, ktypeassinger, notrelative=False):
	equsysset = []
	for i in range(len(pdbpathlist)):
		pdbfn = pdbpathlist[i]
		ballfn = ballpathlist[i]
		stickfn = stickpathlist[i]
		dispfn = disppathlist[i]
		f = equtils.ForceGen.get_force_vector( ballfn, equtils.wimley_section_divide(equtils.opm_mempos(pdbfn, ballfn)) )
		equsys = bbtmequs.DisplacementEquSys(ballfn, stickfn, dispfn, f, ktypeassinger)
		seciddict = equtils.section_divide(ballfn, equtils.wimley_section_divide(equtils.opm_mempos(pdbfn, ballfn)) )
		#seciddict = equtils.section_divide(ballfn, equtils.uni_section_divide(equtils.opm_mempos(pdbfn, ballfn)) )
		equsys.divide_system(seciddict)
		equsysset.append( equsys )
	totequsys = equsysset[0]
	for i in range(1,len(equsysset)):
		totequsys = totequsys + equsysset[i]
	totequsys.solve(notrelative)
	return totequsys.result
Example #2
0
import equtils
import bbtmml


datapath = '../../../dataubuntu/'

codes = [ '1BXW', '1FEP', '1I78', '1K24', '1KMO', '1NQE', '1P4T' ]

# generated deformed balls file
for code in codes:
	# resting state extended
	extballfn = datapath+code+'.balls.ext'
	extstickfn = datapath+code+'.sticks.ext'
	pdbfn = datapath+code+'.pdb'

	memsec = equtils.wimley_section_divide(equtils.opm_mempos(pdbfn, extballfn))
	# force profile
	#memsec =  (memsec[0],[-1, -1, -1])
	memsec =  (memsec[0],[-1, -2, -1])

	f = equtils.ForceGen.get_force_vector( extballfn,memsec, code+'.force' )
	# 3 k type
	equsys = bbtmequs.StiffnessEquSys(extballfn, extstickfn, f, typeutils.ThreeKAssigner )
	equsys.solve()
	disp = equsys.result['u'].reshape(equsys.result['u'].shape[0]/3, 3)

	# resting state not extended
	ballfn = datapath+code+'.balls'
	balldat = bbtmio.read_ball_file(ballfn)
	ballcoords = bbtmio.get_ball_coords(balldat)
	# new coords after deformation
Example #3
0
import numpy as np
import sys
import os
sys.path.append(os.path.abspath(os.path.dirname(__file__))+'/../../../pyscripts/')
import bbtmequs
import typeutils
import equtils

ballfn = '../../../datamac/1BXW.balls.ext'
pdbfn = '../../../datamac/1BXW.pdb'

# one k
f = equtils.ForceGen.get_force_vector( ballfn, equtils.wimley_section_divide(equtils.opm_mempos(pdbfn, ballfn)) )
ses = bbtmequs.StiffnessEquSys(ballfn, '../../../datamac/1BXW.sticks.ext', f, typeutils.KAssigner )
ses.solve()
disp =  ses.result['u'].reshape(ses.result['u'].shape[0]/3, 3)
np.savetxt('1BXW.dsm_1k.displacement',disp,delimiter='\t')


# three k
ses = bbtmequs.StiffnessEquSys(ballfn, '../../../datamac/1BXW.sticks.ext', f, typeutils.ThreeKAssigner )
ses.solve()
disp =  ses.result['u'].reshape(ses.result['u'].shape[0]/3, 3)
np.savetxt('1BXW.dsm_3k.displacement',disp,delimiter='\t')