def extractIndexesTopology_CM(topology, lig_resname, CM_mode, use_extra_atoms): selection = [] iline = 0 if CM_mode == "p-p": check_ligand = False else: check_ligand = True with open(topology) as f: for line in f: if not (line.startswith("ATOM") or line.startswith("HETATM")): continue if line[76:80].strip().upper() != "H" and ( check_ligand and line[17:20] == lig_resname or utils.isAlphaCarbon(line, True) or use_extra_atoms and utils.extraAtomCheck(line, EXTRA_ATOMS)): selection.append(iline) iline += 1 return selection
def loadAllResnameAtomsInPdb(filename, params): prunedFileContent = [] sidechains_bool = bool(params.sidechains) with open(filename) as f: prunedSnapshot = [] for line in f: if utils.is_model(line): prunedFileContent.append("".join(prunedSnapshot)) prunedSnapshot = [] elif utils.is_end(line) or utils.is_remark(line) or utils.is_cryst( line): continue elif line[17:20] == params.lig_resname or utils.isAlphaCarbon( line, params.protein_CA or params.contact_map) or utils.isSidechain( line, sidechains_bool, params.sidechains) or ( params.contact_map and params.extra_atoms and utils.extraAtomCheck(line, EXTRA_ATOMS)): prunedSnapshot.append(line) if prunedSnapshot: prunedFileContent.append("".join(prunedSnapshot)) return prunedFileContent