~/bend-docscommunity

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 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 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.