Beispiel #1
0
if len(argv) != 3:
		print 'Usage: %s MT_length MT_extra\nAll lengths should be specified in monomers. MT_length should be even: second half of tubule will bw for extra monomers during assembly\n'%argv[0]
		exit(0)
MT_len   = int(argv[1])
MT_extra   = int(argv[2])

if MT_len % 2:
	MT_len += 1

pdbxyzfilename = 'structs/xyz_{}_{}.pdb'.format(MT_len, MT_extra)
pdbangfilename = 'structs/ang_{}_{}.pdb'.format(MT_len, MT_extra)
pdbxyz = open(pdbxyzfilename, "w")
pdbang = open(pdbangfilename, "w")

pdbstr1   = 'ATOM     14   CB ALA A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat1    = PDBAtom(pdbstr1)
pdbstr2   = 'ATOM     14   CB GLY A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat2    = PDBAtom(pdbstr2)

chains   = [chr(i) for i in range(ord('A'), ord('M')+1)]
for chain in chains:
		for mon in range(MT_len):	
			R 		 = R_MT
			pdbat2.z  = 0.0
			pdbat1.z  = 2*r_mon*mon + z_step*(ord(chain) - ord('A'))
			alpha = alpha_step*(ord(chain) - ord('A'))
			pdbat2.y = -alpha
			pdbat2.x = 0.0
			x = R*cos(-alpha)
			y = R*sin(-alpha)
			pdbat1.chainid    = chain
Beispiel #2
0
if len(argv) == 4 and argv[3] == '-d':
    delete = True
else:
    delete = False
if MT_len < tail_len:
    print 'Tail can not be longer, than MT'
    exit(0)

pdbxyzfilename = 'structs/xyz_{}.pdb'.format(MT_len)
pdbangfilename = 'structs/ang_{}.pdb'.format(MT_len)
pdbxyz = open(pdbxyzfilename, "w")
pdbang = open(pdbangfilename, "w")

pdbstr1 = 'ATOM     14   CB ALA A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat1 = PDBAtom(pdbstr1)
pdbstr2 = 'ATOM     14   CB GLY A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat2 = PDBAtom(pdbstr2)
chains = [chr(i) for i in range(ord('A'), ord('M') + 1)]
for chain in chains:
    for mon in range(MT_len):
        if (MT_len - mon) < tail_len:
            if delete == True and chain == chains[len(chains) - 1]:
                break
            R = R_MT + (tail_len - (MT_len - mon)) * 2 * r_mon * sin(
                theta_tail)  #tail_step*(tail_len - (MT_len - mon))
            pdbat2.z = theta_tail  #atan(tail_step/z_step)
            pdbat1.z = 2 * r_mon * mon + z_step * (ord(chain) - ord('A'))
        else:
            R = R_MT
            pdbat2.z = 0.0
				atoms.remove(atom2)			

while True:
	generate(n)
	sparse()
	if len(atoms) == n:
		break

pdbxyzfilename = 'volxyz_{}.pdb'.format(int(conc))
pdbangfilename = 'volang_{}.pdb'.format(int(conc))

pdbxyz = open(pdbxyzfilename, "w")
pdbang = open(pdbangfilename, "w")

pdbstr1   = 'ATOM     14   CB ALA A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat1    = PDBAtom(pdbstr1)
pdbstr2   = 'ATOM     14   CB GLY A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat2    = PDBAtom(pdbstr2)

for atom in atoms:
	pdbat1.x = atom[0]
	pdbat1.y = atom[1]
	pdbat1.z = atom[2]
	pdbat1.chainid    = 'A'
	pdbat1.residueseq = atoms.index(atom) + 1
	pdbat1.number     = 2 * atoms.index(atom) + 1 
	pdbat1.name = 'CA'
	pdbxyz.write("%s\n" % str(pdbat1))

	pdbat1.x = atom[0]
	pdbat1.y = atom[1]
Beispiel #4
0
    print 'Usage: %s MT_length MT_extra\nAll lengths should be specified in monomers. MT_length should be even: second half of tubule will bw for extra monomers during assembly\n' % argv[
        0]
    exit(0)
MT_len = int(argv[1])
MT_extra = int(argv[2])

if MT_len % 2:
    MT_len += 1

pdbxyzfilename = 'structs/xyz_{}_{}.pdb'.format(MT_len, MT_extra)
pdbangfilename = 'structs/ang_{}_{}.pdb'.format(MT_len, MT_extra)
pdbxyz = open(pdbxyzfilename, "w")
pdbang = open(pdbangfilename, "w")

pdbstr1 = 'ATOM     14   CB ALA A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat1 = PDBAtom(pdbstr1)
pdbstr2 = 'ATOM     14   CB GLY A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat2 = PDBAtom(pdbstr2)

chains = [chr(i) for i in range(ord('A'), ord('M') + 1)]
for chain in chains:
    for mon in range(MT_len):
        R = R_MT
        pdbat2.z = 0.0
        pdbat1.z = 2 * r_mon * mon + z_step * (ord(chain) - ord('A'))
        alpha = alpha_step * (ord(chain) - ord('A'))
        pdbat2.y = -alpha
        pdbat2.x = 0.0
        x = R * cos(-alpha)
        y = R * sin(-alpha)
        pdbat1.chainid = chain
Beispiel #5
0
if len(argv) == 4 and argv[3] == '-d':
		delete = True
else:
		delete = False
if MT_len<tail_len:
		print 'Tail can not be longer, than MT'
		exit(0)

pdbxyzfilename = 'structs/xyz_{}.pdb'.format(MT_len)
pdbangfilename = 'structs/ang_{}.pdb'.format(MT_len)
pdbxyz = open(pdbxyzfilename, "w")
pdbang = open(pdbangfilename, "w")

pdbstr1   = 'ATOM     14   CB ALA A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat1    = PDBAtom(pdbstr1)
pdbstr2   = 'ATOM     14   CB GLY A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat2    = PDBAtom(pdbstr2)
chains   = [chr(i) for i in range(ord('A'), ord('M')+1)]
for chain in chains:
		for mon in range(MT_len):	
			if (MT_len - mon) < tail_len:
					if delete == True and chain == chains[len(chains) - 1]:
							break
					R 		= R_MT + (tail_len - (MT_len - mon))*2*r_mon*sin(theta_tail) #tail_step*(tail_len - (MT_len - mon))
					pdbat2.z = theta_tail #atan(tail_step/z_step)
					pdbat1.z = 2*r_mon*mon + z_step*(ord(chain) - ord('A'))
			else:
					R 		 = R_MT
					pdbat2.z  = 0.0
					pdbat1.z  = 2*r_mon*mon + z_step*(ord(chain) - ord('A'))
Beispiel #6
0

while True:
    generate(n)
    sparse()
    if len(atoms) == n:
        break

pdbxyzfilename = 'volxyz_{}.pdb'.format(int(conc))
pdbangfilename = 'volang_{}.pdb'.format(int(conc))

pdbxyz = open(pdbxyzfilename, "w")
pdbang = open(pdbangfilename, "w")

pdbstr1 = 'ATOM     14   CB ALA A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat1 = PDBAtom(pdbstr1)
pdbstr2 = 'ATOM     14   CB GLY A   7       8.120  -0.000  52.923  0.00  8.12         A'
pdbat2 = PDBAtom(pdbstr2)

for atom in atoms:
    pdbat1.x = atom[0]
    pdbat1.y = atom[1]
    pdbat1.z = atom[2]
    pdbat1.chainid = 'A'
    pdbat1.residueseq = atoms.index(atom) + 1
    pdbat1.number = 2 * atoms.index(atom) + 1
    pdbat1.name = 'CA'
    pdbxyz.write("%s\n" % str(pdbat1))

    pdbat1.x = atom[0]
    pdbat1.y = atom[1]