diff --git a/dnarbd/model/dna_sequence.py b/dnarbd/model/dna_sequence.py index a189f114ed1421f13dd83fa1a9c2632f36c9f18b..2d120ec018bca77a14f697a6b0d4a66973f345e6 100644 --- a/dnarbd/model/dna_sequence.py +++ b/dnarbd/model/dna_sequence.py @@ -8,6 +8,7 @@ def read_sequence_file(sequenceFile=_m13_path): l = l.strip().replace(" ", "") if l[0] in (";","#"): continue seq.extend([c.upper() for c in l]) - return seq + return list(seq) m13 = read_sequence_file() + diff --git a/dnarbd/readers/__init__.py b/dnarbd/readers/__init__.py index 2d1323c433985f4fd3d35c7d43ae8e98dd01fc49..8a6110c1feacbfde8c82d835f67e15c9f701f63b 100644 --- a/dnarbd/readers/__init__.py +++ b/dnarbd/readers/__init__.py @@ -6,6 +6,7 @@ from .cadnano_segments import read_model as model_from_cadnano_json """ vHelix """ from .polygon_mesh import parse_maya_file, convert_maya_to_segments +from ..model.dna_sequence import m13 as m13seq """ Atomic PDB """ from .segmentmodel_from_pdb import SegmentModelFromPdb @@ -19,7 +20,9 @@ def read_cadnano(json_file, **model_parameters): def read_vhelix(maya_file, **model_parameters): data = parse_maya_file(maya_file) segments, dsSegmentDict = convert_maya_to_segments( data ) - return SegmentModel( segments,**model_parameters ) + model = SegmentModel( segments,**model_parameters ) + model.set_sequence(m13seq*10) + return model def read_atomic_pdb(pdb_file, **model_parameters): return SegmentModelFromPdb(pdb_file) diff --git a/dnarbd/readers/cadnano_segments.py b/dnarbd/readers/cadnano_segments.py index f2a4836bb1df13405a9e26bcdcc855c3061b4ec2..a70f7d7a3df227080dbd230887e15d4cb22d0ade 100644 --- a/dnarbd/readers/cadnano_segments.py +++ b/dnarbd/readers/cadnano_segments.py @@ -541,16 +541,9 @@ def read_model(json_data, sequence=None): if sequence is None or len(sequence) == 0: ## default m13mp18 - sequence = list(m13seq) - try: - model.strands[0].set_sequence(sequence) - except: - ... + model.set_sequence(m13seq,force=False) else: - model.strands[0].set_sequence(sequence) - - for s in model.segments: - s.randomize_unset_sequence() + model.set_sequence(sequence) return model