From 6a314a50bd991bb8ec3353fc0992ea5bfe1faf92 Mon Sep 17 00:00:00 2001 From: Chris Maffeo <cmaffeo2@illinois.edu> Date: Sun, 23 Sep 2018 16:00:41 -0500 Subject: [PATCH] Fixed some small issues with cadnano reader for ssDNA --- mrdna/readers/cadnano_segments.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/mrdna/readers/cadnano_segments.py b/mrdna/readers/cadnano_segments.py index 0d366b8..15dd725 100644 --- a/mrdna/readers/cadnano_segments.py +++ b/mrdna/readers/cadnano_segments.py @@ -226,7 +226,10 @@ class cadnano_part(SegmentModel): numHID = part.getIdNumMax() + 1 for id_num in range(numHID): - offset_and_size = part.getOffsetAndSize(id_num) + try: + offset_and_size = part.getOffsetAndSize(id_num) + except: + offset_and_size = None if offset_and_size is None: ## Add a placeholder for empty helix vh_list.append((id_num, 0)) @@ -499,16 +502,20 @@ class cadnano_part(SegmentModel): ## TODO: use different types of crossovers ## fwd? ## 5'-to-3' direction + if isinstance(seg1, SingleStrandedSegment): f1 = True + if isinstance(seg2, SingleStrandedSegment): f2 = True seg1.add_crossover(nt1,seg2,nt2,[f1,f2]) def _add_prime_ends(self): for h,fwd,z in self._5prime_list: seg, nt = self._get_segment_nucleotide(h,z, fwd) + if isinstance(seg, SingleStrandedSegment): fwd = True # print("adding 5prime",seg.name,nt,fwd) seg.add_5prime(nt,fwd) for h,fwd,z in self._3prime_list: seg, nt = self._get_segment_nucleotide(h,z, not fwd) + if isinstance(seg, SingleStrandedSegment): fwd = True # print("adding 3prime",seg.name,nt,fwd) seg.add_3prime(nt,fwd) -- GitLab