Clean up line breaks for pdb.py

See https://github.com/jensengroup/propka-3.1/issues/43
This commit is contained in:
Nathan Baker
2020-05-25 20:22:28 -07:00
parent baed55e79a
commit a6016ed827

View File

@@ -25,15 +25,14 @@ def read_pdb(pdb_file, parameters, molecule):
""" """
conformations = {} conformations = {}
# read in all atoms in the file # read in all atoms in the file
lines = get_atom_lines_from_pdb(pdb_file, lines = get_atom_lines_from_pdb(
ignore_residues=parameters.ignore_residues, pdb_file, ignore_residues=parameters.ignore_residues,
keep_protons=molecule.options.keep_protons, keep_protons=molecule.options.keep_protons,
chains=molecule.options.chains) chains=molecule.options.chains)
for (name, atom) in lines: for (name, atom) in lines:
if not name in conformations.keys(): if not name in conformations.keys():
conformations[name] = ConformationContainer(name=name, conformations[name] = ConformationContainer(
parameters=parameters, name=name, parameters=parameters, molecular_container=molecule)
molecular_container=molecule)
conformations[name].add_atom(atom) conformations[name].add_atom(atom)
# make a sorted list of conformation names # make a sorted list of conformation names
names = sorted(conformations.keys(), key=propka.lib.conformation_sorter) names = sorted(conformations.keys(), key=propka.lib.conformation_sorter)
@@ -150,7 +149,8 @@ def get_atom_lines_from_pdb(pdb_file, ignore_residues=[], keep_protons=False,
# and yield the atom # and yield the atom
atom = Atom(line=line) atom = Atom(line=line)
atom.terminal = terminal atom.terminal = terminal
if not (atom.element == 'H' and not keep_protons): #ignore hydrogen #ignore hydrogen
if not (atom.element == 'H' and not keep_protons):
yield (conformation, atom) yield (conformation, atom)
terminal = None terminal = None
@@ -255,10 +255,12 @@ def write_input(molecular_container, filename):
for atom in molecular_container.conformations[conformation_name].atoms: for atom in molecular_container.conformations[conformation_name].atoms:
out.write(atom.make_conect_line()) out.write(atom.make_conect_line())
# write covalently coupled groups # write covalently coupled groups
for group in molecular_container.conformations[conformation_name].groups: for group in (
molecular_container.conformations[conformation_name].groups):
out.write(group.make_covalently_coupled_line()) out.write(group.make_covalently_coupled_line())
# write non-covalently coupled groups # write non-covalently coupled groups
for group in molecular_container.conformations[conformation_name].groups: for group in (
molecular_container.conformations[conformation_name].groups):
out.write(group.make_non_covalently_coupled_line()) out.write(group.make_non_covalently_coupled_line())
out.write('ENDMDL\n') out.write('ENDMDL\n')
out.close() out.close()