Reading files ************* There are two types of files we typically work with, models and maps. TEMPy loads these files using parsing functions. Reading models -------------- To read a PDB file, use the PDBParser. .. doctest:: :options: -ELLIPSIS, +NORMALIZE_WHITESPACE >>> from TEMPy.protein.structure_parser import PDBParser >>> model = PDBParser.read_PDB_file("", "../tests/test_data/1CS4.pdb") >>> model Gemmi_Structure: 1CS4 , Filename: ../tests/test_data/1CS4.pdb No Of Atoms: 5647 First Atom: (MET 377 A: 28.568, -27.770, 32.255) Last Atom: (LEU 388 C: 16.116, -21.409, 27.123) To read a mmCIF file, use the mmCIFParser. .. doctest:: :options: -ELLIPSIS, +NORMALIZE_WHITESPACE >>> from TEMPy.protein.structure_parser import mmCIFParser >>> model = mmCIFParser.read_mmCIF_file("../tests/test_data/1CS4.cif") >>> model Gemmi_Structure: 1CS4 , Filename: ../tests/test_data/1CS4.cif No Of Atoms: 5647 First Atom: (MET 377 A: 28.568, -27.770, 32.255) Last Atom: (LEU 388 C: 16.116, -21.409, 27.123) Operations on models -------------------- To get a list of chains: .. doctest:: >>> from TEMPy.protein.structure_parser import mmCIFParser >>> model = mmCIFParser.read_mmCIF_file("../tests/test_data/1CS4.cif") >>> model.get_chain_list() ['A', 'B', 'C'] To get a particular chain, use the `get_chain` method. This will return a new structure. .. doctest:: :options: -ELLIPSIS, +NORMALIZE_WHITESPACE >>> from TEMPy.protein.structure_parser import mmCIFParser >>> model = mmCIFParser.read_mmCIF_file("../tests/test_data/1CS4.cif") >>> model.get_chain('A') Gemmi_Structure: 1CS4chainA No Of Atoms: 1476 First Atom: (MET 377 A: 28.568, -27.770, 32.255) Last Atom: (LEU 565 A: 45.328, -2.249, 79.025) Often, we only want to work with backbone atoms. This can be a useful for example at low resolutions. .. doctest:: :options: -ELLIPSIS, +NORMALIZE_WHITESPACE >>> from TEMPy.protein.structure_parser import mmCIFParser >>> model = mmCIFParser.read_mmCIF_file("../tests/test_data/1CS4.cif") >>> model.get_backbone() No Of Atoms: 2124 First Atom: (MET 377 A: 28.568, -27.770, 32.255) Last Atom: (LEU 388 C: 13.015, -22.394, 30.319) For more information about the methods available, consult the API reference: Link Reading maps ------------ .. doctest:: >>> from TEMPy.maps.map_parser import MapParser >>> map = MapParser.readMRC("../tests/test_data/1CS4.mrc") >>> map Obtained from ../tests/test_data/1CS4.mrc Origin: [-18.572 -51.218 -21.575] Box size (x,y,z): [32, 31, 35] Grid spacing: [3.500 3.500 3.500] Min, max, mean, std: 0.000, 0.630, 0.026, 0.087 You can get information about the dimensions of the box in voxels: .. doctest:: >>> from TEMPy.maps.map_parser import MapParser >>> map = MapParser.readMRC("../tests/test_data/1CS4.mrc") >>> map.box_size() (35, 31, 32) Or the size of each voxel in units of Angstroms: .. doctest:: >>> from TEMPy.maps.map_parser import MapParser >>> map = MapParser.readMRC("../tests/test_data/1CS4.mrc") >>> map.apix array([3.5, 3.5, 3.5], dtype=float32) For more information about the methods available, consult the API reference: Link