def get_proximal_atoms(self, center_atom, neighbour_atom_type, max_neighbour_distance): """ Get atoms inside a particular radii's sphere (exception) Atoms belonging to water residues are excluded """ results = [] for line in self.lines: if line[12:16].strip( )[0] == neighbour_atom_type and line[17:20].strip() != "HOH": atom = Protein.parse_line_atom_details(line) if Atom.distance(center_atom, atom) <= max_neighbour_distance: results.append(atom) return results
continue connected_hydrogen = [] connected_hydrogen.extend(protein.get_connected_hydrogens(oxygen)) for hydrogen in connected_hydrogen: try: for anti_antecedent in connected_atoms: bond_angle = Atom.get_bond_angles( se, hydrogen, anti_antecedent) if bond_angle < numpy.pi / 2: raise ContinueLabelled except ContinueLabelled: continue if Atom.distance(hydrogen, oxygen) <= 1.1 and Atom.distance( se, oxygen) >= 1.0: bond_angle = Atom.get_bond_angles(hydrogen, se, oxygen) if bond_angle >= numpy.pi / 19: distances1.append(Atom.distance(se, oxygen)) angles1.append(degrees(bond_angle)) if (Atom.distance(hydrogen, oxygen) <= 1.1 and Atom.distance(se, oxygen) <= 4.0 and (90 <= degrees( Atom.get_bond_angles(hydrogen, se, oxygen)) <= 130) and Atom.distance(se, oxygen) >= 1.0): distances3.append(Atom.distance(se, oxygen)) angles3.append( degrees(Atom.get_bond_angles(hydrogen, se, oxygen))) excluded_h_bond.append(