From 616ca8e25568b140e4ef24f1068dbdf6ffada1e2 Mon Sep 17 00:00:00 2001 From: Chris Maffeo <cmaffeo2@illinois.edu> Date: Tue, 17 Jul 2018 16:43:56 -0500 Subject: [PATCH] Added 'read_model' to cadnano_segments --- cadnano_segments.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/cadnano_segments.py b/cadnano_segments.py index 585b368..d0adeea 100644 --- a/cadnano_segments.py +++ b/cadnano_segments.py @@ -544,6 +544,39 @@ def decode_cadnano_part(json_data): def package_archive( name, directory ): ... +def read_model(json_data, sequence=None): + """ Read in data """ + part = decode_cadnano_part(json_data) + model = cadnano_part(part, + max_basepairs_per_bead = 7, + max_nucleotides_per_bead = 4, + local_twist=False) + model._generate_strands() # TODO: move into model creation + + # TODO + # try: + # model.set_cadnano_sequence() + # finally: + # ... + # if sequence is not None and len() : + # model.strands[0].set_sequence(seq) + + if sequence is None or len(sequence) == 0: + ## default m13mp18 + sequence = list(m13seq) + try: + model.strands[0].set_sequence(sequence) + except: + ... + else: + model.strands[0].set_sequence(sequence) + + for s in model.segments: + s.randomize_unset_sequence() + + return model + + def run_simulation_protocol( output_name, job_id, json_data, sequence=None, remove_long_bonds=False, -- GitLab