segmentmodel_example.py 1.38 KiB
import numpy as np
from segmentmodel import SegmentModel, SingleStrandedSegment, DoubleStrandedSegment
from nbPot import nbDnaScheme
"""
Example of using segmentmodel to construct a CG
May need to execute after running:
PATH=/home/cmaffeo2/anaconda3/bin:$PATH; source activate cadnano
"""
if __name__ == "__main__":
seg1 = DoubleStrandedSegment("strand", num_nts = 46)
seg2 = SingleStrandedSegment("strand",
start_position = seg1.end_position + np.array((5,0,5)),
num_nts = 12)
seg3 = SingleStrandedSegment("strand",
start_position = seg1.start_position + np.array((-5,0,-5)),
end_position = seg1.end_position + np.array((-5,0,5)),
num_nts = 128)
seg1.start3
seg1.start5
seg1.end3
seg1.end5
seg1.connect_end3(seg2) # equivalent for ssDNA to: seg1.connect_end3(seg2.end5)
seg1.connect_end5(seg3)
seg1.connect_start3(seg3)
model = SegmentModel( [seg1, seg2, seg3],
local_twist = True,
max_basepairs_per_bead = 5,
max_nucleotides_per_bead = 5,
dimensions=(5000,5000,5000),
)
model.simulate( outputPrefix = 'strand-test', outputPeriod=1e4, numSteps=1e6, gpu=1 )