topology.bend checks
raw source on the hub · import 0xdf198d67659100c90a58ecd6b01d034d/topology.bend as Topology
3 imports
import Base import ./geom.bend as G import ./protein.bend as P
Definitions
def hit_nat_go source · line 9 · raw
@hit:Bool -> Nat
def head_hit_nat source · line 16 · raw
@h:0xdf198d67659100c90a58ecd6b01d034d/protein.Atom -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> @+c2:F32 -> Nat
def count_below source · line 21 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> @+c2:F32 -> Nat
def count_within source · line 29 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> @+cutoff:F32 -> Nat
Plain (non-squared) cutoff: squares it once, then counts.
def head_is_close source · line 32 · raw
@h:0xdf198d67659100c90a58ecd6b01d034d/protein.Atom -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> @+min2:F32 -> Bool
def has_close source · line 37 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> @+min2:F32 -> Bool
def head_dist2 source · line 44 · raw
@h:0xdf198d67659100c90a58ecd6b01d034d/protein.Atom -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> F32
def sum_dist2 source · line 49 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> F32
def sumd2_extend source · line 56 · raw
@a:F32 -> @rest:Pair(F32, Nat) -> Pair(F32, Nat)
def sumd2_count source · line 62 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> Pair(F32, Nat)
One pass: summed squared distances about qp, plus atom count.
def rg_of_go source · line 69 · raw
@s:F32 -> @n:Nat -> F32
def rg_of source · line 76 · raw
@pair:Pair(F32, Nat) -> F32
def rg_about source · line 82 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> F32
Radius of gyration of an atom list about a given center.
def contacts_of_head source · line 85 · raw
@h:0xdf198d67659100c90a58ecd6b01d034d/protein.Atom -> @+ys:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+c2:F32 -> Nat
def contacts_between source · line 92 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+ys:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+c2:F32 -> Nat
Interface size: pairs (x in xs, y in ys) with dist2 < c2. Consumes xs once; ys is reusable so every head reuses it (reference counted).
def min_cons_go source · line 99 · raw
@d:F32 -> @rest:Maybe<&2, F32> -> Maybe<&2, F32>
def min_cons source · line 106 · raw
@h:0xdf198d67659100c90a58ecd6b01d034d/protein.Atom -> @rest:Maybe<&2, F32> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> Maybe<&2, F32>
def min_dist2_to source · line 112 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+qp:0xdf198d67659100c90a58ecd6b01d034d/geom.Vec3 -> Maybe<&2, F32>
Closest squared distance from qp to any atom in xs. None{} when empty.
def min_maybe_some source · line 119 · raw
@x:F32 -> @b:Maybe<&2, F32> -> Maybe<&2, F32>
def min_maybe source · line 126 · raw
@a:Maybe<&2, F32> -> @b:Maybe<&2, F32> -> Maybe<&2, F32>
def head_link source · line 133 · raw
@h:0xdf198d67659100c90a58ecd6b01d034d/protein.Atom -> @+ys:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> Maybe<&2, F32>
def min_link2 source · line 139 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+ys:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> Maybe<&2, F32>
Closest squared approach between two atom sets. None{} when either is empty.
def min_link source · line 146 · raw
@link:Maybe<&2, F32> -> Maybe<&2, F32>
def coord_counts source · line 154 · raw
@xs:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+ys:List<&2, 0xdf198d67659100c90a58ecd6b01d034d/protein.Atom> -> @+c2:F32 -> List<&2, Nat>
Per-atom neighbor counts: for each x in xs, atoms of ys within dist2 < c2.