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{Float64, Matrix{Float64}}:
 [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.480, 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{Float64, Vector{Float64}} with 659 bonds, 658 angles, and 657 dihedrals
Backboner.idealizeFunction
Note

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