Esempio n. 1
0
nonbonded = {}
threebody ={}

NSFAC = 1.0
disulfides = disulf_str.split(":")
for i in range(nchain):
	chaini = chains[i]
	bb_bonds = go_lib.calc_bonds(meta_crd[chaini],link)
	if (defbon==1 or len(sequence)>0):
		bb_bonds = map(lambda x: (x[0],x[1],go_lib.std_bond), bb_bonds)

	bb_angles = go_lib.calc_angles(meta_crd[chaini],link,stata)
	bb_dihedrals = go_lib.setup_dihe(meta_crd[chaini],link)
	nonbonded[chaini] = {}
	#nonbonded[chaini][chaini],tmp_nsfac = go_lib.calc_ncon_intra(meta_crd[chaini],tfmap[chaini][chaini],ngdist,gamma,geomh,fixrep)
	nonbonded[chaini][chaini] = go_lib.calc_ncon_intra(meta_crd[chaini],ngdist,gamma,geomh,fixrep)
	#
	# include disulfides if necc...
	clen = len(chaini)
	my_disulfides = map(lambda x: x[clen:], filter(lambda x: x.find(chaini)==0,disulfides))
	#
	if len(my_disulfides)>0:
		ds_bonds, ds_angles, ds_dihedrals = go_lib.calc_disulf_bonded(meta_crd[chaini],tfbb,my_disulfides)
		bonds[chaini] = bb_bonds+ds_bonds
		angles[chaini] = bb_angles+ds_angles
		dihedrals[chaini] = bb_dihedrals+ds_dihedrals
	else:
		bonds[chaini] = bb_bonds
		angles[chaini] = bb_angles
		dihedrals[chaini] = bb_dihedrals
	#
Esempio n. 2
0
    chaini = chains[i]
    print chaini
    #print meta_crd[chaini][142]
    bb_bonds = go_lib.calc_bonds(meta_crd[chaini], link)
    if (defbon == 1 or len(sequence) > 0):
        bb_bonds = map(lambda x: (x[0], x[1], go_lib.std_bond), bb_bonds)

    bb_angles = go_lib.calc_angles(meta_crd[chaini], link, stata)
    bb_dihedrals = go_lib.setup_dihe(meta_crd[chaini], link, fixalpha,
                                     zerodihe, nativedihe)
    nonbondedx[chaini] = {}
    if kh == 1:
        khmap[chaini] = {}
    #nonbonded[chaini][chaini],tmp_nsfac = go_lib.calc_ncon_intra(meta_crd[chaini],tfmap[chaini][chaini],ngdist,gamma,geomh,fixrep)
    if (aacut < 0.0):  # do Karanicolas&Brooks
        nonbondedx[chaini][chaini] = go_lib.calc_ncon_intra(
            meta_crd[chaini], ngdist, gamma, geomh, fixrep)
    else:
        nonbondedx[chaini][chaini] = go_lib.calc_ncon_intra_simplecut(meta_crd[chaini], ngdist, \
                                                                            gamma, fixrep, aacut)
    #
    if kh == 1:
        khmap[chaini][chaini] = go_lib.calc_kh_intra(meta_crd[chaini], E0,
                                                     LAMBDA)

    # include disulfides if necc...
    clen = len(chaini)
    #nresprot += clen
    my_disulfides = map(lambda x: x[clen:],
                        filter(lambda x: x.find(chaini) == 0, disulfides))
    #
    if len(my_disulfides) > 0:
Esempio n. 3
0
go_lib.write_topology(outp_base + "_top.inp", residues, key)

# calculate parameters
# ======================================================================

link = 0
eps_res = 0.0054 * Tf

bonds_a = go_lib.calc_bonds(meta_crd[chains[0]], link)
bonds_b = go_lib.calc_bonds(meta_crd[chains[1]], link)
angles_a = go_lib.calc_angles(meta_crd[chains[0]], link)
angles_b = go_lib.calc_angles(meta_crd[chains[1]], link)
dihedrals_a = go_lib.setup_dihe(meta_crd[chains[0]], link)
dihedrals_b = go_lib.setup_dihe(meta_crd[chains[1]], link)
nonbonded_a = go_lib.calc_ncon_intra(meta_crd[chains[0]], ngdist, gamma)
nonbonded_b = go_lib.calc_ncon_intra(meta_crd[chains[1]], ngdist, gamma)
nonbonded_ab = go_lib.calc_ncon_inter(meta_crd[chains[0]], meta_crd[chains[1]],
                                      ngdist, gamma)
if symm:
    bonds = go_lib.average_bonded(bonds_a, bonds_b)
    angles = go_lib.average_bonded(angles_a, angles_b)
    nonbonded = go_lib.average_nonbonded_intra(nonbonded_a, nonbonded_b)
    nonbonded_ab_sym = go_lib.symmetrize_nb(nonbonded_ab, nres_tot)
    dihedrals = dihedrals_a
else:
    bonds = go_lib.merge_bonded(bonds_a, bonds_b)
    angles = go_lib.merge_bonded(angles_a, angles_b)
    nonbonded = go_lib.merge_nonbonded(nonbonded_a, nonbonded_b, nonbonded_ab)
    dihedrals = go_lib.merge_bonded(dihedrals_a, dihedrals_b)