molecule_iter
#
- biotite.structure.molecule_iter(array)[source]#
Iterate over each molecule in a input structure.
A molecule is defined as a group of atoms that are directly or indirectly connected via covalent bonds. In this function a single atom, that has no connection to any other atom (e.g. an ion), also qualifies as a molecule.
- Parameters:
- arrayAtomArray or AtomArrayStack
The input structure with an associated
BondList
.
- Yields:
- moleculeAtomArray or AtomArrayStack
A single molecule of the input array.
Examples
Get an
AtomArray
for ATP and break it into two molecules at the glycosidic bond to the triphosphate:>>> atp = residue("ATP") >>> i, j = np.where(np.isin(atp.atom_name, ("O5'", "PA")))[0] >>> atp.bonds.remove_bond(i, j) >>> for molecule in molecule_iter(atp): ... print("New molecule") ... print(molecule) ... print() New molecule HET 0 ATP PG P 1.200 -0.226 -6.850 HET 0 ATP O1G O 1.740 1.140 -6.672 HET 0 ATP O2G O 2.123 -1.036 -7.891 HET 0 ATP O3G O -0.302 -0.139 -7.421 HET 0 ATP PB P 0.255 -0.130 -4.446 HET 0 ATP O1B O 0.810 1.234 -4.304 HET 0 ATP O2B O -1.231 -0.044 -5.057 HET 0 ATP O3B O 1.192 -0.990 -5.433 HET 0 ATP PA P -0.745 0.068 -2.071 HET 0 ATP O1A O -2.097 0.143 -2.669 HET 0 ATP O2A O -0.125 1.549 -1.957 HET 0 ATP O3A O 0.203 -0.840 -3.002 HET 0 ATP HOG2 H 2.100 -0.546 -8.725 HET 0 ATP HOG3 H -0.616 -1.048 -7.522 HET 0 ATP HOB2 H -1.554 -0.952 -5.132 HET 0 ATP HOA2 H 0.752 1.455 -1.563 New molecule HET 0 ATP O5' O -0.844 -0.587 -0.604 HET 0 ATP C5' C -1.694 0.260 0.170 HET 0 ATP C4' C -1.831 -0.309 1.584 HET 0 ATP O4' O -0.542 -0.355 2.234 HET 0 ATP C3' C -2.683 0.630 2.465 HET 0 ATP O3' O -4.033 0.165 2.534 HET 0 ATP C2' C -2.011 0.555 3.856 HET 0 ATP O2' O -2.926 0.043 4.827 HET 0 ATP C1' C -0.830 -0.418 3.647 HET 0 ATP N9 N 0.332 0.015 4.425 HET 0 ATP C8 C 1.302 0.879 4.012 HET 0 ATP N7 N 2.184 1.042 4.955 HET 0 ATP C5 C 1.833 0.300 6.033 HET 0 ATP C6 C 2.391 0.077 7.303 HET 0 ATP N6 N 3.564 0.706 7.681 HET 0 ATP N1 N 1.763 -0.747 8.135 HET 0 ATP C2 C 0.644 -1.352 7.783 HET 0 ATP N3 N 0.088 -1.178 6.602 HET 0 ATP C4 C 0.644 -0.371 5.704 HET 0 ATP H5'1 H -2.678 0.312 -0.296 HET 0 ATP H5'2 H -1.263 1.259 0.221 HET 0 ATP H4' H -2.275 -1.304 1.550 HET 0 ATP H3' H -2.651 1.649 2.078 HET 0 ATP HO3' H -4.515 0.788 3.094 HET 0 ATP H2' H -1.646 1.537 4.157 HET 0 ATP HO2' H -3.667 0.662 4.867 HET 0 ATP H1' H -1.119 -1.430 3.931 HET 0 ATP H8 H 1.334 1.357 3.044 HET 0 ATP HN61 H 3.938 0.548 8.562 HET 0 ATP HN62 H 4.015 1.303 7.064 HET 0 ATP H2 H 0.166 -2.014 8.490