def experimental_method(pdb_path): """ Get String representation of Experimental method used file of interest. Use header for this information. :param pdb_path: Path to PDB file :return: """ parser = PDBParser(get_header=True) parser.get_structure('', pdb_path) return parser.get_header()['structure_method']
def load_from_file(self, path): """ Load a file from PDB or mmCIF. .gz is supported. :param path: Path to PDB or mmCIF file :rtype: tuple(bio.PDB.Structure.Structure, dict) """ structure = None if re.search(".pdb", path): parser = PDBParser() else: parser = MMCIFParser() path = path.strip() model_id = os.path.basename(path) #if os.path.basename(path).split('.')[-1] == 'gz': # GZ = gzip.open(path, 'rb') # GZ.close() #else : structure = parser.get_structure(model_id, open_file(path)) header = parser.get_header() return structure, header
if len(coords) != 3: break lines.append( "ATOM {0} {5} {1} A {6} {2:5.2f} {3:5.2f} {4:5.2f} 0 0 {7}\n" .format(3 * idx + i + 1, name, coords[i][0], coords[i][1], coords[i][2], atoms[i], idx + 1, atoms[i][0])) fp.write("END\n") fp.writelines(lines) fp.close() if __name__ == '__main__': pn_test = os.curdir + '/../rgn_pytorch/data/text_sample' data = load_data(pn_test) for d in data: id = str(d[0][0]).replace('#', '') pdb_file_name = pn_test + '_' + id + '.pdb' proteinnet_to_pdb_file(d, pdb_file_name, id) p = PDBParser(PERMISSIVE=0) # pdb_file_name = os.curdir + '/../rgn_pytorch/data/1mbs' structure = p.get_structure("1", pdb_file_name) header = p.get_header() print(header) model = structure[0] dssp = DSSP(model, pdb_file_name) # DSSP data is accessed by a tuple (chain_id, res_id) a_key = list(dssp.keys())[2] # (dssp index, amino acid, secondary structure, relative ASA, phi, psi, # NH_O_1_relidx, NH_O_1_energy, O_NH_1_relidx, O_NH_1_energy, # NH_O_2_relidx, NH_O_2_energy, O_NH_2_relidx, O_NH_2_energy)