Errors

If REVNANO cannot derive a contact map from scaffold and staple sequences, it terminates in one of four error conditions explained below.

REVNANO Error #1

  • Occurs at: Stage 0

  • Error description: A staple with a single route on the scaffold intersects the hybridisation of another single route staple too much, or has hybridised sections which fully nest (or are fully nested by) the hybridised sections of other single route staples.

  • Why REVNANO termination is necessary: When positions of single route staples are conflicting, the first hard constraints in the REVNANO solver cannot be established.

REVNANO Error #2

  • Occurs at: Stage 2

  • Error description: Less than 65% of staples have been assigned a single route on the scaffold in Stage 1.

  • Why REVNANO termination is necessary: With insufficient staples placed, shortest paths calculated in Stage 2 are not reliable since the origami graph is not well connected. Stage 2 relies on the calculation of accurate shortest paths.

REVNANO Error #3

  • Occurs at: Stage 3

  • Error description: Some base position on the scaffold has three (or more) staples overlapping.

  • Why REVNANO termination is necessary: Only overlaps involving two staples can be resolved. It is unclear how to deal with more complex overlap scenarios.

REVNANO Error #4

  • Occurs at: Stage 3

  • Error description: Some staple-staple overlaps (i.e. two staple overlaps) could not be resolved by moving the ends of hybridised staple sections involved in the overlap. Moving the staple section ends leads to non-complementarity between staples and scaffold.

  • Why REVNANO termination is necessary: If an overlap cannot be resolved, the staples involved cannot be entered into the final contact map.

Note

Staples with very large routing trees (i.e. consisting of more than 10,000 subtrees) at Stage 0 do not cause an error immediately. Rather, these staples are assigned 0 routes through the scaffold, signifying that the staple cannot be routed. However, if large numbers of staples have very large routing trees and are reduced to 0 routes, this can cause errors later (like Error 2).