Example #1
0
    def testVH(self):
        """
        Perform the VirtualHelix tutorial and make sure that the
        expected changes occur to the sample VirtualHelix
        """
        vh = VirtualHelix(numBases=8, idnum=0)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_')

        vh.connectStrand(StrandType.Scaffold, 2, 6)
        vh.connectStrand(StrandType.Staple, 0, 7)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,> <,> <,_ _,_\n0 Staple:   _,> <,> <,> <,> <,> <,> <,> <,_')

        vh.clearStrand(StrandType.Scaffold, 3.5, 4.5)
        vh.clearStrand(StrandType.Staple, 2.5, 5.5)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,_ _,> <,> <,_ _,_\n0 Staple:   _,> <,> <,_ _,_ _,_ _,> <,> <,_')

        vh1 = VirtualHelix(numBases=5, idnum=1)
        vh1.connectStrand(StrandType.Staple, 0, 4)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,_ _,> <,> <,_ _,_\n0 Staple:   _,> <,> <,_ _,_ _,_ _,> <,> <,_')
        self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,> <,> <,> <,> <,_')

        vh.installXoverFrom3To5(StrandType.Staple, 2, vh1, 2)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,_ _,> <,> <,_ _,_\n0 Staple:   _,> <,_ 1:2,> <,_ _,_ _,> <,> <,_')
        self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,> <,_ 0:2,> <,> <,_')

        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,_ _,> <,> <,_ _,_\n0 Staple:   _,> <,> <,_ _,_ _,_ _,> <,> <,_')
        self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,> <,> <,> <,> <,_')

        vh1.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,_ _,> <,> <,_ _,_\n0 Staple:   _,> <,> <,_ _,_ _,_ _,> <,> <,_')
        self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,_ _,_ _,_ _,_ _,_')

        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,_ _,> <,> <,_ _,_\n0 Staple:   _,> <,> <,> <,> <,> <,> <,> <,_')

        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,> <,> <,_ _,_\n0 Staple:   _,> <,> <,> <,> <,> <,> <,> <,_')

        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,> <,> <,_ _,_\n0 Staple:   _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_')

        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_')

        vh.connectStrand(StrandType.Scaffold, 2, 4)
        vh.connectStrand(StrandType.Scaffold, 0, 7)
        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,_ _,_ _,_ _,_\n0 Staple:   _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_')
Example #2
0
 def testClearCrossovers(self):
     vh = VirtualHelix(numBases=8, idnum=0)
     vh.connectStrand(StrandType.Staple, 0, 7)
     vh1 = VirtualHelix(numBases=5, idnum=1)
     vh1.connectStrand(StrandType.Staple, 0, 5)
     vh1.installXoverFrom3To5(StrandType.Staple, 3, vh, 2)
     self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,> <,> <,1:3 _,> <,> <,> <,> <,_')
     self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,> <,> <,> <,0:2 _,_')
     vh1.clearStrand(StrandType.Staple, 0, 5)
     self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,> <,> <,_ _,> <,> <,> <,> <,_')
     self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,_ _,_ _,_ _,_ _,_')
     vh1.undoStack().undo()
     vh1.undoStack().undo()
     self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,> <,> <,> <,> <,> <,> <,> <,_')
     self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,> <,> <,> <,> <,_')
     vh.installXoverFrom3To5(StrandType.Staple, 2, vh1, 3)
     self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,> <,_ 1:3,> <,> <,> <,> <,> <,_')
     self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,> <,> <,_ 0:2,> <,_')
     vh1.clearStrand(StrandType.Staple, 0, 5)
     self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,> <,_ _,> <,> <,> <,> <,> <,_')
     self.assertEqual(repr(vh1), '1 Scaffold: _,_ _,_ _,_ _,_ _,_\n1 Staple:   _,_ _,_ _,_ _,_ _,_')
Example #3
0
    def testFractionalClearStrandCommand(self):
        """
        The new API for clearStrand allows fractional values for
        base indices (see docs/virtualhelix.pdf). This tets them.
        """
        vh = VirtualHelix(numBases=8, idnum=0)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_\n0 Staple:   _,_ _,_ _,_ _,_ _,_ _,_ _,_ _,_')

        vh.connectStrand(StrandType.Scaffold, 2, 6)
        vh.connectStrand(StrandType.Staple, 0, 7)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,> <,> <,_ _,_\n0 Staple:   _,> <,> <,> <,> <,> <,> <,> <,_')

        vh.clearStrand(StrandType.Scaffold, 4, 4)
        vh.clearStrand(StrandType.Staple, 3, 5)
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,> <,> <,_ _,_\n0 Staple:   _,> <,> <,_ _,_ _,_ _,> <,> <,_')

        vh.undoStack().undo()
        vh.undoStack().undo()
        self.assertEqual(repr(vh), '0 Scaffold: _,_ _,_ _,> <,> <,> <,> <,_ _,_\n0 Staple:   _,> <,> <,> <,> <,> <,> <,> <,_')

        vh.undoStack().undo()
Example #4
0
from model.enum import StrandType
from code import interact

print "vh = VirtualHelix(numBases=8, idnum=0)"
vh = VirtualHelix(numBases=8, idnum=0)
print str(vh) + "\n\n"

print "vh.connectStrand(StrandType.Scaffold,2,6)"
print "vh.connectStrand(StrandType.Staple,0,7)"
vh.connectStrand(StrandType.Scaffold,2,6)
vh.connectStrand(StrandType.Staple,0,7)
print str(vh) + "\n\n"

print "vh.clearStrand(StrandType.Scaffold,4,4)"
print "vh.clearStrand(StrandType.Staple,3,5)"
vh.clearStrand(StrandType.Scaffold,4,4)
vh.clearStrand(StrandType.Staple,3,5)
print str(vh) + "\n\n"

print "vh1 = VirtualHelix(numBases=5, idnum=1)"
print "vh1.connectStrand(StrandType.Staple, 0, 4)"
vh1 = VirtualHelix(numBases=5, idnum=1)
vh1.connectStrand(StrandType.Staple, 0, 4)
print str(vh)
print str(vh1) + "\n\n"

print "vh.connect3To5(StrandType.Staple, 2, vh1, 3)"
vh.connect3To5(StrandType.Staple, 2, vh1, 2)
print str(vh)
print str(vh1)
interact(local=locals())
from model.enum import StrandType
from code import interact

print "vh = VirtualHelix(numBases=8, idnum=0)"
vh = VirtualHelix(numBases=8, idnum=0)
print repr(repr(vh)) + "\n\n"

print "vh.connectStrand(StrandType.Scaffold,2,6)"
print "vh.connectStrand(StrandType.Staple,0,7)"
vh.connectStrand(StrandType.Scaffold,2,6)
vh.connectStrand(StrandType.Staple,0,7)
print repr(repr(vh)) + "\n\n"

print "vh.clearStrand(StrandType.Scaffold, 3.5, 4.5)"
print "vh.clearStrand(StrandType.Staple, 2.5, 5.5)"
vh.clearStrand(StrandType.Scaffold, 3.5, 4.5)
vh.clearStrand(StrandType.Staple, 2.5, 5.5)
print repr(repr(vh))
print "vh.undoStack().undo()"
vh.undoStack().undo()
print repr(repr(vh))
print "vh.clearStrand(StrandType.Staple, 3, 5)"
vh.clearStrand(StrandType.Staple, 3, 5)
print repr(repr(vh)) + "\n\n"

print "vh1 = VirtualHelix(numBases=5, idnum=1)"
print "vh1.connectStrand(StrandType.Staple, 0, 4)"
vh1 = VirtualHelix(numBases=5, idnum=1)
vh1.connectStrand(StrandType.Staple, 0, 4)
print repr(repr(vh))
print repr(repr(vh1)) + "\n\n"