#for line in open("PDBfile.pdb"):
# if "ATOM" in line:
# column=line.split()
# c4=column[4]
If you're dealing with a pdb that may have REMARK lines, you're better
off using "if line.startswith('ATOM') or line.startswith('HETATM')" for
your conditional here.
I'd also use the string slicing approach Ed recommended to handle the
column formatting. The default options for "line.split()" is equivalent
to splitting on whitespace; if there's no whitespace between columns
it'll fail.
and then writing to a new document with:
#with open("selection.pdb", "a") as myfile:
# myfile.write(c4+"\n")
Except for if the PDB contains columns which run together such as the occupancy
and B-factor in the following:
ATOM 608 SG CYS A 47 12.866 -28.741 -1.611 1.00201.10 S
ATOM 609 OXT CYS A 47 14.622 -24.151 -1.842 1.00100.24 O
My script seems to miscount the columns and read the two as one column, does
anyone know how to avoid this? (PS, I've googled this like crazy but I either
don't understand or the link is irrelevant)
Any advice would help.
Thanks for your time,
Grant