diff --git a/dev/.documenter-siteinfo.json b/dev/.documenter-siteinfo.json index a68ca9b..6468616 100644 --- a/dev/.documenter-siteinfo.json +++ b/dev/.documenter-siteinfo.json @@ -1 +1 @@ -{"documenter":{"julia_version":"1.10.5","generation_timestamp":"2024-10-07T04:17:31","documenter_version":"1.7.0"}} \ No newline at end of file +{"documenter":{"julia_version":"1.11.0","generation_timestamp":"2024-10-14T04:18:09","documenter_version":"1.7.0"}} \ No newline at end of file diff --git a/dev/api/index.html b/dev/api/index.html index 3e86552..a0f368e 100644 --- a/dev/api/index.html +++ b/dev/api/index.html @@ -92,4 +92,4 @@ waterselector(at)

Determines if an AbstractResidue or AbstractAtom represents a water molecule, i.e. whether the residue name is in waterresnames.

source
BioStructures.writemmcifMethod
writemmcif(output, element, atom_selectors...; gzip=false)
 writemmcif(output, mmcif_dict; gzip=false)

Write a StructuralElementOrList or a MMCIFDict to a mmCIF format file or output stream.

Atom selector functions can be given as additional arguments - only atoms that return true from all the functions are retained. The keyword argument expand_disordered (default true) determines whether to return all copies of disordered residues and atoms. The keyword argument gzip (default false) determines if the output is gzipped.

source
BioStructures.writemmtfFunction
writemmtf(output, element, atom_selectors...; gzip=false)
 writemmtf(output, mmtf_dict; gzip=false)

Write a StructuralElementOrList or a MMTFDict to a MMTF file or output stream.

Requires the MMTF.jl package to be imported. Atom selector functions can be given as additional arguments - only atoms that return true from all the functions are retained. The keyword argument expand_disordered (default true) determines whether to return all copies of disordered residues and atoms. The keyword argument gzip (default false) determines if the file should be gzipped.

source
BioStructures.writemultimmcifMethod
writemultimmcif(filepath, cifs; gzip=false)
-writemultimmcif(io, cifs; gzip=false)

Write multiple MMCIFDicts as a Dict{String, MMCIFDict} to a filepath or stream. The keyword argument gzip (default false) determines if the output is gzipped.

source
BioStructures.writepdbMethod
writepdb(output, element, atom_selectors...)

Write a StructuralElementOrList to a Protein Data Bank (PDB) format file or output stream.

Only ATOM, HETATM, MODEL and ENDMDL records are written - there is no header and there are no TER records. Atom selector functions can be given as additional arguments - only atoms that return true from all the functions are retained. The keyword argument expand_disordered (default true) determines whether to return all copies of disordered residues and atoms.

source
BioStructures.@sel_strMacro

String selection syntax.

source
BioStructures.xFunction
x(at)

Get the x coordinate in Å of an AbstractAtom as a Float64.

source
BioStructures.x!Function
x!(at, val)

Set the x coordinate in Å of an AbstractAtom to val.

For DisorderedAtoms only the default atom is updated.

source
BioStructures.yFunction
y(at)

Get the y coordinate in Å of an AbstractAtom as a Float64.

source
BioStructures.y!Function
y!(at, val)

Set the y coordinate in Å of an AbstractAtom to val.

For DisorderedAtoms only the default atom is updated.

source
BioStructures.zFunction
z(at)

Get the z coordinate in Å of an AbstractAtom as a Float64.

source
BioStructures.z!Function
z!(at, val)

Set the z coordinate in Å of an AbstractAtom to val.

For DisorderedAtoms only the default atom is updated.

source
+writemultimmcif(io, cifs; gzip=false)

Write multiple MMCIFDicts as a Dict{String, MMCIFDict} to a filepath or stream. The keyword argument gzip (default false) determines if the output is gzipped.

source
BioStructures.writepdbMethod
writepdb(output, element, atom_selectors...)

Write a StructuralElementOrList to a Protein Data Bank (PDB) format file or output stream.

Only ATOM, HETATM, MODEL and ENDMDL records are written - there is no header and there are no TER records. Atom selector functions can be given as additional arguments - only atoms that return true from all the functions are retained. The keyword argument expand_disordered (default true) determines whether to return all copies of disordered residues and atoms.

source
BioStructures.@sel_strMacro

String selection syntax.

source
BioStructures.xFunction
x(at)

Get the x coordinate in Å of an AbstractAtom as a Float64.

source
BioStructures.x!Function
x!(at, val)

Set the x coordinate in Å of an AbstractAtom to val.

For DisorderedAtoms only the default atom is updated.

source
BioStructures.yFunction
y(at)

Get the y coordinate in Å of an AbstractAtom as a Float64.

source
BioStructures.y!Function
y!(at, val)

Set the y coordinate in Å of an AbstractAtom to val.

For DisorderedAtoms only the default atom is updated.

source
BioStructures.zFunction
z(at)

Get the z coordinate in Å of an AbstractAtom as a Float64.

source
BioStructures.z!Function
z!(at, val)

Set the z coordinate in Å of an AbstractAtom to val.

For DisorderedAtoms only the default atom is updated.

source
diff --git a/dev/documentation/index.html b/dev/documentation/index.html index 59b5bb7..1dd3467 100644 --- a/dev/documentation/index.html +++ b/dev/documentation/index.html @@ -3462,4 +3462,4 @@ var viewer = $3Dmol.viewers['3dmol_viewer_2']; viewer.render(); }); -

See the Bio3DView.jl tutorial for more information. BioMakie.jl can also be used to visualise BioStructures objects.

Design decisions

The relationship between different types in BioStructures is shown below:

types

The design is based on Biopython, and has the intention of representing the complexity of the data in the PDB without it getting in the way of users. This hierarchical approach differs from some packages that represent structures as lists of either atoms or residues. Note that it is possible to store non-biopolymer molecules in this representation, and there are many such examples in the PDB. In general chemical terms: MolecularStructure is analogous to ensemble, Model to conformation, Chain to molecule and Residue to monomeric unit when relevant.

The aim of BioStructures is not so much to read in the rows of a structure file, but to unambiguously represent the molecules contained within the file. This makes operations such as converting between file formats easier, at the cost of some complexity and occasional limits on the ability to read in files with format violations. For example, we have no way to represent multiple copies of the same atom with the same alt loc ID, as they would be placed at the same spot in the hierarchy. Such files often lead to silent errors, however, so we recommend users follow the appropriate format guidelines. The mmCIF format is able to store arbitrary data systematically if required.

Other packages in the Julia ecosystem that deal with structural bioinformatics or related fields include:

+

See the Bio3DView.jl tutorial for more information. BioMakie.jl can also be used to visualise BioStructures objects.

Design decisions

The relationship between different types in BioStructures is shown below:

types

The design is based on Biopython, and has the intention of representing the complexity of the data in the PDB without it getting in the way of users. This hierarchical approach differs from some packages that represent structures as lists of either atoms or residues. Note that it is possible to store non-biopolymer molecules in this representation, and there are many such examples in the PDB. In general chemical terms: MolecularStructure is analogous to ensemble, Model to conformation, Chain to molecule and Residue to monomeric unit when relevant.

The aim of BioStructures is not so much to read in the rows of a structure file, but to unambiguously represent the molecules contained within the file. This makes operations such as converting between file formats easier, at the cost of some complexity and occasional limits on the ability to read in files with format violations. For example, we have no way to represent multiple copies of the same atom with the same alt loc ID, as they would be placed at the same spot in the hierarchy. Such files often lead to silent errors, however, so we recommend users follow the appropriate format guidelines. The mmCIF format is able to store arbitrary data systematically if required.

Other packages in the Julia ecosystem that deal with structural bioinformatics or related fields include:

diff --git a/dev/examples/index.html b/dev/examples/index.html index 64f0f4e..ef5952d 100644 --- a/dev/examples/index.html +++ b/dev/examples/index.html @@ -77,4 +77,4 @@ fp = download("https://alphafold.ebi.ac.uk/files/AF-P24941-F1-model_v4.pdb") struc = read(fp, PDBFormat; run_dssp=true) sscodes = sscode.(collectresidues(struc)) -println(join(sscodes)) +println(join(sscodes)) diff --git a/dev/index.html b/dev/index.html index f1f496e..d236ccb 100644 --- a/dev/index.html +++ b/dev/index.html @@ -1,2 +1,2 @@ -Home · BioStructures.jl

BioStructures.jl

Latest Release:

Latest release License Documentation stable BioJulia maintainer: jgreener64

Development status:

Build status codecov.io Documentation dev

Description

BioStructures provides functionality to read, write and manipulate macromolecular structures, in particular proteins. Protein Data Bank (PDB), mmCIF and MMTF format files can be read in to a hierarchical data structure. Spatial calculations and functions to access the PDB are also provided. It compares favourably in terms of performance to other PDB parsers - see some benchmarks online - and should be lightweight enough to build other packages on top of.

Installation

Install BioStructures from the Julia package REPL, which can be accessed by pressing ] from the Julia REPL:

add BioStructures

See the documentation for information on how to use BioStructures.

Citation

If you use BioStructures, please cite the paper:

  • Greener JG, Selvaraj J and Ward BJ. BioStructures.jl: read, write and manipulate macromolecular structures in Julia, Bioinformatics 36(14):4206-4207 (2020) - link - PDF

Contributing and questions

We appreciate contributions from users including reporting bugs, fixing issues, improving performance and adding new features.

If you have a question about contributing or using this package, you are encouraged to use the #biology channel of the Julia Slack or the Bio category of the Julia Discourse site.

+Home · BioStructures.jl

BioStructures.jl

Latest Release:

Latest release License Documentation stable BioJulia maintainer: jgreener64

Development status:

Build status codecov.io Documentation dev

Description

BioStructures provides functionality to read, write and manipulate macromolecular structures, in particular proteins. Protein Data Bank (PDB), mmCIF and MMTF format files can be read in to a hierarchical data structure. Spatial calculations and functions to access the PDB are also provided. It compares favourably in terms of performance to other PDB parsers - see some benchmarks online - and should be lightweight enough to build other packages on top of.

Installation

Install BioStructures from the Julia package REPL, which can be accessed by pressing ] from the Julia REPL:

add BioStructures

See the documentation for information on how to use BioStructures.

Citation

If you use BioStructures, please cite the paper:

  • Greener JG, Selvaraj J and Ward BJ. BioStructures.jl: read, write and manipulate macromolecular structures in Julia, Bioinformatics 36(14):4206-4207 (2020) - link - PDF

Contributing and questions

We appreciate contributions from users including reporting bugs, fixing issues, improving performance and adding new features.

If you have a question about contributing or using this package, you are encouraged to use the #biology channel of the Julia Slack or the Bio category of the Julia Discourse site.