[−][src]Crate codenano
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 |
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. |
DomainIter | An iterator over all positions of a domain. |
Error | The |
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. |
StrandId | Identity of a strand, useful for referring to it. |
StrandRef | A pointer to a strand being built, containing a current domain and position. |
Enums
Color | Colors |
Constants
M13_594 | A cut version of the M13, which can be obtained with enzymes from
the positional genome (the |
M13_7249 | The sequence of the M13 bacteriophage, used for example for DNA Origami. |