Ejemplo n.º 1
0
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']
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
                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)