Ejemplo n.º 1
0
def solvate(molecule, file_format, residues_added, solvent, box_x, box_y, box_z):
	user = getuser()
	# FILE MUST BE A PDB
	if file_format.lower() != "pdb":
		mol = FileReader.ReadFile(f"{molecule}.{file_format}")
		mol.writePDBFile(f"{molecule}.pdb")
	with open('packmol.inp', 'w') as f:
		f.write(f"""tolerance 1.5

filetype pdb

output packmol.pdb

structure {molecule}.pdb
  number 1 
  fixed 0. 0. 0. 0. 0. 0.
  centerofmass
end structure

structure /home/{user}/zTeamVPScripts/solvents/{solvent}.pdb 
  number {residues_added}
  inside box {round(box_x / -2.0)}. {round(box_y / -2.0)}. {round(box_z / -2.0)}. {round(box_x /  2.0)}. {round(box_y /  2.0)}. {round(box_z /  2.0)}.
  radius 1.5
end structure
""")
	run()
	convertToMol2(molecule)
Ejemplo n.º 2
0
def run(substrates,
        carbon_locations_file="carbon_locations.txt",
        ATOM_NAME='C',
        use_old=False,
        run_multiple=False):
    if run_multiple:
        atom1, atom2, atom3 = getAtoms(carbon_locations_file)
        if use_old:
            atom1, atom2, atom3 = getContactAtom(atom1, ATOM_NAME, atom2,
                                                 ATOM_NAME, atom3, ATOM_NAME)

            complex_file = FileReader.ReadFile('complex.mol2')
            catalyst_contact_list, substrate1_contact_list, substrate2_contact_list = getAtomIndex(
                complex_file, atom1, atom2, substrates)
    else:
        with open(carbon_locations_file, 'r') as f:
            catalyst_contact_list = [f.readline().strip().replace('\n', '')]
            substrate_contact_list = [f.readline().strip().replace('\n', '')]
        return catalyst_contact_list, substrate_contact_list, []

    return catalyst_contact_list, substrate1_contact_list, substrate2_contact_list
Ejemplo n.º 3
0
        if arg in ['-h', '--help']:
            usage()
            sys.exit()

        elif arg in ['-f', '--file']:
            carbon_locations_file = ARGS[i + 1]

        elif arg in ['-s', '--substrates']:
            substrates = int(ARGS[i + 1])

        elif arg in ['-d']:
            ADD_ATOM_NAME = False

    atom1, atom2, atom3 = getAtoms(carbon_locations_file)
    if ADD_ATOM_NAME:
        atom1, atom2, atom3 = getContactAtom(atom1, ATOM_NAME, atom2,
                                             ATOM_NAME, atom3, ATOM_NAME)

    complex_file = FileReader.ReadFile('complex.mol2')
    catalyst_contact_list, substrate1_contact_list, substrate2_contact_list = getAtomIndex(
        complex_file, atom1, atom2, substrates)

    print()
    print(f"Catalyst Contact Points: {', '.join(catalyst_contact_list)}")
    print()
    print(f"Substrate 1 Contact Points: {', '.join(substrate1_contact_list)}")
    print()
    print(f"Substrate 2 Contact Points: {', '.join(substrate2_contact_list)}")
    print()
Ejemplo n.º 4
0
def convertToMol2(molecule):
	call(["obabel", "packmol.pdb", "pdb", "-o", "mol2", "-O", f'{molecule}_solvated.mol2'])
	mol = FileReader.ReadFile(f'{molecule}_solvated.mol2')
	mol.writeMol2File(f'{molecule}_solvated.mol2')