Expand description
This crate (codenano) allows one to design DNA molecules.
The following creates a strand zig-zagging between three helices, and outputs it to a file:
use codenano::*;
let mut design: Design<(), ()> = Design::new();
for i in 0..3 {
design.add_grid_helix(i, 0);
}
// Let's first design a strand.
design.strand(0, 0).to(31)
.cross(1).to(10)
.cross(2).to(21);
// Now its reverse complement:
design.strand(2, 21).to(10)
.cross(1).to(31)
.cross(0).to(0);
design.write_to("my_design.json").unwrap()
This library is compatible with the codenano-server
crate, which
watches changes made to a file and shows the result in 3D in a web
browser. Additionally, the client part (also called codenano) of the the codenano-server
crate can run
finite element simulations and display the secondary structure.
Re-exports§
pub use autoroll::RollSystem;
pub use autoroll::SpringSystem;
Modules§
- autoroll
- Automatic roll adjustment of helices
- cadnano
- Conversion to Cadnano format.
- geometry
- 3D points and vectors
- guess3d
- Guess of the 3D structure
- mrdna
- Conversion to Mrdna
- opengl
- Utilities for drawing a design in OpenGL.
- patch
- Modification of an existing design
- sequences
- Extra tools for sequences (random completions, etc.)
- transforms
- Common geometric transforms on domains (most useful when working on grids or partial grids).
Structs§
- Design
- The main type of this crate, describing a DNA design.
- Domain
- A domain, i.e. an interval of a helix.
- Domain
Iter - An iterator over all positions of a domain.
- Error
- The
Error
type, a wrapper around a dynamic error type. - Helix
- A DNA helix. All bases of all strands must be on a helix.
- HelixId
- Identity of a helix, useful for referring to it.
- Parameters
- DNA geometric parameters.
- Plate96
- Representation of a 96-well plate being filled. Plates are filled from top to bottom (i.e. rows are incremented first), then from left to forward (columns are incremented).
- Strand
- A DNA strand.
- Strand
Id - Identity of a strand, useful for referring to it.
- Strand
Ref - A pointer to a strand being built, containing a current domain and position.
Enums§
- Color
- Colors