Backboner API

Backboner.BackboneType
Backbone{T<:Real,M<:AbstractMatrix{T}} <: AbstractVector{AbstractVector{T}}

The Backbone type is designed to efficiently store and manipulate the three-dimensional coordinates of backbone atoms.

Backboner.ChainedBondsType
ChainedBonds{T <: Real, V <: AbstractVector{T}}

A lazy way to store a backbone as a series of bond lengths, angles, and dihedrals.

Examples

julia> backbone = Protein.readpdb("test/data/1ZAK.pdb")["A"].backbone
660-element Backbone{Float32, Matrix{Float32}}:
 [22.346, 17.547, 23.294]
 [22.901, 18.031, 21.993]
 [23.227, 16.793, 21.163]
 [24.115, 16.923, 20.175]
 [24.478, 15.779, 19.336]
 ⋮
 [21.48, 14.668, 4.974]
 [22.041, 14.866, 3.569]
 [21.808, 13.861, 2.734]
 [22.263, 13.862, 1.355]
 [21.085, 14.233, 0.446]

julia> bonds = ChainedBonds(backbone)
ChainedBonds{Float32, Vector{Float32}} with 659 bonds, 658 angles, and 657 dihedrals
Backboner.FrameType
Frame{T <: Real}

A Frame is a combination of a rotation and a translation, which can be applied to a set of coordinates.

Backboner.FramesType
Frames{T <: Real, M <: AbstractMatrix{T}} <: AbstractVector{Frame{T}}

The Frames type is designed to efficiently store and manipulate the rotation and translation of a set of Frames.

Backboner.idealizeFunction
Note

Zygote must be imported in order to activate the ZygoteIdealizationExt extension, which defines the idealize(::Backbone) method.