changeset 0:0b38f1504205 draft default tip

planemo upload for repository https://github.com/Edinburgh-Genome-Foundry/Plateo commit cc895a281863630e391c310322fbddfd31ac1f8f-dirty
author tduigou
date Thu, 16 Oct 2025 14:27:06 +0000
parents
children
files CreateAssemblyPicklists_script.py create_assembly_picklists.xml test-data/emma_parts/HC_Amp_ccdB.gb test-data/emma_parts/conn a-c.gb test-data/emma_parts/conn b-e.gb test-data/emma_parts/conn b-l.gb test-data/emma_parts/conn d-e.gb test-data/emma_parts/conn d-f.gb test-data/emma_parts/conn h-ha.gb test-data/emma_parts/conn h-j.gb test-data/emma_parts/conn h-k.gb test-data/emma_parts/conn j-k.gb test-data/emma_parts/conn l-n.gb test-data/emma_parts/conn l-r.gb test-data/emma_parts/conn l-w.gb test-data/emma_parts/conn l-y.gb test-data/emma_parts/conn q-r.gb test-data/emma_parts/conn r-w.gb test-data/emma_parts/conn t-v.gb test-data/emma_parts/conn w-x.gb test-data/emma_parts/conn w-y.gb test-data/emma_parts/conn w-z.gb test-data/emma_parts/conn y-z.gb test-data/emma_parts/p10_tet-aptazyme.gb test-data/emma_parts/p11_sv40polya.gb test-data/emma_parts/p14_cmvp.gb test-data/emma_parts/p14_sv40p.gb test-data/emma_parts/p15_puror.gb test-data/emma_parts/p16_bghpolya.gb test-data/emma_parts/p18_cmvp.gb test-data/emma_parts/p18_ef1ap.gb test-data/emma_parts/p19_mneogreen.gb test-data/emma_parts/p19_mruby2.gb test-data/emma_parts/p19_mtagbfp2.gb test-data/emma_parts/p19_tet-on-3g.gb test-data/emma_parts/p1_5'-itr-pb.gb test-data/emma_parts/p1_5'ha-haavs1.gb test-data/emma_parts/p20_ct-minute-nes.gb test-data/emma_parts/p20_ct-nes.gb test-data/emma_parts/p20_linker3.gb test-data/emma_parts/p20_p2a.gb test-data/emma_parts/p21_dmra.gb test-data/emma_parts/p21_mkate2.gb test-data/emma_parts/p21_mneogreen.gb test-data/emma_parts/p21_mruby2.gb test-data/emma_parts/p21_mtagbfp2.gb test-data/emma_parts/p21_puror.gb test-data/emma_parts/p22_pgkpolya.gb test-data/emma_parts/p23_insulatorfb.gb test-data/emma_parts/p24_3'ha_haavs1.gb test-data/emma_parts/p24_3'pb.gb test-data/emma_parts/p25_sv40-ori.gb test-data/emma_parts/p2_insulatorfb.gb test-data/emma_parts/p3_cagp.gb test-data/emma_parts/p3_cmvp_tet.gb test-data/emma_parts/p3_ef1ap.gb test-data/emma_parts/p3_tre3gp.gb test-data/emma_parts/p4_kt-l7ae -weiss.gb test-data/emma_parts/p4_lac-o.gb test-data/emma_parts/p5_attb-bxb1.gb test-data/emma_parts/p5_attp-bxb1.gb test-data/emma_parts/p5_k1-k1.gb test-data/emma_parts/p5_kt-weiss.gb test-data/emma_parts/p6_atg_boxc.gb test-data/emma_parts/p6_kozak-atg.gb test-data/emma_parts/p6_nt-igkl sequence.gb test-data/emma_parts/p6_nt-mls.gb test-data/emma_parts/p6_nt-myristoylation signal.gb test-data/emma_parts/p6_nt-palm sequence.gb test-data/emma_parts/p6_nt-sv40_nls.gb test-data/emma_parts/p7_bxb1.gb test-data/emma_parts/p7_l7ae-weiss.gb test-data/emma_parts/p7_l7ae.gb test-data/emma_parts/p7_laci.gb test-data/emma_parts/p7_mcherry.gb test-data/emma_parts/p7_mkate2.gb test-data/emma_parts/p7_mneogreen.gb test-data/emma_parts/p7_mruby2.gb test-data/emma_parts/p7_mtagbfp2.gb test-data/emma_parts/p8_linker1.gb test-data/emma_parts/p8_linker2.gb test-data/emma_parts/p8_p2a.gb test-data/emma_parts/p8a_ct-kdel.gb test-data/emma_parts/p8b_ires2.gb test-data/emma_parts/p9_a-tubulin.gb test-data/emma_parts/p9_bsdr.gb test-data/emma_parts/p9_dmrc.gb test-data/emma_parts/p9_firefly luciferase.gb test-data/emma_parts/p9_mneogreen.gb test-data/emma_parts/p9_mruby2.gb test-data/emma_parts/p9_mtagbfp2.gb test-data/emma_parts/p9_neor.gb test-data/emma_parts/p9_puror.gb test-data/example_echo_plate.xlsx test-data/example_picklist.xls
diffstat 95 files changed, 8624 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/CreateAssemblyPicklists_script.py	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,596 @@
+#!/usr/bin/env python
+# coding: utf-8
+# Code copied from CUBA backend tools.py and create_assembly_picklists/CreateAssemblyPicklistsView.py
+# Code modified for running in a script in Galaxy.
+##############################################################################
+##############################################################################
+# App code
+## EGF Galaxy Create assembly picklists -- script
+
+##############################################################################
+# IMPORTS
+import argparse
+import os
+from io import StringIO, BytesIO
+import re
+from base64 import b64encode, b64decode
+from copy import deepcopy
+import sys
+
+from collections import OrderedDict
+from fuzzywuzzy import process
+import matplotlib.pyplot as plt
+from matplotlib.backends.backend_pdf import PdfPages
+import pandas
+
+from Bio import SeqIO
+from Bio.SeqRecord import SeqRecord
+from Bio.Seq import Seq
+
+import bandwagon as bw
+import crazydoc
+from dnachisel.biotools import sequence_to_biopython_record
+import dnacauldron
+import flametree
+from plateo import AssemblyPlan
+from plateo.parsers import plate_from_content_spreadsheet
+from plateo.containers import Plate4ti0960
+from plateo.exporters import AssemblyPicklistGenerator, picklist_to_assembly_mix_report
+from plateo.exporters import (
+    picklist_to_labcyte_echo_picklist_file,
+    picklist_to_tecan_evo_picklist_file,
+    plate_to_platemap_spreadsheet,
+    PlateTextPlotter,
+)
+from plateo.tools import human_volume
+from snapgene_reader import snapgene_file_to_seqrecord
+
+
+##############################################################################
+# FUNCTIONS
+
+def fix_and_rename_paths(paths):
+    fixed_paths = []
+    for path in paths:
+        new_path = path.replace("__sq__", "'")
+        if new_path != path:
+            os.rename(path, new_path)
+        fixed_paths.append(new_path)
+    return fixed_paths
+
+
+def parse_optional_float(x):
+    if x == '':
+        return None
+    return float(x)
+
+
+def did_you_mean(name, other_names, limit=5, min_score=50):  # test
+    results = process.extract(name, list(other_names), limit=limit)
+    return [e for (e, score) in results if score >= min_score]
+
+
+def fix_ice_genbank(genbank_txt):
+    lines = genbank_txt.splitlines()
+    lines[0] += max(0, 80 - len(lines[0])) * " "
+    return "\n".join(lines)
+
+
+def write_record(record, target, fmt="genbank"):
+    """Write a record as genbank, fasta, etc. via Biopython, with fixes"""
+    record = deepcopy(record)
+    if fmt == "genbank":
+        if isinstance(record, (list, tuple)):
+            for r in record:
+                r.name = r.name[:20]
+        else:
+            record.name = record.name[:20]
+    if hasattr(target, "open"):
+        target = target.open("w")
+    SeqIO.write(record, target, fmt)
+
+
+def autoname_genbank_file(record):
+    return record.id.replace(".", "_") + ".gb"
+
+
+def string_to_records(string):
+    """Convert a string of a fasta, genbank... into a simple ATGC string.
+
+    Can also be used to detect a format.
+    """
+    matches = re.match("([ATGC][ATGC]*)", string)
+    # print("============", len(matches.groups()[0]), len(string))
+    # print (matches.groups()[0] == string)
+    if (matches is not None) and (matches.groups()[0] == string):
+        return [SeqRecord(Seq(string))], "ATGC"
+
+    for fmt in ("fasta", "genbank"):
+        if fmt == "genbank":
+            string = fix_ice_genbank(string)
+        try:
+            stringio = StringIO(string)
+            records = list(SeqIO.parse(stringio, fmt))
+            if len(records) > 0:
+                return (records, fmt)
+        except:
+            pass
+    try:
+        record = snapgene_file_to_seqrecord(filecontent=StringIO(string))
+        return [record]
+    except:
+        pass
+    raise ValueError("Invalid sequence format")
+
+
+def file_to_filelike_object(file_, type="byte"):
+    content = file_.content.split("base64,")[1]
+    filelike = BytesIO if (type == "byte") else StringIO
+    return filelike(b64decode(content))
+
+
+def spreadsheet_file_to_dataframe(filedict, header="infer"):
+    filelike = file_to_filelike_object(filedict)
+    if filedict.name.endswith(".csv"):
+        return pandas.read_csv(filelike, header=header)
+    else:
+        return pandas.read_excel(filelike, header=header)
+
+
+def records_from_zip_file(zip_file, use_file_names_as_ids=False):
+    zip_name = zip_file.name
+    zip_file = flametree.file_tree(file_to_filelike_object(zip_file))
+    records = []
+    for f in zip_file._all_files:
+        ext = f._extension.lower()
+        if ext in ["gb", "gbk", "fa", "dna"]:
+            try:
+                new_records, fmt = string_to_records(f.read())
+                if not isinstance(new_records, list):
+                    new_records = [new_records]
+            except:
+                content_stream = BytesIO(f.read("rb"))
+                try:
+                    record = snapgene_file_to_seqrecord(fileobject=content_stream)
+                    new_records, fmt = [record], "snapgene"
+                except:
+                    try:
+                        parser = crazydoc.CrazydocParser(
+                            ["highlight_color", "bold", "underline"]
+                        )
+                        new_records = parser.parse_doc_file(content_stream)
+                        fmt = "doc"
+                    except:
+                        raise ValueError("Format not recognized for file " + f._path)
+
+            single_record = len(new_records) == 1
+            for i, record in enumerate(new_records):
+                name = record.id
+                if name in [
+                    None,
+                    "",
+                    "<unknown id>",
+                    ".",
+                    " ",
+                    "<unknown name>",
+                ]:
+                    number = "" if single_record else ("%04d" % i)
+                    name = f._name_no_extension.replace(" ", "_") + number
+                record.id = name
+                record.name = name
+                record.file_name = f._name_no_extension
+                record.zip_file_name = zip_name
+                if use_file_names_as_ids and single_record:
+                    basename = os.path.basename(record.file_name)
+                    basename_no_extension = os.path.splitext(basename)[0]
+                    record.id = basename_no_extension
+            records += new_records
+    return records
+
+
+def records_from_data_file(data_file):
+    content = b64decode(data_file.content.split("base64,")[1])
+    try:
+        records, fmt = string_to_records(content.decode("utf-8"))
+    except:
+        try:
+            record = snapgene_file_to_seqrecord(fileobject=BytesIO(content))
+            records, fmt = [record], "snapgene"
+        except:
+            try:
+                parser = crazydoc.CrazydocParser(
+                    ["highlight_color", "bold", "underline"]
+                )
+                records = parser.parse_doc_file(BytesIO(content))
+                fmt = "doc"
+            except:
+                try:
+                    df = spreadsheet_file_to_dataframe(data_file, header=None)
+                    records = [
+                        sequence_to_biopython_record(sequence=seq, id=name, name=name)
+                        for name, seq in df.values
+                    ]
+                    fmt = "spreadsheet"
+                except:
+                    raise ValueError("Format not recognized for file " + data_file.name)
+    if not isinstance(records, list):
+        records = [records]
+    return records, fmt
+
+
+def record_to_formated_string(record, fmt="genbank", remove_descr=False):
+    if remove_descr:
+        record = deepcopy(record)
+        if isinstance(record, (list, tuple)):
+            for r in record:
+                r.description = ""
+        else:
+            record.description = ""
+    fileobject = StringIO()
+    write_record(record, fileobject, fmt)
+    return fileobject.getvalue().encode("utf-8")
+
+
+def records_from_data_files(data_files, use_file_names_as_ids=False):
+    records = []
+    for file_ in data_files:
+        circular = ("circular" not in file_) or file_.circular
+        if file_.name.lower().endswith("zip"):
+            records += records_from_zip_file(
+                file_, use_file_names_as_ids=use_file_names_as_ids
+            )
+            continue
+        recs, fmt = records_from_data_file(file_)
+        single_record = len(recs) == 1
+        for i, record in enumerate(recs):
+            record.circular = circular
+            record.linear = not circular
+            name_no_extension = "".join(file_.name.split(".")[:-1])
+            name = name_no_extension + ("" if single_record else ("%04d" % i))
+            name = name.replace(" ", "_")
+            UNKNOWN_IDS = [
+                "None",
+                "",
+                "<unknown id>",
+                ".",
+                "EXPORTED",
+                "<unknown name>",
+                "Exported",
+            ]
+            # Sorry for this parts, it took a lot of "whatever works".
+            # keep your part names under 20c and pointless, and everything
+            # will be good
+            if str(record.id).strip() in UNKNOWN_IDS:
+                record.id = name
+            if str(record.name).strip() in UNKNOWN_IDS:
+                record.name = name
+            record.file_name = name_no_extension
+            if use_file_names_as_ids and single_record:
+                basename = os.path.basename(record.source_file)
+                basename_no_extension = os.path.splitext(basename)[0]
+                record.id = basename_no_extension
+        records += recs
+    return records
+
+
+def data_to_html_data(data, datatype, filename=None):
+    """Data types: zip, genbank, fasta, pdf"""
+    datatype = {
+        "zip": "application/zip",
+        "genbank": "application/genbank",
+        "fasta": "application/fasta",
+        "pdf": "application/pdf",
+        "xlsx": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
+    }.get(datatype, datatype)
+    datatype = "data:%s;" % datatype
+    data64 = "base64,%s" % b64encode(data).decode("utf-8")
+    headers = ""
+    if filename is not None:
+        headers += "headers=filename%3D" + filename + ";"
+    return datatype + headers + data64
+
+
+def zip_data_to_html_data(data):
+    return data_to_html_data(data, "application/zip")
+
+
+LADDERS = {"100_to_4k": bw.ladders.LADDER_100_to_4k}
+
+
+def matplotlib_figure_to_svg_base64_data(fig, **kwargs):
+    """Return a string of the form 'data:image/svg+xml;base64,XXX' where XXX
+    is the base64-encoded svg version of the figure."""
+    output = BytesIO()
+    fig.savefig(output, format="svg", **kwargs)
+    svg_txt = output.getvalue().decode("utf-8")
+    svg_txt = "\n".join(svg_txt.split("\n")[4:])
+    svg_txt = "".join(svg_txt.split("\n"))
+
+    content = b64encode(svg_txt.encode("utf-8"))
+    result = (b"data:image/svg+xml;base64," + content).decode("utf-8")
+
+    return result
+
+
+def matplotlib_figure_to_bitmap_base64_data(fig, fmt="png", **kwargs):
+    """Return a string of the form 'data:image/png;base64,XXX' where XXX
+    is the base64-encoded svg version of the figure."""
+    output = BytesIO()
+    fig.savefig(output, format=fmt, **kwargs)
+    bitmap = output.getvalue()
+    content = b64encode(bitmap)
+    result = (b"data:image/%s;base64,%s" % (fmt.encode("utf-8"), content)).decode(
+        "utf-8"
+    )
+    return result
+
+
+def figures_to_pdf_report_data(figures, filename="report.pdf"):
+    pdf_io = BytesIO()
+    with PdfPages(pdf_io) as pdf:
+        for fig in figures:
+            pdf.savefig(fig, bbox_inches="tight")
+    return {
+        "data": (
+            "data:application/pdf;base64,"
+            + b64encode(pdf_io.getvalue()).decode("utf-8")
+        ),
+        "name": filename,
+        "mimetype": "application/pdf",
+    }
+
+
+def csv_to_list(csv_string, sep=","):
+    return [
+        element.strip()
+        for line in csv_string.split("\n")
+        for element in line.split(sep)
+        if len(element.strip())
+    ]
+
+
+def set_record_topology(record, topology):
+    """Set the Biopython record's topology, possibly passing if already set.
+
+    This actually sets the ``record.annotations['topology']``.The ``topology``
+    parameter can be "circular", "linear", "default_to_circular" (will default
+    to circular if ``annotations['topology']`` is not already set) or
+    "default_to_linear".
+    """
+    valid_topologies = [
+        "circular",
+        "linear",
+        "default_to_circular",
+        "default_to_linear",
+    ]
+    if topology not in valid_topologies:
+        raise ValueError(
+            "topology (%s) should be one of %s."
+            % (topology, ", ".join(valid_topologies))
+        )
+    annotations = record.annotations
+    default_prefix = "default_to_"
+    if topology.startswith(default_prefix):
+        if "topology" not in annotations:
+            annotations["topology"] = topology[len(default_prefix) :]
+    else:
+        annotations["topology"] = topology
+
+
+##############################################################################
+def main():
+
+    parser = argparse.ArgumentParser(description="Generate picklist for DNA assembly.")
+    parser.add_argument("--parts_files", help="Directory with parts data or file with part sizes")
+    parser.add_argument("--picklist", type=str, help="Path to the assembly plan CSV or Excel file")
+    parser.add_argument("--source_plate", help="Source plate file (CSV or Excel)")
+    parser.add_argument("--backbone_name", required=False, help="Name of the backbone")
+    parser.add_argument("--result_zip", help="Name of the output zip file")
+    parser.add_argument("--part_backbone_ratio", type=parse_optional_float, required=False, help="Part to backbone molar ratio")
+    parser.add_argument("--quantity_unit", choices=["fmol", "nM", "ng"], help="Quantity unit")
+    parser.add_argument("--part_quantity", type=float, help="Quantity of each part")
+    parser.add_argument("--buffer_volume", type=float, help="Buffer volume in µL")
+    parser.add_argument("--total_volume", type=float, help="Total reaction volume in µL")
+    parser.add_argument("--dispenser", choices=["labcyte_echo", "tecan_evo"], help="Dispenser machine")
+
+    args = parser.parse_args()
+
+    # Parameters:
+    picklist = args.picklist  # assembly plan
+    # directory or can be a csv/Excel with part sizes
+    if isinstance(args.parts_files, str):
+        args.parts_files = args.parts_files.split(",")
+    parts_dir = fix_and_rename_paths(args.parts_files)
+    source_plate_path = args.source_plate
+    backbone_name = args.backbone_name
+    part_backbone_ratio = args.part_backbone_ratio
+    result_zip_file = args.result_zip  # output file name "picklist.zip"
+    ##############################################################################
+    # Defaults:
+    destination_plate = None
+    destination_type = "new"  # this parameter is not actually used
+    destination_size = 96  # this parameter is not actually used
+    fill_by = "column"  # this parameter is not actually used
+    quantity_unit = args.quantity_unit
+    part_quantity = args.part_quantity # 1.3
+    buffer_volume = args.buffer_volume # 0.3  # (µL)
+    total_volume = args.total_volume # 1  # (µL)
+    dispenser_machine = args.dispenser
+    dispenser_min_volume = 0.5  # (nL), this parameter is not actually used
+    dispenser_max_volume = 5  # (µL), this parameter is not actually used
+    dispenser_resolution = 2.5  # (nL), this parameter is not actually used
+    dispenser_dead_volume = 8  # (µL), this parameter is not actually used
+    use_file_names_as_ids = True
+
+    # CODE
+    if picklist.endswith(".csv"):
+        csv = picklist.read().decode()
+        rows = [line.split(",") for line in csv.split("\n") if len(line)]
+    else:
+        dataframe = pandas.read_excel(picklist)
+        rows = [row for i, row in dataframe.iterrows()]
+
+    assembly_plan = AssemblyPlan(
+        OrderedDict(
+            [
+                (
+                    row[0],
+                    [
+                        str(e).strip()
+                        for e in row[1:]
+                        if str(e).strip() not in ["-", "nan", ""]
+                    ],
+                )
+                for row in rows
+                if row[0] not in ["nan", "Construct name", "constructs", "construct"]
+            ]
+        )
+    )
+    for assembly, parts in assembly_plan.assemblies.items():
+        assembly_plan.assemblies[assembly] = [part.replace(" ", "_") for part in parts]
+
+    # Reading part infos
+    if not isinstance(parts_dir, list):
+        if parts_dir.endswith((".csv", ".xls", ".xlsx")):  # part sizes specified in table
+            if parts_dir.endswith(".csv"):
+                dataframe = pandas.read_csv(parts_dir)
+            else:
+                dataframe = pandas.read_excel(parts_dir)
+            parts_data = {row.part: {"size": row["size"]} for i, row in dataframe.iterrows()}
+    else:  # input records
+        records = dnacauldron.biotools.load_records_from_files(
+            files=parts_dir, use_file_names_as_ids=use_file_names_as_ids
+        )
+        parts_data = {rec.id.replace(" ", "_").lower(): {"record": rec} for rec in records}
+        #parts_data = process_parts_with_mapping(records, args.file_name_mapping)
+    assembly_plan.parts_data = parts_data
+    parts_without_data = assembly_plan.parts_without_data()
+    if len(parts_without_data):
+        print("success: False")
+        print("message: Some parts have no provided record or data.")
+        print("missing_parts: ", parts_without_data)
+        sys.exit()
+    # Reading protocol
+    if quantity_unit == "fmol":
+        part_mol = part_quantity * 1e-15
+        part_g = None
+    if quantity_unit == "nM":
+        part_mol = part_quantity * total_volume * 1e-15
+        part_g = None
+    if quantity_unit == "ng":
+        part_mol = None
+        part_g = part_quantity * 1e-9
+        # Backbone:part molar ratio calculation is not performed in this case.
+        # This ensures no change regardless of form input:
+        part_backbone_ratio = 1
+    print("Generating picklist")
+    picklist_generator = AssemblyPicklistGenerator(
+        part_mol=part_mol,
+        part_g=part_g,
+        complement_to=total_volume * 1e-6,  # convert uL to L
+        buffer_volume=buffer_volume * 1e-6,
+        volume_rounding=2.5e-9,  # not using parameter from form
+        minimal_dispense_volume=5e-9,  # Echo machine's minimum dispense -
+    )
+    if backbone_name != '' and backbone_name != 'Non':
+        backbone_name_list = backbone_name.split(",")
+    source_plate = plate_from_content_spreadsheet(source_plate_path)
+
+    for well in source_plate.iter_wells():
+        if well.is_empty:
+            continue
+        quantities = well.content.quantities
+        part, quantity = list(quantities.items())[0]
+        quantities.pop(part)
+        quantities[part.replace(" ", "_")] = quantity
+
+        if backbone_name != '' and backbone_name != 'Non':
+            if part in backbone_name_list:
+                # This section multiplies the backbone concentration with the
+                # part:backbone molar ratio. This tricks the calculator into making
+                # a picklist with the desired ratio.
+                # For example, a part:backbone = 2:1 will multiply the
+                # backbone concentration by 2, therefore half as much of it will be
+                # added to the well.
+                quantities[part.replace(" ", "_")] = quantity * part_backbone_ratio
+            else:
+                quantities[part.replace(" ", "_")] = quantity
+
+    source_plate.name = "Source"
+    if destination_plate:
+        dest_filelike = file_to_filelike_object(destination_plate)
+        destination_plate = plate_from_content_spreadsheet(destination_plate)
+    else:
+        destination_plate = Plate4ti0960("Mixplate")
+    destination_wells = (
+        well for well in destination_plate.iter_wells(direction="column") if well.is_empty
+    )
+    picklist, picklist_data = picklist_generator.make_picklist(
+        assembly_plan,
+        source_wells=source_plate.iter_wells(),
+        destination_wells=destination_wells,
+    )
+    if picklist is None:
+        print("success: False")
+        print("message: Some parts in the assembly plan have no corresponding well.")
+        print("picklist_data: ", picklist_data)
+        print("missing_parts:", picklist_data.get("missing_parts", None))
+        sys.exit()
+
+    future_plates = picklist.simulate(inplace=False)
+
+
+    def text(w):
+        txt = human_volume(w.content.volume)
+        if "construct" in w.data:
+            txt = "\n".join([w.data["construct"], txt])
+        return txt
+
+
+    plotter = PlateTextPlotter(text)
+    ax, _ = plotter.plot_plate(future_plates[destination_plate], figsize=(20, 8))
+
+    ziproot = flametree.file_tree(result_zip_file, replace=True)
+
+    # MIXPLATE MAP PLOT
+    ax.figure.savefig(
+        ziproot._file("final_mixplate.pdf").open("wb"),
+        format="pdf",
+        bbox_inches="tight",
+    )
+    plt.close(ax.figure)
+    plate_to_platemap_spreadsheet(
+        future_plates[destination_plate],
+        lambda w: w.data.get("construct", ""),
+        filepath=ziproot._file("final_mixplate.xls").open("wb"),
+    )
+
+    # ASSEMBLY REPORT
+    print("Writing report...")
+    picklist_to_assembly_mix_report(
+        picklist,
+        ziproot._file("assembly_mix_picklist_report.pdf").open("wb"),
+        data=picklist_data,
+    )
+    assembly_plan.write_report(ziproot._file("assembly_plan_summary.pdf").open("wb"))
+
+    # MACHINE PICKLIST
+
+    if dispenser_machine == "labcyte_echo":
+        picklist_to_labcyte_echo_picklist_file(
+            picklist, ziproot._file("ECHO_picklist.csv").open("w")
+        )
+    else:
+        picklist_to_tecan_evo_picklist_file(
+            picklist, ziproot._file("EVO_picklist.gwl").open("w")
+        )
+    # We'll not write the input source plate.
+    # raw = file_to_filelike_object(source_plate_path).read()
+    # f = ziproot.copy(source_plate_path)
+    # f.write(raw, mode="wb")
+    ziproot._close()
+    print("success: True")
+    
+
+if __name__ == "__main__":
+    main()
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/create_assembly_picklists.xml	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,371 @@
+<tool id="create_assembly_picklists" name="Create Assembly Picklists" version="@TOOL_VERSION@+galaxy@VERSION_SUFFIX@" profile="21.09">
+    <description>Provide a source plate map and an assembly plan, get a robotic picklist spreadsheet for Tecan EVO or Labcyte Echo</description>
+    <macros>
+        <token name="@VERSION_SUFFIX@">0</token>
+        <token name="@TOOL_VERSION@">0.1.0</token>
+    </macros>
+    <requirements>
+        <requirement type="package" version="0.18.0">fuzzywuzzy</requirement>
+        <requirement type="package" version="0.3.4">bandwagon</requirement>
+        <requirement type="package" version="1.85">biopython</requirement>
+        <requirement type="package" version="0.2.2">crazydoc</requirement>
+        <requirement type="package" version="2.0.12">dnacauldron</requirement>
+        <requirement type="package" version="3.2.16">dnachisel</requirement>
+        <requirement type="package" version="0.1.11">flametree</requirement>
+        <requirement type="package" version="0.3.1">plateo</requirement>
+        <requirement type="package" version="0.1.23">snapgene-reader</requirement>
+    </requirements>
+    <command detect_errors="exit_code"><![CDATA[
+        #set genbank_file_paths = ','.join([str(f) for f in $genbank_files])
+        #set file_name_mapping = ",".join(["%s:%s" % (file.file_name, file.name) for file in $genbank_files])
+        
+        #set backbone_list = [line.strip() for line in str($backbone_name).strip().split('\n') if line.strip()]
+        #set backbone_name = ','.join(backbone_list)
+
+        mkdir renamed_parts &&
+        touch 'picklist.zip' &&
+        touch 'source_plate.xlsx' &&
+
+        #for $file in $genbank_files
+            cp '$file.file_name' 'renamed_parts/$file.name' &&
+        #end for
+
+        #set renamed_paths = ','.join(['renamed_parts/%s' % file.name for file in $genbank_files])
+    
+        cp '$source_plate' 'source_plate.xlsx' &&
+
+        python '$__tool_directory__/CreateAssemblyPicklists_script.py'
+            --parts_files '$renamed_paths'
+            --picklist '$picklist'
+            --source_plate 'source_plate.xlsx'
+            --backbone_name '$setting.adv.backbone_name'
+            --part_backbone_ratio '$setting.adv.part_backbone_ratio'
+            --quantity_unit '$setting.quantity_unit'
+            --part_quantity '$setting.part_quantity'
+            --buffer_volume '$setting.buffer_volume'
+            --total_volume '$setting.total_volume'
+            --dispenser '$setting.dispenser'
+            --result_zip 'picklist.zip' &&
+        cp 'picklist.zip' '$output_zip' 
+    ]]></command>
+    <inputs>
+        <conditional name='setting'>
+            <param name="mode" type="select" label="Mode">
+                <option value="std" selected="true">Standard</option>
+                <option value="demo">DEMO</option>
+            </param>
+            <when value="std">
+                <param name="quantity_unit" type="select" label="Part quantity unit">
+                    <option value="fmol" selected="true">femto-mole</option>
+                    <option value="nM">nano-molar</option>
+                    <option value="ng">nano-gram</option>
+                </param>
+                <param name="part_quantity" type="float" value="1.3" min="0" label="Part quantity" />
+                <param name="buffer_volume" type="float" value="0.3" min="0" label="Buffer volume (µL)" />
+                <param name="total_volume" type="float" value="1.0" min="0" label="Total volume (µL)" />
+                <param name="dispenser" type="select" label="Dispenser Machine">
+                    <option value="labcyte_echo" selected="true">Labcyte ECHO</option>
+                    <option value="tecan_evo">Tecab EVO</option>
+                </param>
+                <section name="adv" title="advance" expanded="false">
+                    <param name="backbone_name" type="text" area="True" label="Backbone Name(s)" optional='true'/>
+                    <param name="part_backbone_ratio" type="float" value='1.0' min="0" max="1.0" label="Backbone Molar Ratio" optional='true' />
+                </section>
+            </when>
+            <when value="demo">
+                <param name="quantity_unit" type="select" label="Part quantity unit">
+                    <option value="fmol" selected="true">femto-mole</option>
+                    <option value="nM">nano-molar</option>
+                    <option value="ng">nano-gram</option>
+                </param>
+                <param name="part_quantity" type="float" value="1.3" min="0" label="Part quantity" />
+                <param name="buffer_volume" type="float" value="0.3" min="0" label="Buffer volume (µL)" />
+                <param name="total_volume" type="float" value="1.0" min="0" label="Total volume (µL)" />
+                <param name="dispenser" type="select" label="Dispenser Machine">
+                    <option value="labcyte_echo" selected="true">Labcyte ECHO</option>
+                    <option value="tecan_evo">Tecab EVO</option>
+                </param>
+                <section name="adv" title="advance" expanded="false">
+                    <param name="backbone_name" type="text" area="True" value='HC_Amp_ccdB' label="Backbone Name(s)" optional='true'/>
+                    <param name="part_backbone_ratio" type="float" value='1.0' min="0" max="1.0" label="Backbone Molar Ratio" optional='true' />
+                </section>
+            </when>
+        </conditional>
+        <param name="genbank_files" type="data_collection" collection_type="list" format="genbank,fasta" label="GenBank File(s)" />
+        <param name="picklist" type="data" format="xlsx,xls,csv" label="Assembly Plan (csv or excel)"/>
+        <param name="source_plate" type="data" format="xlsx,xls" label="Source Plate (excel)"/>
+    </inputs>   
+    <outputs>
+        <data format="zip" name="output_zip" label="picklist (zip)"/>
+    </outputs>
+    <tests>
+        <!--test type2s_assembly class-->
+        <!--python CreateAssemblyPicklists_script.py parts_files "test-data/emma_parts/HC_Amp_ccdB.gb,test-data/emma_parts/conn a-c.gb,test-data/emma_parts/conn b-e.gb,test-data/emma_parts/conn b-l.gb,test-data/emma_parts/conn d-e.gb,test-data/emma_parts/conn d-f.gb,test-data/emma_parts/conn h-ha.gb,test-data/emma_parts/conn h-j.gb,test-data/emma_parts/conn h-k.gb,test-data/emma_parts/conn j-k.gb,test-data/emma_parts/conn l-n.gb,test-data/emma_parts/conn l-r.gb,test-data/emma_parts/conn l-w.gb,test-data/emma_parts/conn l-y.gb,test-data/emma_parts/conn q-r.gb,test-data/emma_parts/conn r-w.gb,test-data/emma_parts/conn t-v.gb,test-data/emma_parts/conn w-x.gb,test-data/emma_parts/conn w-y.gb,test-data/emma_parts/conn w-z.gb,test-data/emma_parts/conn y-z.gb,test-data/emma_parts/p10_tet-aptazyme.gb,test-data/emma_parts/p11_sv40polya.gb,test-data/emma_parts/p14_cmvp.gb,test-data/emma_parts/p14_sv40p.gb,test-data/emma_parts/p15_puror.gb,test-data/emma_parts/p16_bghpolya.gb,test-data/emma_parts/p18_cmvp.gb,test-data/emma_parts/p18_ef1ap.gb,test-data/emma_parts/p19_mneogreen.gb,test-data/emma_parts/p19_mruby2.gb,test-data/emma_parts/p19_mtagbfp2.gb,test-data/emma_parts/p19_tet-on-3g.gb,test-data/emma_parts/p1_5'-itr-pb.gb,test-data/emma_parts/p1_5'ha-haavs1.gb,test-data/emma_parts/p20_ct-minute-nes.gb,test-data/emma_parts/p20_ct-nes.gb,test-data/emma_parts/p20_linker3.gb,test-data/emma_parts/p20_p2a.gb,test-data/emma_parts/p21_dmra.gb,test-data/emma_parts/p21_mkate2.gb,test-data/emma_parts/p21_mneogreen.gb,test-data/emma_parts/p21_mruby2.gb,test-data/emma_parts/p21_mtagbfp2.gb,test-data/emma_parts/p21_puror.gb,test-data/emma_parts/p22_pgkpolya.gb,test-data/emma_parts/p23_insulatorfb.gb,test-data/emma_parts/p24_3'ha_haavs1.gb,test-data/emma_parts/p24_3'pb.gb,test-data/emma_parts/p25_sv40-ori.gb,test-data/emma_parts/p2_insulatorfb.gb,test-data/emma_parts/p3_cagp.gb,test-data/emma_parts/p3_cmvp_tet.gb,test-data/emma_parts/p3_ef1ap.gb,test-data/emma_parts/p3_tre3gp.gb,test-data/emma_parts/p4_kt-l7ae -weiss.gb,test-data/emma_parts/p4_lac-o.gb,test-data/emma_parts/p5_attb-bxb1.gb,test-data/emma_parts/p5_attp-bxb1.gb,test-data/emma_parts/p5_k1-k1.gb,test-data/emma_parts/p5_kt-weiss.gb,test-data/emma_parts/p6_atg_boxc.gb,test-data/emma_parts/p6_kozak-atg.gb,test-data/emma_parts/p6_nt-igkl sequence.gb,test-data/emma_parts/p6_nt-mls.gb,test-data/emma_parts/p6_nt-myristoylation signal.gb,test-data/emma_parts/p6_nt-palm sequence.gb,test-data/emma_parts/p6_nt-sv40_nls.gb,test-data/emma_parts/p7_bxb1.gb,test-data/emma_parts/p7_l7ae-weiss.gb,test-data/emma_parts/p7_l7ae.gb,test-data/emma_parts/p7_laci.gb,test-data/emma_parts/p7_mcherry.gb,test-data/emma_parts/p7_mkate2.gb,test-data/emma_parts/p7_mneogreen.gb,test-data/emma_parts/p7_mruby2.gb,test-data/emma_parts/p7_mtagbfp2.gb,test-data/emma_parts/p8_linker1.gb,test-data/emma_parts/p8_linker2.gb,test-data/emma_parts/p8_p2a.gb,test-data/emma_parts/p8a_ct-kdel.gb,test-data/emma_parts/p8b_ires2.gb,test-data/emma_parts/p9_a-tubulin.gb,test-data/emma_parts/p9_bsdr.gb,test-data/emma_parts/p9_dmrc.gb,test-data/emma_parts/p9_firefly luciferase.gb,test-data/emma_parts/p9_mneogreen.gb,test-data/emma_parts/p9_mruby2.gb,test-data/emma_parts/p9_mtagbfp2.gb,test-data/emma_parts/p9_neor.gb,test-data/emma_parts/p9_puror.gb" backbone_name 'HC_Amp_ccdb' part_backbone_ratio '1.0' quantity_unit 'fmol' part_quantity '1.3' buffer_volume '0.3' total_volume '1.0' dispenser 'labcyte_echo' result_zip 'picklist.zip' picklist 'test-data/example_picklist.xls' source_plate 'test-data/example_echo_plate.xlsx'-->
+        <test> 
+            <param name="genbank_files">
+                <collection type="list">
+                    <element name="HC_Amp_ccdB" value="emma_parts/HC_Amp_ccdB.gb" />
+                    <element name="conn a-c" value="emma_parts/conn a-c.gb" />
+                    <element name="conn b-e" value="emma_parts/conn b-e.gb" />
+                    <element name="conn b-l" value="emma_parts/conn b-l.gb" />
+                    <element name="conn d-e" value="emma_parts/conn d-e.gb" />
+                    <element name="conn d-f" value="emma_parts/conn d-f.gb" />
+                    <element name="conn h-ha" value="emma_parts/conn h-ha.gb" />
+                    <element name="conn h-j" value="emma_parts/conn h-j.gb" />
+                    <element name="conn h-k" value="emma_parts/conn h-k.gb" />
+                    <element name="conn j-k" value="emma_parts/conn j-k.gb" />
+                    <element name="conn l-n" value="emma_parts/conn l-n.gb" />
+                    <element name="conn l-r" value="emma_parts/conn l-r.gb" />
+                    <element name="conn l-w" value="emma_parts/conn l-w.gb" />
+                    <element name="conn l-y" value="emma_parts/conn l-y.gb" />
+                    <element name="conn q-r" value="emma_parts/conn q-r.gb" />
+                    <element name="conn r-w" value="emma_parts/conn r-w.gb" />
+                    <element name="conn t-v" value="emma_parts/conn t-v.gb" />
+                    <element name="conn w-x" value="emma_parts/conn w-x.gb" />
+                    <element name="conn w-y" value="emma_parts/conn w-y.gb" />
+                    <element name="conn w-z" value="emma_parts/conn w-z.gb" />
+                    <element name="conn y-z" value="emma_parts/conn y-z.gb" />
+                    <element name="p10_tet-aptazyme" value="emma_parts/p10_tet-aptazyme.gb" />
+                    <element name="p11_sv40polya" value="emma_parts/p11_sv40polya.gb" />
+                    <element name="p14_cmvp" value="emma_parts/p14_cmvp.gb" />
+                    <element name="p14_sv40p" value="emma_parts/p14_sv40p.gb" />
+                    <element name="p15_puror" value="emma_parts/p15_puror.gb" />
+                    <element name="p16_bghpolya" value="emma_parts/p16_bghpolya.gb" />
+                    <element name="p18_cmvp" value="emma_parts/p18_cmvp.gb" />
+                    <element name="p18_ef1ap" value="emma_parts/p18_ef1ap.gb" />
+                    <element name="p19_mneogreen" value="emma_parts/p19_mneogreen.gb" />
+                    <element name="p19_mruby2" value="emma_parts/p19_mruby2.gb" />
+                    <element name="p19_mtagbfp2" value="emma_parts/p19_mtagbfp2.gb" />
+                    <element name="p19_tet-on-3g" value="emma_parts/p19_tet-on-3g.gb" />
+                    <element name="p1_5'-itr-pb" value="emma_parts/p1_5'-itr-pb.gb" />
+                    <element name="p1_5'ha-haavs1" value="emma_parts/p1_5'ha-haavs1.gb" />
+                    <element name="p20_ct-minute-nes" value="emma_parts/p20_ct-minute-nes.gb" />
+                    <element name="p20_ct-nes" value="emma_parts/p20_ct-nes.gb" />
+                    <element name="p20_linker3" value="emma_parts/p20_linker3.gb" />
+                    <element name="p20_p2a" value="emma_parts/p20_p2a.gb" />
+                    <element name="p21_dmra" value="emma_parts/p21_dmra.gb" />
+                    <element name="p21_mkate2" value="emma_parts/p21_mkate2.gb" />
+                    <element name="p21_mneogreen" value="emma_parts/p21_mneogreen.gb" />
+                    <element name="p21_mruby2" value="emma_parts/p21_mruby2.gb" />
+                    <element name="p21_mtagbfp2" value="emma_parts/p21_mtagbfp2.gb" />
+                    <element name="p21_puror" value="emma_parts/p21_puror.gb" />
+                    <element name="p22_pgkpolya" value="emma_parts/p22_pgkpolya.gb" />
+                    <element name="p23_insulatorfb" value="emma_parts/p23_insulatorfb.gb" />
+                    <element name="p24_3'ha_haavs1" value="emma_parts/p24_3'ha_haavs1.gb" />
+                    <element name="p24_3'pb" value="emma_parts/p24_3'pb.gb" />
+                    <element name="p25_sv40-ori" value="emma_parts/p25_sv40-ori.gb" />
+                    <element name="p2_insulatorfb" value="emma_parts/p2_insulatorfb.gb" />
+                    <element name="p3_cagp" value="emma_parts/p3_cagp.gb" />
+                    <element name="p3_cmvp_tet" value="emma_parts/p3_cmvp_tet.gb" />
+                    <element name="p3_ef1ap" value="emma_parts/p3_ef1ap.gb" />
+                    <element name="p3_tre3gp" value="emma_parts/p3_tre3gp.gb" />
+                    <element name="p4_kt-l7ae -weiss" value="emma_parts/p4_kt-l7ae -weiss.gb" />
+                    <element name="p4_lac-o" value="emma_parts/p4_lac-o.gb" />
+                    <element name="p5_attb-bxb1" value="emma_parts/p5_attb-bxb1.gb" />
+                    <element name="p5_attp-bxb1" value="emma_parts/p5_attp-bxb1.gb" />
+                    <element name="p5_k1-k1" value="emma_parts/p5_k1-k1.gb" />
+                    <element name="p5_kt-weiss" value="emma_parts/p5_kt-weiss.gb" />
+                    <element name="p6_atg_boxc" value="emma_parts/p6_atg_boxc.gb" />
+                    <element name="p6_kozak-atg" value="emma_parts/p6_kozak-atg.gb" />
+                    <element name="p6_nt-igkl sequence" value="emma_parts/p6_nt-igkl sequence.gb" />
+                    <element name="p6_nt-mls" value="emma_parts/p6_nt-mls.gb" />
+                    <element name="p6_nt-myristoylation signal" value="emma_parts/p6_nt-myristoylation signal.gb" />
+                    <element name="p6_nt-palm sequence" value="emma_parts/p6_nt-palm sequence.gb" />
+                    <element name="p6_nt-sv40_nls" value="emma_parts/p6_nt-sv40_nls.gb" />
+                    <element name="p7_bxb1" value="emma_parts/p7_bxb1.gb" />
+                    <element name="p7_l7ae-weiss" value="emma_parts/p7_l7ae-weiss.gb" />
+                    <element name="p7_l7ae" value="emma_parts/p7_l7ae.gb" />
+                    <element name="p7_laci" value="emma_parts/p7_laci.gb" />
+                    <element name="p7_mcherry" value="emma_parts/p7_mcherry.gb" />
+                    <element name="p7_mkate2" value="emma_parts/p7_mkate2.gb" />
+                    <element name="p7_mneogreen" value="emma_parts/p7_mneogreen.gb" />
+                    <element name="p7_mruby2" value="emma_parts/p7_mruby2.gb" />
+                    <element name="p7_mtagbfp2" value="emma_parts/p7_mtagbfp2.gb" />
+                    <element name="p8_linker1" value="emma_parts/p8_linker1.gb" />
+                    <element name="p8_linker2" value="emma_parts/p8_linker2.gb" />
+                    <element name="p8_p2a" value="emma_parts/p8_p2a.gb" />
+                    <element name="p8a_ct-kdel" value="emma_parts/p8a_ct-kdel.gb" />
+                    <element name="p8b_ires2" value="emma_parts/p8b_ires2.gb" />
+                    <element name="p9_a-tubulin" value="emma_parts/p9_a-tubulin.gb" />
+                    <element name="p9_bsdr" value="emma_parts/p9_bsdr.gb" />
+                    <element name="p9_dmrc" value="emma_parts/p9_dmrc.gb" />
+                    <element name="p9_firefly luciferase" value="emma_parts/p9_firefly luciferase.gb" />
+                    <element name="p9_mneogreen" value="emma_parts/p9_mneogreen.gb" />
+                    <element name="p9_mruby2" value="emma_parts/p9_mruby2.gb" />
+                    <element name="p9_mtagbfp2" value="emma_parts/p9_mtagbfp2.gb" />
+                    <element name="p9_neor" value="emma_parts/p9_neor.gb" />
+                    <element name="p9_puror" value="emma_parts/p9_puror.gb" />
+                </collection>
+            </param>
+            <param name="picklist" value="example_picklist.xls" />
+            <param name="source_plate" value="example_echo_plate.xlsx"/>
+            <conditional name='setting'>
+                <param name="mode" value="std" />
+                <param name="quantity_unit" value="fmol" />
+                <param name="part_quantity" value="1.3" />
+                <param name="buffer_volume" value="0.3" />
+                <param name="total_volume" value="1.0" />
+                <param name="dispenser" value="labcyte_echo" />
+            </conditional>
+            <output name="output_zip" ftype='zip'>
+                <assert_contents>
+                    <has_archive_member path=".*" n="5"/>
+                </assert_contents>
+            </output>
+        </test>
+        <!--test demo-->
+        <test> 
+            <param name="genbank_files">
+                <collection type="list">
+                    <element name="HC_Amp_ccdB" value="emma_parts/HC_Amp_ccdB.gb" />
+                    <element name="conn a-c" value="emma_parts/conn a-c.gb" />
+                    <element name="conn b-e" value="emma_parts/conn b-e.gb" />
+                    <element name="conn b-l" value="emma_parts/conn b-l.gb" />
+                    <element name="conn d-e" value="emma_parts/conn d-e.gb" />
+                    <element name="conn d-f" value="emma_parts/conn d-f.gb" />
+                    <element name="conn h-ha" value="emma_parts/conn h-ha.gb" />
+                    <element name="conn h-j" value="emma_parts/conn h-j.gb" />
+                    <element name="conn h-k" value="emma_parts/conn h-k.gb" />
+                    <element name="conn j-k" value="emma_parts/conn j-k.gb" />
+                    <element name="conn l-n" value="emma_parts/conn l-n.gb" />
+                    <element name="conn l-r" value="emma_parts/conn l-r.gb" />
+                    <element name="conn l-w" value="emma_parts/conn l-w.gb" />
+                    <element name="conn l-y" value="emma_parts/conn l-y.gb" />
+                    <element name="conn q-r" value="emma_parts/conn q-r.gb" />
+                    <element name="conn r-w" value="emma_parts/conn r-w.gb" />
+                    <element name="conn t-v" value="emma_parts/conn t-v.gb" />
+                    <element name="conn w-x" value="emma_parts/conn w-x.gb" />
+                    <element name="conn w-y" value="emma_parts/conn w-y.gb" />
+                    <element name="conn w-z" value="emma_parts/conn w-z.gb" />
+                    <element name="conn y-z" value="emma_parts/conn y-z.gb" />
+                    <element name="p10_tet-aptazyme" value="emma_parts/p10_tet-aptazyme.gb" />
+                    <element name="p11_sv40polya" value="emma_parts/p11_sv40polya.gb" />
+                    <element name="p14_cmvp" value="emma_parts/p14_cmvp.gb" />
+                    <element name="p14_sv40p" value="emma_parts/p14_sv40p.gb" />
+                    <element name="p15_puror" value="emma_parts/p15_puror.gb" />
+                    <element name="p16_bghpolya" value="emma_parts/p16_bghpolya.gb" />
+                    <element name="p18_cmvp" value="emma_parts/p18_cmvp.gb" />
+                    <element name="p18_ef1ap" value="emma_parts/p18_ef1ap.gb" />
+                    <element name="p19_mneogreen" value="emma_parts/p19_mneogreen.gb" />
+                    <element name="p19_mruby2" value="emma_parts/p19_mruby2.gb" />
+                    <element name="p19_mtagbfp2" value="emma_parts/p19_mtagbfp2.gb" />
+                    <element name="p19_tet-on-3g" value="emma_parts/p19_tet-on-3g.gb" />
+                    <element name="p1_5'-itr-pb" value="emma_parts/p1_5'-itr-pb.gb" />
+                    <element name="p1_5'ha-haavs1" value="emma_parts/p1_5'ha-haavs1.gb" />
+                    <element name="p20_ct-minute-nes" value="emma_parts/p20_ct-minute-nes.gb" />
+                    <element name="p20_ct-nes" value="emma_parts/p20_ct-nes.gb" />
+                    <element name="p20_linker3" value="emma_parts/p20_linker3.gb" />
+                    <element name="p20_p2a" value="emma_parts/p20_p2a.gb" />
+                    <element name="p21_dmra" value="emma_parts/p21_dmra.gb" />
+                    <element name="p21_mkate2" value="emma_parts/p21_mkate2.gb" />
+                    <element name="p21_mneogreen" value="emma_parts/p21_mneogreen.gb" />
+                    <element name="p21_mruby2" value="emma_parts/p21_mruby2.gb" />
+                    <element name="p21_mtagbfp2" value="emma_parts/p21_mtagbfp2.gb" />
+                    <element name="p21_puror" value="emma_parts/p21_puror.gb" />
+                    <element name="p22_pgkpolya" value="emma_parts/p22_pgkpolya.gb" />
+                    <element name="p23_insulatorfb" value="emma_parts/p23_insulatorfb.gb" />
+                    <element name="p24_3'ha_haavs1" value="emma_parts/p24_3'ha_haavs1.gb" />
+                    <element name="p24_3'pb" value="emma_parts/p24_3'pb.gb" />
+                    <element name="p25_sv40-ori" value="emma_parts/p25_sv40-ori.gb" />
+                    <element name="p2_insulatorfb" value="emma_parts/p2_insulatorfb.gb" />
+                    <element name="p3_cagp" value="emma_parts/p3_cagp.gb" />
+                    <element name="p3_cmvp_tet" value="emma_parts/p3_cmvp_tet.gb" />
+                    <element name="p3_ef1ap" value="emma_parts/p3_ef1ap.gb" />
+                    <element name="p3_tre3gp" value="emma_parts/p3_tre3gp.gb" />
+                    <element name="p4_kt-l7ae -weiss" value="emma_parts/p4_kt-l7ae -weiss.gb" />
+                    <element name="p4_lac-o" value="emma_parts/p4_lac-o.gb" />
+                    <element name="p5_attb-bxb1" value="emma_parts/p5_attb-bxb1.gb" />
+                    <element name="p5_attp-bxb1" value="emma_parts/p5_attp-bxb1.gb" />
+                    <element name="p5_k1-k1" value="emma_parts/p5_k1-k1.gb" />
+                    <element name="p5_kt-weiss" value="emma_parts/p5_kt-weiss.gb" />
+                    <element name="p6_atg_boxc" value="emma_parts/p6_atg_boxc.gb" />
+                    <element name="p6_kozak-atg" value="emma_parts/p6_kozak-atg.gb" />
+                    <element name="p6_nt-igkl sequence" value="emma_parts/p6_nt-igkl sequence.gb" />
+                    <element name="p6_nt-mls" value="emma_parts/p6_nt-mls.gb" />
+                    <element name="p6_nt-myristoylation signal" value="emma_parts/p6_nt-myristoylation signal.gb" />
+                    <element name="p6_nt-palm sequence" value="emma_parts/p6_nt-palm sequence.gb" />
+                    <element name="p6_nt-sv40_nls" value="emma_parts/p6_nt-sv40_nls.gb" />
+                    <element name="p7_bxb1" value="emma_parts/p7_bxb1.gb" />
+                    <element name="p7_l7ae-weiss" value="emma_parts/p7_l7ae-weiss.gb" />
+                    <element name="p7_l7ae" value="emma_parts/p7_l7ae.gb" />
+                    <element name="p7_laci" value="emma_parts/p7_laci.gb" />
+                    <element name="p7_mcherry" value="emma_parts/p7_mcherry.gb" />
+                    <element name="p7_mkate2" value="emma_parts/p7_mkate2.gb" />
+                    <element name="p7_mneogreen" value="emma_parts/p7_mneogreen.gb" />
+                    <element name="p7_mruby2" value="emma_parts/p7_mruby2.gb" />
+                    <element name="p7_mtagbfp2" value="emma_parts/p7_mtagbfp2.gb" />
+                    <element name="p8_linker1" value="emma_parts/p8_linker1.gb" />
+                    <element name="p8_linker2" value="emma_parts/p8_linker2.gb" />
+                    <element name="p8_p2a" value="emma_parts/p8_p2a.gb" />
+                    <element name="p8a_ct-kdel" value="emma_parts/p8a_ct-kdel.gb" />
+                    <element name="p8b_ires2" value="emma_parts/p8b_ires2.gb" />
+                    <element name="p9_a-tubulin" value="emma_parts/p9_a-tubulin.gb" />
+                    <element name="p9_bsdr" value="emma_parts/p9_bsdr.gb" />
+                    <element name="p9_dmrc" value="emma_parts/p9_dmrc.gb" />
+                    <element name="p9_firefly luciferase" value="emma_parts/p9_firefly luciferase.gb" />
+                    <element name="p9_mneogreen" value="emma_parts/p9_mneogreen.gb" />
+                    <element name="p9_mruby2" value="emma_parts/p9_mruby2.gb" />
+                    <element name="p9_mtagbfp2" value="emma_parts/p9_mtagbfp2.gb" />
+                    <element name="p9_neor" value="emma_parts/p9_neor.gb" />
+                    <element name="p9_puror" value="emma_parts/p9_puror.gb" />
+                </collection>
+            </param>
+            <param name="picklist" value="example_picklist.xls" />
+            <param name="source_plate" value="example_echo_plate.xlsx"/>
+            <conditional name='setting'>
+                <param name="mode" value="demo" />
+            </conditional>
+            <output name="output_zip" ftype='zip'>
+                <assert_contents>
+                    <has_archive_member path=".*" n="5"/>
+                </assert_contents>
+            </output>
+        </test>
+    </tests>
+    
+<help><![CDATA[
+create_assembly_picklists
+=========================
+
+Provide a source plate map and an assembly plan, get a robotic picklist spreadsheet for Tecan EVO or Labcyte Echo.
+`Read more... <https://github.com/Edinburgh-Genome-Foundry/Plateo/blob/master/README.rst>`_
+
+**Advanced parameters:**
+------------------------
+
+- **Backbone Name(s):** It can be one backbone or more than one (one name per line).
+- **Backbone Molar Ratio:** Between 0.0 and 1.0. This multiplies the backbone concentration with the part:backbone molar ratio.
+  For example, a part:backbone = 2:1 will multiply the backbone concentration by 2, so half as much of it will be added.
+  **Note:** If the part quantity unit is ng, this calculation is not performed.
+
+**Mode:**
+---------
+
+This option allows you to choose how the tool runs:
+
+- **Standard**: Runs the tool as a standalone application.
+- **DEMO**: Runs the tool with demo data.
+
+Demo data:
+
+- **GenBank File(s):** `Download GenBank files <https://files.osf.io/v1/resources/x2sj3/providers/osfstorage/689496483e21964670f62efc/?zip=>`_
+  
+  **Note:** Make GenBank files as a collection list.  
+  `How to make collection <https://training.galaxyproject.org/training-material/topics/galaxy-interface/tutorials/collections/tutorial.html>`_
+
+- **Assembly Plan (CSV or Excel):** `Download Assembly Plan <https://osf.io/download/6894965a96fb8cc5376b0c92/>`_
+
+- **Source Plate (Excel):** `Download Source Plate <https://osf.io/download/6894965b7d01c1cf281b52d3/>`_
+]]></help>
+
+
+    <citations>
+        <citation type="bibtex">
+            @unpublished{create_assembly_picklists
+                author = {Ramiz Khaled},
+                title = {{create_assembly_picklists}},
+                url = {https://github.com/Edinburgh-Genome-Foundry/CUBA/blob/master/backend/app/views/create_assembly_picklists/CreateAssemblyPicklistsView.py},
+            }
+        </citation>
+    </citations>
+</tool>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/HC_Amp_ccdB.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,109 @@
+LOCUS       Exported                2721 bp ds-DNA     circular SYN 14-SEP-2017
+DEFINITION  synthetic circular DNA.
+ACCESSION   .
+VERSION     .
+KEYWORDS    HC_Amp_ccdB(1-25).gb
+SOURCE      synthetic DNA construct
+  ORGANISM  synthetic DNA construct
+REFERENCE   1  (bases 1 to 2721)
+  AUTHORS   Trial User
+  TITLE     Direct Submission
+  JOURNAL   Exported Sep 14, 2017 from SnapGene Viewer 4.0.2
+            http://www.snapgene.com
+FEATURES             Location/Qualifiers
+     source          1..2721
+                     /organism="synthetic DNA construct"
+                     /mol_type="other DNA"
+     misc_feature    complement(73..78)
+                     /label=BsmBI
+     misc_feature    129..462
+                     /label=*ccdB promoter*
+     exon            463..768
+                     /label=ccdB
+                     /note="ccdB"
+     terminator      809..880
+                     /note="rrnB T1 terminator
+                     transcription terminator T1 from the E. coli rrnB gene"
+     terminator      896..923
+                     /note="T7Te terminator
+                     phage T7 early transcription terminator"
+     misc_feature    930..942
+                     /label=BioBrick suffix
+                     /note="universal suffix for all parts"
+     misc_feature    943..948
+                     /label=BsmBI
+     terminator      1027..1056
+                     /note="T3Te terminator
+                     phage T3 early transcription terminator"
+     rep_origin      1078..1665
+                     /direction=RIGHT
+                     /label=ori
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of 
+                     replication"
+     terminator      1677..1704
+                     /note="T7Te terminator
+                     phage T7 early transcription terminator"
+     CDS             complement(1728..2588)
+                     /codon_start=1
+                     /gene="bla"
+                     /product="beta-lactamase"
+                     /note="AmpR
+                     confers resistance to ampicillin, carbenicillin, and 
+                     related antibiotics"
+                     /translation="MSIQHFRVALIPFFAAFCLPVFAHPETLVKVKDAEDQLGARVGYI
+                     ELDLNSGKILESLRPEERFPMMSTFKVLLCGAVLSRIDAGQEQLGRRIHYSQNDLVEYS
+                     PVTEKHLTDGMTVRELCSAAITMSDNTAANLLLATIGGPKELTAFLHNMGDHVTRLDRW
+                     EPELNEAIPNDERDTTMPVAMATTLRKLLTGELLTLASRQQLIDWMEADKVAGSLLRSA
+                     LPAGWFIADKSGAGERGSRGIIAALGPDGKPSRIVVIYTTGSQATMDERNRQIAEIGAS
+                     LIKHW"
+     promoter        complement(2589..2691)
+                     /note="cat promoter
+                     promoter of the E. coli cat gene"
+ORIGIN
+        1 ctttctgcta tggaggtcag gtatgattta aatggtcagt attgagcgat atctagagaa
+       61 ttcgtcatag gagagacgca atacgcaaac cgcctctccc cgcgcgttgg ccgattcatt
+      121 aatgcaggga tccggcttac taaaagccag ataacagtat gcgtatttgc gcgctgattt
+      181 ttgcggtata agaatatata ctgatatgta tacccgaagt atgtcaaaaa gaggtatgct
+      241 atgaagcagc gtattacagt gacagttgac agcgacagct atcagttgct caaggcatat
+      301 atgatgtcaa tatctccggt ctggtaagca caaccatgca gaatgaagcc cgtcgtctgc
+      361 gtgccgaacg ctggaaagcg gaaaatcagg aagggatggc tgaggtcgcc cggtttattg
+      421 aaatgaacgg ctcttttgct gacgagaaca ggggctggtg aaatgcagtt taaggtttac
+      481 acctataaaa gagagagccg ttatcgtctg tttgtggatg tacagagtga tattattgac
+      541 acgcccgggc gacggatggt gatccccctg gccagtgcac gtctgctgtc agataaagtc
+      601 ccccgtgaac tttacccggt ggtgcatatc ggggatgaaa gctggcgcat gatgaccacc
+      661 gatatggcca gtgtgccggt ctccgttatc ggggaagaag tggctgatct cagccaccgc
+      721 gaaaatgaca tcaaaaacgc cattaacctg atgttctggg gaatataagc tgatagtgct
+      781 agtgtagatc gctactagag ccaggcatca aataaaacga aaggctcagt cgaaagactg
+      841 ggcctttcgt tttatctgtt gtttgtcggt gaacgctctc tactagagtc acactggctc
+      901 accttcgggt gggcctttct gcgtttatat actagtagcg gccgtctcaa cgataacgaa
+      961 ttcaagcttg atatcattca ggacgagcct cagactccag cgtaactgga ctgcaatcaa
+     1021 ctcactggct caccttcacg ggtgggcctt tcttcggtag aaaatcaaag gatcttcttg
+     1081 agatcctttt tttctgcgcg taatctgctg cttgcaaaca aaaaaaccac cgctaccagc
+     1141 ggtggtttgt ttgccggatc aagagctacc aactcttttt ccgaggtaac tggcttcagc
+     1201 agagcgcaga taccaaatac tgttcttcta gtgtagccgt agttaggcca ccacttcaag
+     1261 aactctgtag caccgcctac atacctcgct ctgctaatcc tgttaccagt ggctgctgcc
+     1321 agtggcgata agtcgtgtct taccgggttg gactcaagac gatagttacc ggataaggcg
+     1381 cagcggtcgg gctgaacggg gggttcgtgc acacagccca gcttggagcg aacgacctac
+     1441 accgaactga gatacctaca gcgtgagcta tgagaaagcg ccacgcttcc cgaagggaga
+     1501 aaggcggaca ggtatccggt aagcggcagg gtcggaacag gagagcgcac gagggagctt
+     1561 ccagggggaa acgcctggta tctttatagt cctgtcgggt ttcgccacct ctgacttgag
+     1621 catcgatttt tgtgatgctc gtcagggggg cggagcctat ggaaaaacgc cagcaacgca
+     1681 gaaaggccca cccgaaggtg agccaggtga ttacatttgg gccctcatta ccaatgctta
+     1741 atcagtgagg cacctatctc agcgatctgt ctatttcgtt catccatagt tgcctgactc
+     1801 cccgtcgtgt agataactac gatgcgggag ggcttaccat ctggccccag tgctgcaatg
+     1861 ataccgcgag aaccacgctc accggctcca gatttatcag caataaacca gccagccggg
+     1921 agggccgagc gcagaagtga tcctgcaact ttatccgcct ccatccagtc tattaattgt
+     1981 tgccgggaag ctagagtaag tagttcgcca gttaatagtt tgcgcaacgt tgttgccatt
+     2041 gctacaggca tcgtggtgtc acgctcgtcg tttggtatgg cttcattcag ctccggttcc
+     2101 caacgatcaa ggcgagttac atgatccccc atgttgtgca aaaaagcggt tagctccttc
+     2161 ggtcctccga tcgttgccag aagtaagttg gccgcagtgt tatcactcat ggttatggca
+     2221 gcactgcata attctcttac tgtcatgcca tccgtgagat gcttttctgt gactggtgag
+     2281 tactcaacca agtcattctg agaatagtgt atgcggcgac cgagttgctc ttgcccggcg
+     2341 tcaatacggg ataataccgc gccacatagc agaactttaa aagtgctcat cattggaaaa
+     2401 cgttcttcgg ggcgtaaact ctcaaggatc ttaccgctgt tgagatccag ttcgatgtaa
+     2461 cccactcgtg cacccaactg atcttcagca tcttttactt tcaccagcgt ttctgggtga
+     2521 gcaaaaacag gaaggcaaaa tgccgcaaaa aagggaataa gggcgacacg gaaatgttga
+     2581 atactcattt tagcttcctt agctcctgaa aatctcgata actcaaaaaa tacgcccggt
+     2641 agtgatctta tttcattatg gtgaaagttg gaacctctta cgtgccgatc aagtcaaaag
+     2701 cctccggtcg gaggcttttg a
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn a-c.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn A-C"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga gtccagatag acaggaagaa tcgacagaac atccgacgaa tagaggacca
+     1201 cgggcagcag aagaccatgt ctaaagtgcg agactgaata caagacctac gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn b-e.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1853 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1193)
+                     /note="conn B-E"
+     source          complement(1154..1193)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1199..1204)
+                     /note="BsmBI"
+     terminator      1271..1302
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1303..1405
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1198..1853
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc ggatctctca atctccttct aagtctcttt caccgtagtt agtccatcga
+     1201 gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat acctgacctc
+     1261 catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc acgtaagagg
+     1321 ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg agttatcgag
+     1381 attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt cttgctcgag
+     1441 gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg ctcgcgataa
+     1501 tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg cgccagagtt
+     1561 gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga tggtcaggct
+     1621 aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc gtactcctga
+     1681 tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg tattagaaga
+     1741 atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc gccggttgca
+     1801 ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn b-l.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1853 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1193)
+                     /note="conn B-L"
+     source          complement(1154..1193)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1199..1204)
+                     /note="BsmBI"
+     terminator      1271..1302
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1303..1405
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1198..1853
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg acgtaaatgg gaggcaggta agtggagatt ccaagcgacc agtccatcga
+     1201 gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat acctgacctc
+     1261 catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc acgtaagagg
+     1321 ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg agttatcgag
+     1381 attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt cttgctcgag
+     1441 gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg ctcgcgataa
+     1501 tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg cgccagagtt
+     1561 gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga tggtcaggct
+     1621 aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc gtactcctga
+     1681 tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg tattagaaga
+     1741 atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc gccggttgca
+     1801 ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn d-e.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1855 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1195)
+                     /note="conn D-E"
+     source          complement(1154..1195)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1201..1206)
+                     /note="BsmBI"
+     terminator      1273..1304
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1305..1407
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1200..1855
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc ggatagatcg atctgaatta attctgacgg ttcactaaag gctaagtccc
+     1201 gagacgaaga cgaattctct agatatcgct caatactgac catttaaatc atacctgacc
+     1261 tccatagcag aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga
+     1321 ggttccaact ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg
+     1381 agattttcag gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg
+     1441 aggccgcgat taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat
+     1501 aatgtcgggc aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag
+     1561 ttgtttctga aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg
+     1621 ctaaactggc tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct
+     1681 gatgatgcat ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa
+     1741 gaatatcctg attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg
+     1801 cattcgattc ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn d-f.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1855 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1195)
+                     /note="conn D-F"
+     source          complement(1154..1195)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1201..1206)
+                     /note="BsmBI"
+     terminator      1273..1304
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1305..1407
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1200..1855
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc tggtagatcg atctgaatta attctgacgg ttcactaaag gctaagtccc
+     1201 gagacgaaga cgaattctct agatatcgct caatactgac catttaaatc atacctgacc
+     1261 tccatagcag aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga
+     1321 ggttccaact ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg
+     1381 agattttcag gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg
+     1441 aggccgcgat taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat
+     1501 aatgtcgggc aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag
+     1561 ttgtttctga aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg
+     1621 ctaaactggc tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct
+     1681 gatgatgcat ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa
+     1741 gaatatcctg attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg
+     1801 cattcgattc ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn h-ha.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,80 @@
+LOCUS       .                       1861 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1201)
+                     /note="conn H-Ha"
+     source          complement(1154..1201)
+                     /note="From Exported"
+                     /source="Exported"
+     CDS             complement(1199..1201)
+                     /codon_start=1
+                     /note="STOP"
+                     /translation=""
+     misc_feature    complement(1207..1212)
+                     /note="BsmBI"
+     terminator      1279..1310
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1311..1413
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1206..1861
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg gatcgaggat atcacctgta gggatgttct agagtccgga agctgttatt
+     1201 agcctcgaga cgaagacgaa ttctctagat atcgctcaat actgaccatt taaatcatac
+     1261 ctgacctcca tagcagaaag tcaaaagcct ccgaccggag gcttttgact tgatcggcac
+     1321 gtaagaggtt ccaactttca ccataatgaa ataagatcac taccgggcgt attttttgag
+     1381 ttatcgagat tttcaggagc taaggaagct aaaatgagcc atattcaacg ggaaacgtct
+     1441 tgctcgaggc cgcgattaaa ttccaacatg gatgctgatt tatatgggta taaatgggct
+     1501 cgcgataatg tcgggcaatc aggtgcgaca atctatcgat tgtatgggaa gcccgatgcg
+     1561 ccagagttgt ttctgaaaca tggcaaaggt agcgttgcca atgatgttac agatgagatg
+     1621 gtcaggctaa actggctgac ggaatttatg cctcttccga ccatcaagca ttttatccgt
+     1681 actcctgatg atgcatggtt actcaccact gcgatcccag ggaaaacagc attccaggta
+     1741 ttagaagaat atcctgattc aggtgaaaat attgttgatg cgctggcagt gttcctgcgc
+     1801 cggttgcatt cgattcctgt ttgtaattgt ccttttaacg gcgatcgcgt atttcgtctc
+     1861 g
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn h-j.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,80 @@
+LOCUS       .                       1861 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1201)
+                     /note="conn H-J"
+     source          complement(1154..1201)
+                     /note="From Exported"
+                     /source="Exported"
+     CDS             complement(1199..1201)
+                     /codon_start=1
+                     /note="STOP"
+                     /translation=""
+     misc_feature    complement(1207..1212)
+                     /note="BsmBI"
+     terminator      1279..1310
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1311..1413
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1206..1861
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga gcacgaggat atcacctgta gggatgttct agagtccgga agctgttatt
+     1201 agcctcgaga cgaagacgaa ttctctagat atcgctcaat actgaccatt taaatcatac
+     1261 ctgacctcca tagcagaaag tcaaaagcct ccgaccggag gcttttgact tgatcggcac
+     1321 gtaagaggtt ccaactttca ccataatgaa ataagatcac taccgggcgt attttttgag
+     1381 ttatcgagat tttcaggagc taaggaagct aaaatgagcc atattcaacg ggaaacgtct
+     1441 tgctcgaggc cgcgattaaa ttccaacatg gatgctgatt tatatgggta taaatgggct
+     1501 cgcgataatg tcgggcaatc aggtgcgaca atctatcgat tgtatgggaa gcccgatgcg
+     1561 ccagagttgt ttctgaaaca tggcaaaggt agcgttgcca atgatgttac agatgagatg
+     1621 gtcaggctaa actggctgac ggaatttatg cctcttccga ccatcaagca ttttatccgt
+     1681 actcctgatg atgcatggtt actcaccact gcgatcccag ggaaaacagc attccaggta
+     1741 ttagaagaat atcctgattc aggtgaaaat attgttgatg cgctggcagt gttcctgcgc
+     1801 cggttgcatt cgattcctgt ttgtaattgt ccttttaacg gcgatcgcgt atttcgtctc
+     1861 g
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn h-k.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,80 @@
+LOCUS       .                       1861 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1201)
+                     /note="conn H-K"
+     source          complement(1154..1201)
+                     /note="From Exported"
+                     /source="Exported"
+     CDS             complement(1199..1201)
+                     /codon_start=1
+                     /note="STOP"
+                     /translation=""
+     misc_feature    complement(1207..1212)
+                     /note="BsmBI"
+     terminator      1279..1310
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1311..1413
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1206..1861
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt acccgaggat atcacctgta gggatgttct agagtccgga agctgttatt
+     1201 agcctcgaga cgaagacgaa ttctctagat atcgctcaat actgaccatt taaatcatac
+     1261 ctgacctcca tagcagaaag tcaaaagcct ccgaccggag gcttttgact tgatcggcac
+     1321 gtaagaggtt ccaactttca ccataatgaa ataagatcac taccgggcgt attttttgag
+     1381 ttatcgagat tttcaggagc taaggaagct aaaatgagcc atattcaacg ggaaacgtct
+     1441 tgctcgaggc cgcgattaaa ttccaacatg gatgctgatt tatatgggta taaatgggct
+     1501 cgcgataatg tcgggcaatc aggtgcgaca atctatcgat tgtatgggaa gcccgatgcg
+     1561 ccagagttgt ttctgaaaca tggcaaaggt agcgttgcca atgatgttac agatgagatg
+     1621 gtcaggctaa actggctgac ggaatttatg cctcttccga ccatcaagca ttttatccgt
+     1681 actcctgatg atgcatggtt actcaccact gcgatcccag ggaaaacagc attccaggta
+     1741 ttagaagaat atcctgattc aggtgaaaat attgttgatg cgctggcagt gttcctgcgc
+     1801 cggttgcatt cgattcctgt ttgtaattgt ccttttaacg gcgatcgcgt atttcgtctc
+     1861 g
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn j-k.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1855 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1195)
+                     /note="conn J-K"
+     source          complement(1154..1195)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1201..1206)
+                     /note="BsmBI"
+     terminator      1273..1304
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1305..1407
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1200..1855
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt accgttcctt cctgtattgt ctccttccgt gtttcagtta gcctcagcac
+     1201 gagacgaaga cgaattctct agatatcgct caatactgac catttaaatc atacctgacc
+     1261 tccatagcag aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga
+     1321 ggttccaact ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg
+     1381 agattttcag gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg
+     1441 aggccgcgat taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat
+     1501 aatgtcgggc aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag
+     1561 ttgtttctga aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg
+     1621 ctaaactggc tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct
+     1681 gatgatgcat ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa
+     1741 gaatatcctg attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg
+     1801 cattcgattc ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn l-n.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn L-N"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg tagcctcctc ctatcctcat cacttcaacc ggatctactc tacaaccttc
+     1201 cctatccact tcctccacat gctctccacc aacatcctca tcatagacgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn l-r.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn L-R"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga ccgcctcctc ctatcctcat cacttcaacc ggatctactc tacaaccttc
+     1201 cctatccact tcctccacat gctctccacc aacatcctca tcatagacgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn l-w.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn L-W"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt tcgcctcctc ctatcctcat cacttcaacc ggatctactc tacaaccttc
+     1201 cctatccact tcctccacat gctctccacc aacatcctca tcatagacgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn l-y.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn L-Y"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agtcctcctc ctatcctcat cacttcaacc ggatctactc tacaaccttc
+     1201 cctatccact tcctccacat gctctccacc aacatcctca tcatagacgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn q-r.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn Q-R"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga ccggcttgtt ctgggctagg tgttgaggtt cgattaccac taacgtctga
+     1201 gggaaagttg ttgactggac ttgcatgttg atggtggatt atgtcgagcc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn r-w.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1853 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1193)
+                     /note="R-W"
+     source          complement(1154..1193)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1199..1204)
+                     /note="BsmBI"
+     terminator      1271..1302
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1303..1405
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1198..1853
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt tcggagctgg tagggacttc ggagggcttt gtagttgggt aggaccgcga
+     1201 gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat acctgacctc
+     1261 catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc acgtaagagg
+     1321 ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg agttatcgag
+     1381 attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt cttgctcgag
+     1441 gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg ctcgcgataa
+     1501 tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg cgccagagtt
+     1561 gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga tggtcaggct
+     1621 aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc gtactcctga
+     1681 tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg tattagaaga
+     1741 atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc gccggttgca
+     1801 ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn t-v.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,79 @@
+LOCUS       .                       1853 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1193)
+                     /note="conn T-V"
+     source          complement(1154..1193)
+                     /note="From Exported"
+                     /source="Exported"
+     CDS             complement(1189..1191)
+                     /codon_start=1
+                     /note="STOP"
+                     /translation=""
+     misc_feature    complement(1199..1204)
+                     /note="BsmBI"
+     terminator      1271..1302
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1303..1405
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1198..1853
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc aacgggagta tgaagaggcg accaggagga gtgaattatt agccgctcga
+     1201 gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat acctgacctc
+     1261 catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc acgtaagagg
+     1321 ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg agttatcgag
+     1381 attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt cttgctcgag
+     1441 gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg ctcgcgataa
+     1501 tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg cgccagagtt
+     1561 gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga tggtcaggct
+     1621 aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc gtactcctga
+     1681 tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg tattagaaga
+     1741 atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc gccggttgca
+     1801 ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn w-x.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn W-X"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc gtgcagatag acaggaagaa tcgacagaac atccgacgaa tagaggacca
+     1201 cgggcagcag aagaccatgt ctaaagtgcg agactgaata caagattcgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn w-y.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn W-Y"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agtgggatgt gtgagtttgt tgagtgaatg gtaattgtgg gagtggtgtg
+     1201 ggatttgagg tgtgctggtg tggttgtgac gaggatcaat atgtgttcgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn w-z.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn W-Z"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt cgtgggatgt gtgagtttgt tgagtgaatg gtaattgtgg gagtggtgtg
+     1201 ggatttgagg tgtgctggtg tggttgtgac gaggatcaat atgtgttcgc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/conn y-z.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1905 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1154..1245)
+                     /note="conn Y-Z"
+     source          complement(1154..1245)
+                     /note="From Exported"
+                     /source="Exported"
+     misc_feature    complement(1251..1256)
+                     /note="BsmBI"
+     terminator      1323..1354
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1355..1457
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1250..1905
+                     /note="From Exported"
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt cgtgggatgt gtgagtttgt tgagtgaatg gtaattgtgg gagtggtgtg
+     1201 ggatttgagg tgtgctggtg tggttgtgac gaggatcaat atgtgcagtc gagacgaaga
+     1261 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1321 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1381 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1441 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1501 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1561 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1621 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1681 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1741 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1801 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1861 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p10_tet-aptazyme.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1984 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1185..1312
+                     /note="Tet-Aptazyme"
+     source          1154..1324
+                     /source="Exported"
+     misc_feature    complement(1330..1335)
+                     /note="BsmBI"
+     terminator      1402..1433
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1434..1536
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1329..1984
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt gctagacaat acaggaagga accaaacaaa caaaggcgaa agccggcgcg
+     1201 tcctggattc cacgtacaaa aacataccag atttcgatct ggagaggtga agaatacgac
+     1261 caccttgtac ggtacatcca gctgatgagt cccaaatagg acgaaacgcg ctcaaacaaa
+     1321 caaaggtacg agacgaagac gaattctcta gatatcgctc aatactgacc atttaaatca
+     1381 tacctgacct ccatagcaga aagtcaaaag cctccgaccg gaggcttttg acttgatcgg
+     1441 cacgtaagag gttccaactt tcaccataat gaaataagat cactaccggg cgtatttttt
+     1501 gagttatcga gattttcagg agctaaggaa gctaaaatga gccatattca acgggaaacg
+     1561 tcttgctcga ggccgcgatt aaattccaac atggatgctg atttatatgg gtataaatgg
+     1621 gctcgcgata atgtcgggca atcaggtgcg acaatctatc gattgtatgg gaagcccgat
+     1681 gcgccagagt tgtttctgaa acatggcaaa ggtagcgttg ccaatgatgt tacagatgag
+     1741 atggtcaggc taaactggct gacggaattt atgcctcttc cgaccatcaa gcattttatc
+     1801 cgtactcctg atgatgcatg gttactcacc actgcgatcc cagggaaaac agcattccag
+     1861 gtattagaag aatatcctga ttcaggtgaa aatattgttg atgcgctggc agtgttcctg
+     1921 cgccggttgc attcgattcc tgtttgtaat tgtcctttta acggcgatcg cgtatttcgt
+     1981 ctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p11_sv40polya.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1944 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     misc_feature    1814..1944
+                     /note="SV40 polyA"
+     source          1814..1944
+                     /source="Exported"
+ORIGIN
+        1 cgtccgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg gtaacttgtt tattgcagct tataatggtt acaaataaag caatagcatc
+     1861 acaaatttca caaataaagc atttttttca ctgcattcta gttgtggttt gtccaaactc
+     1921 atcaatgtat cttatcatgt ctgt
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p14_cmvp.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,86 @@
+LOCUS       .                       2356 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1144..1149
+                     /note="BsmBI"
+     source          5..1150
+                     /source="Exported"
+     source          complement(1155..1697)
+                     /source="Exported"
+     promoter        complement(1191..1393)
+                     /note="CMV promoter"
+                     /note="human cytomegalovirus (CMV) immediate early
+                     promoter"
+     enhancer        complement(1394..1696)
+                     /note="CMV enhancer"
+                     /note="human cytomegalovirus immediate early enhancer"
+     misc_feature    complement(1703..1708)
+                     /note="BsmBI"
+     terminator      1774..1805
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1806..1908
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1702..2356
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tttcgtctcg ttgccagatc tcctcggtac cggatccagt cgacgaatta gctctgctta
+     1201 tatagacctc ccaccgtaca cgcctaccgc ccatttgcgt caatggggcg gagttgttac
+     1261 gacattttgg aaagtcccgt tgattttggt gccaaaacaa actcccattg acgtcaatgg
+     1321 ggtggagact tggaaatccc cgtgagtcaa accgctatcc acgcccattg atgtactgcc
+     1381 aaaaccgcat caccatggta atagcgatga ctaatacgta gatgtactgc caagtaggaa
+     1441 agtcccataa ggtcatgtac tgggcataat gccaggcggg ccatttaccg tcattgacgt
+     1501 caataggggg cgtacttggc atatgataca cttgatgtac tgccaagtgg gcagtttacc
+     1561 gtaaatactc cacccattga cgtcaatgga aagtccctat tggcgttact atgggaacat
+     1621 acgtcattat tgacgtcaat gggcgggggt cgttgggcgg tcagccaggc gggccattta
+     1681 ccgtaagtta tgtaacggta gcgagacgtg acgaattctc tagatatcgc tcaatactga
+     1741 ccatttaaat catacctgac ctccatagca gaaagtcaaa agcctccgac cggaggcttt
+     1801 tgacttgatc ggcacgtaag aggttccaac tttcaccata atgaaataag atcactaccg
+     1861 ggcgtatttt ttgagttatc gagattttca ggagctaagg aagctaaaat gagccatatt
+     1921 caacgggaaa cgtcttgctc gaggccgcga ttaaattcca acatggatgc tgatttatat
+     1981 gggtataaat gggctcgcga taatgtcggg caatcaggtg cgacaatcta tcgattgtat
+     2041 gggaagcccg atgcgccaga gttgtttctg aaacatggca aaggtagcgt tgccaatgat
+     2101 gttacagatg agatggtcag gctaaactgg ctgacggaat ttatgcctct tccgaccatc
+     2161 aagcatttta tccgtactcc tgatgatgca tggttactca ccactgcgat cccagggaaa
+     2221 acagcattcc aggtattaga agaatatcct gattcaggtg aaaatattgt tgatgcgctg
+     2281 gcagtgttcc tgcgccggtt gcattcgatt cctgtttgta attgtccttt taacggcgat
+     2341 cgcgtatttc gtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p14_sv40p.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,82 @@
+LOCUS       .                       2193 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1144..1149
+                     /note="BsmBI"
+     source          5..1150
+                     /source="Exported"
+     source          complement(1155..1534)
+                     /source="Exported"
+     promoter        complement(1205..1534)
+                     /note="SV40 promoter"
+                     /note="SV40 enhancer and early promoter"
+     rep_origin      complement(1219..1354)
+                     /note="SV40 ori"
+                     /note="SV40 origin of replication"
+     misc_feature    complement(1540..1545)
+                     /note="BsmBI"
+     terminator      1611..1642
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1643..1745
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1539..2193
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tttcgtctcg ttgccctgtc tcttgatcag atccgaaaat ggatatacaa gctcccggga
+     1201 gctttttgca aaagcctagg cctccaaaaa agcctcctca ctacttctgg aatagctcag
+     1261 aggcagaggc ggcctcggcc tctgcataaa taaaaaaaat tagtcagcca tggggcggag
+     1321 aatgggcgga actgggcgga gttaggggcg ggatgggcgg agttaggggc gggactatgg
+     1381 ttgctgacta attgagatgc atgctttgca tacttctgcc tgctggggag cctggggact
+     1441 ttccacacct ggttgctgac taattgagat gcatgctttg catacttctg cctgctgggg
+     1501 agcctgggga ctttccacac cctaactgac acacgtagcg agacgtgacg aattctctag
+     1561 atatcgctca atactgacca tttaaatcat acctgacctc catagcagaa agtcaaaagc
+     1621 ctccgaccgg aggcttttga cttgatcggc acgtaagagg ttccaacttt caccataatg
+     1681 aaataagatc actaccgggc gtattttttg agttatcgag attttcagga gctaaggaag
+     1741 ctaaaatgag ccatattcaa cgggaaacgt cttgctcgag gccgcgatta aattccaaca
+     1801 tggatgctga tttatatggg tataaatggg ctcgcgataa tgtcgggcaa tcaggtgcga
+     1861 caatctatcg attgtatggg aagcccgatg cgccagagtt gtttctgaaa catggcaaag
+     1921 gtagcgttgc caatgatgtt acagatgaga tggtcaggct aaactggctg acggaattta
+     1981 tgcctcttcc gaccatcaag cattttatcc gtactcctga tgatgcatgg ttactcacca
+     2041 ctgcgatccc agggaaaaca gcattccagg tattagaaga atatcctgat tcaggtgaaa
+     2101 atattgttga tgcgctggca gtgttcctgc gccggttgca ttcgattcct gtttgtaatt
+     2161 gtccttttaa cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p15_puror.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,96 @@
+LOCUS       .                       2424 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1161
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1761
+                     /codon_start=1
+                     /gene="pac from Streptomyces"
+                     /note="PuroR"
+                     /note="confers resistance to puromycin"
+                     /product="puromycin N-acetyltransferase"
+                     /translation="TEYKPTVRLATRDDVPRAVRTLAAAFADYPATRHTVDPDRHIERV
+                     TELQELFLTRVGLDIGKVWVADDGAAVAVWTTPESVEAGAVFAEIGPRMAELSGSRLAA
+                     QQQMEGLLAPHRPKEPAWFLATVGVSPDHQGKGLGSAVVLPGVEAAERAGVPAFLETSA
+                     PRNLPFYERLGFTVTADVECPKDRATWCMTRKPGA"
+     source          1154..1764
+                     /source="Exported"
+     misc_feature    complement(1770..1775)
+                     /note="BsmBI"
+     terminator      1842..1873
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1874..1976
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1769..2424
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg caaccgccac catgaccgag tacaagccca cggtgcgcct cgccacccgc
+     1201 gacgacgtcc ccagggccgt acgcaccctc gccgccgcgt tcgccgacta ccccgccacg
+     1261 cgccacaccg tcgatccgga ccgccacatc gagcgggtca ccgagctgca agaactcttc
+     1321 ctcacgcgcg tcgggctcga catcggcaag gtgtgggtcg cggacgacgg cgccgcggtg
+     1381 gcggtctgga ccacgccgga gagcgtcgaa gcgggggcgg tgttcgccga gatcggcccg
+     1441 cgcatggccg agttgagcgg ttcccggctg gccgcgcagc aacagatgga aggcctcctg
+     1501 gcgccgcacc ggcccaagga gcccgcgtgg ttcctggcca ccgtcggcgt gtcgcccgac
+     1561 caccagggca agggtctggg cagcgccgtc gtgctccccg gagtggaggc ggccgagcgc
+     1621 gccggggtgc ccgccttcct ggaaacctcc gcgccccgca acctcccctt ctacgagcgg
+     1681 ctcggcttca ccgtcaccgc cgacgtcgag tgcccgaagg accgcgcgac ctggtgcatg
+     1741 acccgcaagc ccggtgccta ataaccctcg agacgaagac gaattctcta gatatcgctc
+     1801 aatactgacc atttaaatca tacctgacct ccatagcaga aagtcaaaag cctccgaccg
+     1861 gaggcttttg acttgatcgg cacgtaagag gttccaactt tcaccataat gaaataagat
+     1921 cactaccggg cgtatttttt gagttatcga gattttcagg agctaaggaa gctaaaatga
+     1981 gccatattca acgggaaacg tcttgctcga ggccgcgatt aaattccaac atggatgctg
+     2041 atttatatgg gtataaatgg gctcgcgata atgtcgggca atcaggtgcg acaatctatc
+     2101 gattgtatgg gaagcccgat gcgccagagt tgtttctgaa acatggcaaa ggtagcgttg
+     2161 ccaatgatgt tacagatgag atggtcaggc taaactggct gacggaattt atgcctcttc
+     2221 cgaccatcaa gcattttatc cgtactcctg atgatgcatg gttactcacc actgcgatcc
+     2281 cagggaaaac agcattccag gtattagaag aatatcctga ttcaggtgaa aatattgttg
+     2341 atgcgctggc agtgttcctg cgccggttgc attcgattcc tgtttgtaat tgtcctttta
+     2401 acggcgatcg cgtatttcgt ctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p16_bghpolya.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,77 @@
+LOCUS       .                       2070 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     polyA_signal    1186..1410
+                     /note="bGH poly(A) signal"
+                     /note="bovine growth hormone polyadenylation signal"
+     source          1154..1410
+                     /source="Exported"
+     misc_feature    complement(1416..1421)
+                     /note="BsmBI"
+     terminator      1488..1519
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1520..1622
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1415..2070
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cctctctggg gttcgaaatg accgaccaag cgacgctgtg ccttctagtt
+     1201 gccagccatc tgttgtttgc ccctcccccg tgccttcctt gaccctggaa ggtgccactc
+     1261 ccactgtcct ttcctaataa aatgaggaaa ttgcatcgca ttgtctgagt aggtgtcatt
+     1321 ctattctggg gggtggggtg gggcaggaca gcaaggggga ggattgggaa gacaatagca
+     1381 ggcatgctgg ggatgcggtg ggctctatgg gctccgagac gaagacgaat tctctagata
+     1441 tcgctcaata ctgaccattt aaatcatacc tgacctccat agcagaaagt caaaagcctc
+     1501 cgaccggagg cttttgactt gatcggcacg taagaggttc caactttcac cataatgaaa
+     1561 taagatcact accgggcgta ttttttgagt tatcgagatt ttcaggagct aaggaagcta
+     1621 aaatgagcca tattcaacgg gaaacgtctt gctcgaggcc gcgattaaat tccaacatgg
+     1681 atgctgattt atatgggtat aaatgggctc gcgataatgt cgggcaatca ggtgcgacaa
+     1741 tctatcgatt gtatgggaag cccgatgcgc cagagttgtt tctgaaacat ggcaaaggta
+     1801 gcgttgccaa tgatgttaca gatgagatgg tcaggctaaa ctggctgacg gaatttatgc
+     1861 ctcttccgac catcaagcat tttatccgta ctcctgatga tgcatggtta ctcaccactg
+     1921 cgatcccagg gaaaacagca ttccaggtat tagaagaata tcctgattca ggtgaaaata
+     1981 ttgttgatgc gctggcagtg ttcctgcgcc ggttgcattc gattcctgtt tgtaattgtc
+     2041 cttttaacgg cgatcgcgta tttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p18_cmvp.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,86 @@
+LOCUS       .                       2356 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     enhancer        1155..1457
+                     /note="CMV enhancer"
+                     /note="human cytomegalovirus immediate early enhancer"
+     promoter        1458..1660
+                     /note="CMV promoter"
+                     /note="human cytomegalovirus (CMV) immediate early
+                     promoter"
+     source          1154..1696
+                     /source="Exported"
+     misc_feature    complement(1702..1707)
+                     /note="BsmBI"
+     terminator      1774..1805
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1806..1908
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1701..2356
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc ggtcgttaca taacttacgg taaatggccc gcctggctga ccgcccaacg
+     1201 acccccgccc attgacgtca ataatgacgt atgttcccat agtaacgcca atagggactt
+     1261 tccattgacg tcaatgggtg gagtatttac ggtaaactgc ccacttggca gtacatcaag
+     1321 tgtatcatat gccaagtacg ccccctattg acgtcaatga cggtaaatgg cccgcctggc
+     1381 attatgccca gtacatgacc ttatgggact ttcctacttg gcagtacatc tacgtattag
+     1441 tcatcgctat taccatggtg atgcggtttt ggcagtacat caatgggcgt ggatagcggt
+     1501 ttgactcacg gggatttcca agtctccacc ccattgacgt caatgggagt ttgttttggc
+     1561 accaaaatca acgggacttt ccaaaatgtc gtaacaactc cgccccattg acgcaaatgg
+     1621 gcggtaggcg tgtacggtgg gaggtctata taagcagagc taattcgtcg actggatccg
+     1681 gtaccgagga gatctggtgc cgagacgaag acgaattctc tagatatcgc tcaatactga
+     1741 ccatttaaat catacctgac ctccatagca gaaagtcaaa agcctccgac cggaggcttt
+     1801 tgacttgatc ggcacgtaag aggttccaac tttcaccata atgaaataag atcactaccg
+     1861 ggcgtatttt ttgagttatc gagattttca ggagctaagg aagctaaaat gagccatatt
+     1921 caacgggaaa cgtcttgctc gaggccgcga ttaaattcca acatggatgc tgatttatat
+     1981 gggtataaat gggctcgcga taatgtcggg caatcaggtg cgacaatcta tcgattgtat
+     2041 gggaagcccg atgcgccaga gttgtttctg aaacatggca aaggtagcgt tgccaatgat
+     2101 gttacagatg agatggtcag gctaaactgg ctgacggaat ttatgcctct tccgaccatc
+     2161 aagcatttta tccgtactcc tgatgatgca tggttactca ccactgcgat cccagggaaa
+     2221 acagcattcc aggtattaga agaatatcct gattcaggtg aaaatattgt tgatgcgctg
+     2281 gcagtgttcc tgcgccggtt gcattcgatt cctgtttgta attgtccttt taacggcgat
+     2341 cgcgtatttc gtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p18_ef1ap.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,98 @@
+LOCUS       .                       3037 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     promoter        5..1183
+                     /note="EF-1-alpha promoter"
+                     /note="strong constitutive promoter for human elongation
+                     factor EF-1-alpha"
+     intron          236..1174
+                     /note="EF-1-alpha intron A"
+                     /note="intron upstream of the start codon of human
+                     EF-1-alpha"
+     source          5..1228
+                     /source="Exported"
+     misc_feature    complement(1234..1239)
+                     /note="BsmBI"
+     terminator      1306..1337
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1338..1440
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1233..1888
+                     /source="Exported"
+     terminator      2280..2307
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(2319..2906)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      2928..2957
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    3031..3036
+                     /note="BsmBI"
+     source          1893..3037
+                     /source="Exported"
+ORIGIN
+        1 cggtggctcc ggtgcccgtc agtgggcaga gcgcacatcg cccacagtcc ccgagaagtt
+       61 ggggggaggg gtcggcaatt gaaccggtgc ctagagaagg tggcgcgggg taaactggga
+      121 aagtgatgtc gtgtactggc tccgcctttt tcccgagggt gggggagaac cgtatataag
+      181 tgcagtagtc gccgtgaacg ttctttttcg caacgggttt gccgccagaa cacaggtaag
+      241 tgccgtgtgt ggttcccgcg ggcctggcct ctttacgggt tatggccctt gcgtgccttg
+      301 aattacttcc acctggctgc agtacgtgat tcttgatccc gagcttcggg ttggaagtgg
+      361 gtgggagagt tcgaggcctt gcgcttaagg agccccttcg cctcgtgctt gagttgaggc
+      421 ctggcctggg cgctggggcc gccgcgtgcg aatctggtgg caccttcgcg cctgtctcgc
+      481 tgctttcgat aagtctctag ccatttaaaa tttttgatga cctgctgcga cgcttttttt
+      541 ctggcaagat agtcttgtaa atgcgggcca agatctgcac actggtattt cggtttttgg
+      601 ggccgcgggc ggcgacgggg cccgtgcgtc ccagcgcaca tgttcggcga ggcggggcct
+      661 gcgagcgcgg ccaccgagaa tcggacgggg gtagtctcaa gctggccggc ctgctctggt
+      721 gcctggcctc gcgccgccgt gtatcgcccc gccctgggcg gcaaggctgg cccggtcggc
+      781 accagttgcg tgagcggaaa gatggccgct tcccggccct gctgcaggga gctcaaaatg
+      841 gaggacgcgg cgctcgggag agcgggcggg tgagtcaccc acacaaagga aaagggcctt
+      901 tccgtcctca gccgtcgctt catgtgactc cacggagtac cgggcgccgt ccaggcacct
+      961 cgattagttc tcgagctttt ggagtacgtc gtctttaggt tggggggagg ggttttatgc
+     1021 gatggagttt ccccacactg agtgggtgga gactgaagtt aggccagctt ggcacttgat
+     1081 gtaattctcc ttggaatttg ccctttttga gtttggatct tggttcattc tcaagcctca
+     1141 gacagtggtt caaagttttt ttcttccatt tcaggtgtcg tgacgctagc gctaccggac
+     1201 tcagatctcg agctcaagct tcgaattcgt gccgagacga agacgaattc tctagatatc
+     1261 gctcaatact gaccatttaa atcatacctg acctccatag cagaaagtca aaagcctccg
+     1321 accggaggct tttgacttga tcggcacgta agaggttcca actttcacca taatgaaata
+     1381 agatcactac cgggcgtatt ttttgagtta tcgagatttt caggagctaa ggaagctaaa
+     1441 atgagccata ttcaacggga aacgtcttgc tcgaggccgc gattaaattc caacatggat
+     1501 gctgatttat atgggtataa atgggctcgc gataatgtcg ggcaatcagg tgcgacaatc
+     1561 tatcgattgt atgggaagcc cgatgcgcca gagttgtttc tgaaacatgg caaaggtagc
+     1621 gttgccaatg atgttacaga tgagatggtc aggctaaact ggctgacgga atttatgcct
+     1681 cttccgacca tcaagcattt tatccgtact cctgatgatg catggttact caccactgcg
+     1741 atcccaggga aaacagcatt ccaggtatta gaagaatatc ctgattcagg tgaaaatatt
+     1801 gttgatgcgc tggcagtgtt cctgcgccgg ttgcattcga ttcctgtttg taattgtcct
+     1861 tttaacggcg atcgcgtatt tcgtctcgct caggcgcaat cacgaatgaa taacggtttg
+     1921 gttggtgcga gtgattttga tgacgagcgt aatggctggc ctgttgaaca agtctggaaa
+     1981 gaaatgcata agcttttgcc attctcaccg gattcagtcg tcactcatgg tgatttctca
+     2041 cttgataacc ttatttttga cgaggggaaa ttaataggtt gtattgatgt tggacgagtc
+     2101 ggaatcgcag accgatacca ggatcttgcc atcctatgga actgcctcgg tgagttttct
+     2161 ccttcattac agaaacggct ttttcaaaaa tatggtattg ataatcctga tatgaataaa
+     2221 ttgcagtttc acttgatgct cgatgagttt ttctaatgag ggcccaaatg taatcacctg
+     2281 gctcaccttc gggtgggcct ttctgcgttg ctggcgtttt tccataggct ccgcccccct
+     2341 gacgagcatc acaaaaatcg atgctcaagt cagaggtggc gaaacccgac aggactataa
+     2401 agataccagg cgtttccccc tggaagctcc ctcgtgcgct ctcctgttcc gaccctgccg
+     2461 cttaccggat acctgtccgc ctttctccct tcgggaagcg tggcgctttc tcatagctca
+     2521 cgctgtaggt atctcagttc ggtgtaggtc gttcgctcca agctgggctg tgtgcacgaa
+     2581 ccccccgttc agcccgaccg ctgcgcctta tccggtaact atcgtcttga gtccaacccg
+     2641 gtaagacacg acttatcgcc actggcagca gccactggta acaggattag cagagcgagg
+     2701 tatgtaggcg gtgctacaga gttcttgaag tggtggccta actacggcta cactagaaga
+     2761 acagtatttg gtatctgcgc tctgctgaag ccagttacct cggaaaaaga gttggtagct
+     2821 cttgatccgg caaacaaacc accgctggta gcggtggttt ttttgtttgc aagcagcaga
+     2881 ttacgcgcag aaaaaaagga tctcaagaag atcctttgat tttctaccga agaaaggccc
+     2941 acccgtgaag gtgagccagt gagttgattg cagtccagtt acgctggagt ctgaggctcg
+     3001 tcctgaatga tatcaagctt gaattcgtta cgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p19_mneogreen.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,98 @@
+LOCUS       .                       2529 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1164
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1869
+                     /codon_start=1
+                     /note="mNeonGreen"
+                     /product="bright monomeric yellow-green fluorescent protein
+                     derived from LanYFP (Shaner et al., 2013)"
+                     /translation="VSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEE
+                     LNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDGMSPFQAAMVDGSGYQVHRTMQFEDG
+                     ASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIIST
+                     FKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQK
+                     AFTDVMGMDELYK"
+     source          1154..1869
+                     /source="Exported"
+     misc_feature    complement(1875..1880)
+                     /note="BsmBI"
+     terminator      1947..1978
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1979..2081
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1874..2529
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg tgcccgccac catggtgagc aagggcgagg aggataacat ggcctctctc
+     1201 ccagcgacac atgagttaca catctttggc tccatcaacg gtgtggactt tgacatggtg
+     1261 ggtcagggca ccggcaatcc aaatgatggt tatgaggagt taaacctgaa gtccaccaag
+     1321 ggtgacctcc agttctcccc ctggattctg gtccctcata tcgggtatgg cttccatcag
+     1381 tacctgccct accctgacgg gatgtcgcct ttccaggccg ccatggtaga tggctccgga
+     1441 taccaagtcc atcgcacaat gcagtttgaa gatggtgcct cccttactgt taactaccgc
+     1501 tacacctacg agggaagcca catcaaagga gaggcccagg tgaaggggac tggtttccct
+     1561 gctgacggtc ctgtgatgac caactcgctg accgctgcgg actggtgcag gtcgaagaag
+     1621 acttacccca acgacaaaac catcatcagt acctttaagt ggagttacac cactggaaat
+     1681 ggcaagcgct accggagcac tgcgcggacc acctacacct ttgccaagcc aatggcggct
+     1741 aactatctga agaaccagcc gatgtacgtg ttccgtaaga cggagctcaa gcactccaag
+     1801 accgagctca acttcaagga gtggcaaaag gcctttaccg atgtgatggg catggacgag
+     1861 ctgtacaaga gcgcgagacg aagacgaatt ctctagatat cgctcaatac tgaccattta
+     1921 aatcatacct gacctccata gcagaaagtc aaaagcctcc gaccggaggc ttttgacttg
+     1981 atcggcacgt aagaggttcc aactttcacc ataatgaaat aagatcacta ccgggcgtat
+     2041 tttttgagtt atcgagattt tcaggagcta aggaagctaa aatgagccat attcaacggg
+     2101 aaacgtcttg ctcgaggccg cgattaaatt ccaacatgga tgctgattta tatgggtata
+     2161 aatgggctcg cgataatgtc gggcaatcag gtgcgacaat ctatcgattg tatgggaagc
+     2221 ccgatgcgcc agagttgttt ctgaaacatg gcaaaggtag cgttgccaat gatgttacag
+     2281 atgagatggt caggctaaac tggctgacgg aatttatgcc tcttccgacc atcaagcatt
+     2341 ttatccgtac tcctgatgat gcatggttac tcaccactgc gatcccaggg aaaacagcat
+     2401 tccaggtatt agaagaatat cctgattcag gtgaaaatat tgttgatgcg ctggcagtgt
+     2461 tcctgcgccg gttgcattcg attcctgttt gtaattgtcc ttttaacggc gatcgcgtat
+     2521 ttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p19_mruby2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,99 @@
+LOCUS       .                       2532 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1164
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1872
+                     /codon_start=1
+                     /note="mRuby2"
+                     /product="monomeric red fluorescent protein derived from
+                     mRuby, with improved photophysical properties (Lam et al.,
+                     2012)"
+                     /translation="VSKGEELIKENMRMKVVMEGSVNGHQFKCTGEGEGNPYMGTQTMR
+                     IKVIEGGPLPFAFDILATSFMYGSRTFIKYPKGIPDFFKQSFPEGFTWERVTRYEDGGV
+                     VTVMQDTSLEDGCLVYHVQVRGVNFPSNGPVMQKKTKGWEPNTEMMYPADGGLRGYTHM
+                     ALKVDGGGHLSCSFVTTYRSKKTVGNIKMPGIHAVDHRLERLEESDNEMFVVQREHAVA
+                     KFAGLGGGMDELYK"
+     source          1154..1872
+                     /source="Exported"
+     misc_feature    complement(1878..1883)
+                     /note="BsmBI"
+     terminator      1950..1981
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1982..2084
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1877..2532
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg tgcccgccac catggtgtct aagggcgaag agctgatcaa ggaaaatatg
+     1201 cgtatgaagg tggtcatgga aggttcggtc aacggccacc aattcaaatg cacaggtgaa
+     1261 ggagaaggca atccgtacat gggaactcaa accatgagga tcaaagtcat cgagggagga
+     1321 cccctgccat ttgcctttga cattcttgcc acgtcgttca tgtatggcag ccgtactttt
+     1381 atcaagtacc cgaaaggcat tcctgatttc tttaaacagt cctttcctga gggttttact
+     1441 tgggaaagag ttacgagata cgaagatggt ggagtcgtca ccgtcatgca ggacaccagc
+     1501 cttgaggatg gctgtctcgt ttaccacgtc caagtcagag gggtaaactt tccctccaat
+     1561 ggtcccgtga tgcagaagaa gaccaagggt tgggagccta atacagagat gatgtatcca
+     1621 gcagatggtg gtctgagggg atacactcat atggcactga aagttgatgg tggtggccat
+     1681 ctgtcttgct ctttcgtaac aacttacagg tcaaaaaaga ccgtcgggaa catcaagatg
+     1741 cccggtatcc atgccgttga tcaccgcctg gaaaggttag aggaaagtga caatgaaatg
+     1801 ttcgtagtac aacgcgaaca cgcagttgcc aagttcgccg ggcttggtgg tgggatggac
+     1861 gagctgtaca agagcgcgag acgaagacga attctctaga tatcgctcaa tactgaccat
+     1921 ttaaatcata cctgacctcc atagcagaaa gtcaaaagcc tccgaccgga ggcttttgac
+     1981 ttgatcggca cgtaagaggt tccaactttc accataatga aataagatca ctaccgggcg
+     2041 tattttttga gttatcgaga ttttcaggag ctaaggaagc taaaatgagc catattcaac
+     2101 gggaaacgtc ttgctcgagg ccgcgattaa attccaacat ggatgctgat ttatatgggt
+     2161 ataaatgggc tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga
+     2221 agcccgatgc gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta
+     2281 cagatgagat ggtcaggcta aactggctga cggaatttat gcctcttccg accatcaagc
+     2341 attttatccg tactcctgat gatgcatggt tactcaccac tgcgatccca gggaaaacag
+     2401 cattccaggt attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag
+     2461 tgttcctgcg ccggttgcat tcgattcctg tttgtaattg tccttttaac ggcgatcgcg
+     2521 tatttcgtct cg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p19_mtagbfp2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,99 @@
+LOCUS       .                       2532 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1164
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1872
+                     /codon_start=1
+                     /note="mTagBFP2"
+                     /note="mammalian codon-optimized"
+                     /product="enhanced monomeric blue fluorescent protein
+                     (Subach et al., 2011)"
+                     /translation="VSKGEELIKENMHMKLYMEGTVDNHHFKCTSEGEGKPYEGTQTMR
+                     IKVVEGGPLPFAFDILATSFLYGSKTFINHTQGIPDFFKQSFPEGFTWERVTTYEDGGV
+                     LTATQDTSLQDGCLIYNVKIRGVNFTSNGPVMQKKTLGWEAFTETLYPADGGLEGRNDM
+                     ALKLVGGSHLIANAKTTYRSKKPAKNLKMPGVYYVDYRLERIKEANNETYVEQHEVAVA
+                     RYCDLPSKLGHKLN"
+     source          1154..1872
+                     /source="Exported"
+     misc_feature    complement(1878..1883)
+                     /note="BsmBI"
+     terminator      1950..1981
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1982..2084
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1877..2532
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg tgcccgccac catggtgtct aagggcgaag agctgattaa ggagaacatg
+     1201 cacatgaagc tgtacatgga gggcaccgtg gacaaccatc acttcaagtg cacatccgag
+     1261 ggcgaaggca agccctacga gggcacccag accatgagaa tcaaggtggt cgagggcggc
+     1321 cctctcccct tcgccttcga catcctggct actagcttcc tctacggcag caagaccttc
+     1381 atcaaccaca cccagggcat ccccgacttc ttcaagcagt ccttccctga gggcttcaca
+     1441 tgggagagag tcaccacata cgaagacggg ggcgtgctga ccgctaccca ggacaccagc
+     1501 ctccaggacg gctgcctcat ctacaacgtc aagatcagag gggtgaactt cacatccaac
+     1561 ggccctgtga tgcagaagaa aacactcggc tgggaggcct tcaccgaaac gctgtacccc
+     1621 gctgacggcg gcctggaagg cagaaacgac atggccctga agctcgtggg cgggagccat
+     1681 ctgatcgcaa acgccaagac cacatataga tccaagaaac ccgctaagaa cctcaagatg
+     1741 cctggcgtct actatgtgga ctacagactg gaaagaatca aggaggccaa caacgaaacc
+     1801 tacgtcgagc agcacgaggt ggcagtggcc agatactgcg acctccctag caaactgggg
+     1861 cacaagctta atagcgcgag acgaagacga attctctaga tatcgctcaa tactgaccat
+     1921 ttaaatcata cctgacctcc atagcagaaa gtcaaaagcc tccgaccgga ggcttttgac
+     1981 ttgatcggca cgtaagaggt tccaactttc accataatga aataagatca ctaccgggcg
+     2041 tattttttga gttatcgaga ttttcaggag ctaaggaagc taaaatgagc catattcaac
+     2101 gggaaacgtc ttgctcgagg ccgcgattaa attccaacat ggatgctgat ttatatgggt
+     2161 ataaatgggc tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga
+     2221 agcccgatgc gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta
+     2281 cagatgagat ggtcaggcta aactggctga cggaatttat gcctcttccg accatcaagc
+     2341 attttatccg tactcctgat gatgcatggt tactcaccac tgcgatccca gggaaaacag
+     2401 cattccaggt attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag
+     2461 tgttcctgcg ccggttgcat tcgattcctg tttgtaattg tccttttaac ggcgatcgcg
+     2521 tatttcgtct cg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p19_tet-on-3g.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,95 @@
+LOCUS       .                       2574 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1161
+                     /note="Kozak"
+     CDS             1162..1908
+                     /codon_start=1
+                     /note="Tet-On(R) 3G"
+                     /product="modified rtTA protein that binds tightly to
+                     promoters containing the tet operator in the presence of
+                     doxycycline"
+                     /translation="MSRLDKSKVINSALELLNGVGIEGLTTRKLAQKLGVEQPTLYWHV
+                     KNKRALLDALPIEMLDRHHTHSCPLEGESWQDFLRNNAKSYRCALLSHRDGAKVHLGTR
+                     PTEKQYETLENQLAFLCQQGFSLENALYALSAVGHFTLGCVLEEQEHQVAKEERETPTT
+                     DSMPPLLKQAIELFDRQGAEPAFLFGLELIICGLEKQLKCESGGPTDALDDFDLDMLPA
+                     DALDDFDLDMLPADALDDFDLDMLPGS"
+     source          1154..1914
+                     /source="Exported"
+     misc_feature    complement(1920..1925)
+                     /note="BsmBI"
+     terminator      1992..2023
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        2024..2126
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1919..2574
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg tgcccgccac catgtctaga ctggacaaga gcaaagtcat aaactctgct
+     1201 ctggaattac tcaatggagt cggtatcgaa ggcctgacga caaggaaact cgctcaaaag
+     1261 ctgggagttg agcagcctac cctgtactgg cacgtgaaga acaagcgggc cctgctcgat
+     1321 gccctgccaa tcgagatgct ggacaggcat catacccact cctgccccct ggaaggcgag
+     1381 tcatggcaag actttctgcg gaacaacgcc aagtcatacc gctgtgctct cctctcacat
+     1441 cgcgacgggg ctaaagtgca tctcggcacc cgcccaacag agaaacagta cgaaaccctg
+     1501 gaaaatcagc tcgcgttcct gtgtcagcaa ggcttctccc tggagaacgc actgtacgct
+     1561 ctgtccgccg tgggccactt tacactgggc tgcgtattgg aggaacagga gcatcaagta
+     1621 gcaaaagagg aaagagagac acctaccacc gattctatgc ccccacttct gaaacaagca
+     1681 attgagctgt tcgaccggca gggagccgaa cctgccttcc ttttcggcct ggaactaatc
+     1741 atatgtggcc tggagaaaca gctaaagtgc gaaagcggcg ggccgaccga cgcccttgac
+     1801 gattttgact tagacatgct cccagccgat gcccttgacg actttgacct tgatatgctg
+     1861 cctgctgacg ctcttgacga ttttgacctt gacatgctcc ccgggtcact aagtagcgcg
+     1921 agacgaagac gaattctcta gatatcgctc aatactgacc atttaaatca tacctgacct
+     1981 ccatagcaga aagtcaaaag cctccgaccg gaggcttttg acttgatcgg cacgtaagag
+     2041 gttccaactt tcaccataat gaaataagat cactaccggg cgtatttttt gagttatcga
+     2101 gattttcagg agctaaggaa gctaaaatga gccatattca acgggaaacg tcttgctcga
+     2161 ggccgcgatt aaattccaac atggatgctg atttatatgg gtataaatgg gctcgcgata
+     2221 atgtcgggca atcaggtgcg acaatctatc gattgtatgg gaagcccgat gcgccagagt
+     2281 tgtttctgaa acatggcaaa ggtagcgttg ccaatgatgt tacagatgag atggtcaggc
+     2341 taaactggct gacggaattt atgcctcttc cgaccatcaa gcattttatc cgtactcctg
+     2401 atgatgcatg gttactcacc actgcgatcc cagggaaaac agcattccag gtattagaag
+     2461 aatatcctga ttcaggtgaa aatattgttg atgcgctggc agtgttcctg cgccggttgc
+     2521 attcgattcc tgtttgtaat tgtcctttta acggcgatcg cgtatttcgt ctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p1_5'-itr-pb.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,78 @@
+LOCUS       .                       2163 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    complement(1174..1483)
+                     /note="5'-ITR-PB"
+     source          1154..1503
+                     /source="Exported"
+     misc_feature    complement(1509..1514)
+                     /note="BsmBI"
+     terminator      1581..1612
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1613..1715
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1508..2163
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt aggactatcc taacgtccac ttcttaaccc tagaaagata gtctgcgtaa
+     1201 aattgacgca tgcattcttg aaatattgct ctctctttct aaatagcgcg aatccgtcgc
+     1261 tgtgcattta ggacatctca gtcgccgctt ggagctcccg tgaggcgtgc ttgtcaatgc
+     1321 ggtaagtgtc actgattttg aactataacg accgcgtgag tcaaaatgac gcatgattat
+     1381 cttttacgtg acttttaaga tttaactcat acgataatta tattgttatt tcatgttcta
+     1441 cttacgtgat aacttattat atatatattt tcttgttata gatcaggtgg atgaaagcgt
+     1501 gtaatggcga gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat
+     1561 acctgacctc catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc
+     1621 acgtaagagg ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg
+     1681 agttatcgag attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt
+     1741 cttgctcgag gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg
+     1801 ctcgcgataa tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg
+     1861 cgccagagtt gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga
+     1921 tggtcaggct aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc
+     1981 gtactcctga tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg
+     2041 tattagaaga atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc
+     2101 gccggttgca ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc
+     2161 tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p1_5'ha-haavs1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,87 @@
+LOCUS       .                       2723 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..2063
+                     /note="AVVS1-5'HA"
+     source          1154..2063
+                     /source="Exported"
+     misc_feature    complement(2069..2074)
+                     /note="BsmBI"
+     terminator      2141..2172
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        2173..2275
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          2068..2723
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt agggcacctc tccatcctct tgctttcttt gcctggacac cccgttctcc
+     1201 tgtggattcg ggtcacctct cactcctttc atttgggcag ctcccctacc ccccttacct
+     1261 ctctagtctg tgctagctct tccagccccc tgtcatggca tcttccaggg gtccgagagc
+     1321 tcagctagtc ttcttcctcc aacccgggcc cctatgtcca cttcaggaca gcatgtttgc
+     1381 tgcctccagg gatcctgtgt ccccgagctg ggaccacctt atattcccag ggccggttaa
+     1441 tgtggctctg gttctgggta cttttatctg tcccctccac cccacagtgg ggccactagg
+     1501 gacaggattg gtgacagaaa agccccatcc ttaggcctcc tccttcctag tctcctgata
+     1561 ttgggtctaa cccccacctc ctgttaggca gattccttat ctggtgacac acccccattt
+     1621 cctggagcca tctctctcct tgccagaacc tctaaggttt gcttacgatg gagccagaga
+     1681 ggatcctggg agggagagct tggcaggggg tgggagggaa gggggggatg cgtgacctgc
+     1741 ccggttctca gtggccaccc tgcgctaccc tctcccagaa cctgagctgc tctgacgcgg
+     1801 ctgtctggtg cgtttcactg atcctggtgc tgcagcttcc ttacacttcc caagaggaga
+     1861 agcagtttgg aaaaacaaaa tcagaataag ttggtcctga gttctaactt tggctcttca
+     1921 cctttctagt ccccaattta tattgttcct ccgtgcgtca gttttacctg tgagataagg
+     1981 ccagtagcca gccccgtcct ggcagggctg tggtgaggag gggggtgtcc gtgtggaaaa
+     2041 ctccctttgt gagaatggtg cgtatggcga gacgaagacg aattctctag atatcgctca
+     2101 atactgacca tttaaatcat acctgacctc catagcagaa agtcaaaagc ctccgaccgg
+     2161 aggcttttga cttgatcggc acgtaagagg ttccaacttt caccataatg aaataagatc
+     2221 actaccgggc gtattttttg agttatcgag attttcagga gctaaggaag ctaaaatgag
+     2281 ccatattcaa cgggaaacgt cttgctcgag gccgcgatta aattccaaca tggatgctga
+     2341 tttatatggg tataaatggg ctcgcgataa tgtcgggcaa tcaggtgcga caatctatcg
+     2401 attgtatggg aagcccgatg cgccagagtt gtttctgaaa catggcaaag gtagcgttgc
+     2461 caatgatgtt acagatgaga tggtcaggct aaactggctg acggaattta tgcctcttcc
+     2521 gaccatcaag cattttatcc gtactcctga tgatgcatgg ttactcacca ctgcgatccc
+     2581 agggaaaaca gcattccagg tattagaaga atatcctgat tcaggtgaaa atattgttga
+     2641 tgcgctggca gtgttcctgc gccggttgca ttcgattcct gtttgtaatt gtccttttaa
+     2701 cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p20_ct-minute-nes.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1848 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1156..1188
+                     /codon_start=1
+                     /note="minute NES"
+                     /translation="MTKKFGTLTI"
+     source          1154..1188
+                     /source="Exported"
+     misc_feature    complement(1194..1199)
+                     /note="BsmBI"
+     terminator      1266..1297
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1298..1400
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1193..1848
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga gcggaatgac caagaagttc ggcaccctga ccatctaatg gacgagacga
+     1201 agacgaattc tctagatatc gctcaatact gaccatttaa atcatacctg acctccatag
+     1261 cagaaagtca aaagcctccg accggaggct tttgacttga tcggcacgta agaggttcca
+     1321 actttcacca taatgaaata agatcactac cgggcgtatt ttttgagtta tcgagatttt
+     1381 caggagctaa ggaagctaaa atgagccata ttcaacggga aacgtcttgc tcgaggccgc
+     1441 gattaaattc caacatggat gctgatttat atgggtataa atgggctcgc gataatgtcg
+     1501 ggcaatcagg tgcgacaatc tatcgattgt atgggaagcc cgatgcgcca gagttgtttc
+     1561 tgaaacatgg caaaggtagc gttgccaatg atgttacaga tgagatggtc aggctaaact
+     1621 ggctgacgga atttatgcct cttccgacca tcaagcattt tatccgtact cctgatgatg
+     1681 catggttact caccactgcg atcccaggga aaacagcatt ccaggtatta gaagaatatc
+     1741 ctgattcagg tgaaaatatt gttgatgcgc tggcagtgtt cctgcgccgg ttgcattcga
+     1801 ttcctgtttg taattgtcct tttaacggcg atcgcgtatt tcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p20_ct-nes.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1857 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1156..1197
+                     /codon_start=1
+                     /note="NES"
+                     /translation="ALALKLAGLDIGG"
+     source          1154..1197
+                     /source="Exported"
+     misc_feature    complement(1203..1208)
+                     /note="BsmBI"
+     terminator      1275..1306
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1307..1409
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1202..1857
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga gcggagccct ggccctgaag ctggccggac tggacatcgg aggctaatgg
+     1201 acgagacgaa gacgaattct ctagatatcg ctcaatactg accatttaaa tcatacctga
+     1261 cctccatagc agaaagtcaa aagcctccga ccggaggctt ttgacttgat cggcacgtaa
+     1321 gaggttccaa ctttcaccat aatgaaataa gatcactacc gggcgtattt tttgagttat
+     1381 cgagattttc aggagctaag gaagctaaaa tgagccatat tcaacgggaa acgtcttgct
+     1441 cgaggccgcg attaaattcc aacatggatg ctgatttata tgggtataaa tgggctcgcg
+     1501 ataatgtcgg gcaatcaggt gcgacaatct atcgattgta tgggaagccc gatgcgccag
+     1561 agttgtttct gaaacatggc aaaggtagcg ttgccaatga tgttacagat gagatggtca
+     1621 ggctaaactg gctgacggaa tttatgcctc ttccgaccat caagcatttt atccgtactc
+     1681 ctgatgatgc atggttactc accactgcga tcccagggaa aacagcattc caggtattag
+     1741 aagaatatcc tgattcaggt gaaaatattg ttgatgcgct ggcagtgttc ctgcgccggt
+     1801 tgcattcgat tcctgtttgt aattgtcctt ttaacggcga tcgcgtattt cgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p20_linker3.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1850 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1156..1188
+                     /codon_start=1
+                     /note="Linker 3"
+                     /translation="GGGSGGGGSAS"
+     source          1154..1190
+                     /source="Exported"
+     misc_feature    complement(1196..1201)
+                     /note="BsmBI"
+     terminator      1268..1299
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1300..1402
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1195..1850
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga gcggaggcgg aggaagcggc ggaggaggct cagccagcgc tggacgagac
+     1201 gaagacgaat tctctagata tcgctcaata ctgaccattt aaatcatacc tgacctccat
+     1261 agcagaaagt caaaagcctc cgaccggagg cttttgactt gatcggcacg taagaggttc
+     1321 caactttcac cataatgaaa taagatcact accgggcgta ttttttgagt tatcgagatt
+     1381 ttcaggagct aaggaagcta aaatgagcca tattcaacgg gaaacgtctt gctcgaggcc
+     1441 gcgattaaat tccaacatgg atgctgattt atatgggtat aaatgggctc gcgataatgt
+     1501 cgggcaatca ggtgcgacaa tctatcgatt gtatgggaag cccgatgcgc cagagttgtt
+     1561 tctgaaacat ggcaaaggta gcgttgccaa tgatgttaca gatgagatgg tcaggctaaa
+     1621 ctggctgacg gaatttatgc ctcttccgac catcaagcat tttatccgta ctcctgatga
+     1681 tgcatggtta ctcaccactg cgatcccagg gaaaacagca ttccaggtat tagaagaata
+     1741 tcctgattca ggtgaaaata ttgttgatgc gctggcagtg ttcctgcgcc ggttgcattc
+     1801 gattcctgtt tgtaattgtc cttttaacgg cgatcgcgta tttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p20_p2a.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,80 @@
+LOCUS       .                       1874 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1156..1212
+                     /codon_start=1
+                     /note="P2A-Porcine teschovirus-1"
+                     /note="Eukaryotic ribosomes fail to insert a peptide bond
+                     between the Gly and Pro residues, yielding separate
+                     polypeptides."
+                     /product="2A peptide from porcine teschovirus-1
+                     polyprotein"
+                     /translation="ATNFSLLKQAGDVEENPGP"
+     source          1154..1214
+                     /source="Exported"
+     misc_feature    complement(1220..1225)
+                     /note="BsmBI"
+     terminator      1292..1323
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1324..1426
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1219..1874
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga gcggcgctac taacttcagc ctgctgaagc aggctggcga cgtggaggag
+     1201 aaccctggac cttctggacg agacgaagac gaattctcta gatatcgctc aatactgacc
+     1261 atttaaatca tacctgacct ccatagcaga aagtcaaaag cctccgaccg gaggcttttg
+     1321 acttgatcgg cacgtaagag gttccaactt tcaccataat gaaataagat cactaccggg
+     1381 cgtatttttt gagttatcga gattttcagg agctaaggaa gctaaaatga gccatattca
+     1441 acgggaaacg tcttgctcga ggccgcgatt aaattccaac atggatgctg atttatatgg
+     1501 gtataaatgg gctcgcgata atgtcgggca atcaggtgcg acaatctatc gattgtatgg
+     1561 gaagcccgat gcgccagagt tgtttctgaa acatggcaaa ggtagcgttg ccaatgatgt
+     1621 tacagatgag atggtcaggc taaactggct gacggaattt atgcctcttc cgaccatcaa
+     1681 gcattttatc cgtactcctg atgatgcatg gttactcacc actgcgatcc cagggaaaac
+     1741 agcattccag gtattagaag aatatcctga ttcaggtgaa aatattgttg atgcgctggc
+     1801 agtgttcctg cgccggttgc attcgattcc tgtttgtaat tgtcctttta acggcgatcg
+     1861 cgtatttcgt ctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p21_dmra.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,82 @@
+LOCUS       .                       2140 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..2134
+                     /codon_start=1
+                     /note="FKBP (DmrA)"
+                     /product="human FK506-binding protein FKBP12"
+                     /translation="GVQVETISPGDGRTFPKRGQTCVVHYTGMLEDGKKFDSSRDRNKP
+                     FKFMLGKQEVIRGWEEGVAQMSVGQRAKLTISPDYAYGATGHPGIIPPHATLVFDVELL
+                     KLE"
+     source          1814..2140
+                     /source="Exported"
+ORIGIN
+        1 gttgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgt ggaggagtgc aggtggaaac catctcccca ggcgacgggc gcaccttccc
+     1861 caagcgcggc cagacctgcg tggtgcacta caccgggatg cttgaagatg gaaagaaatt
+     1921 tgattcctcc cgggacagaa acaagccctt taagtttatg ctaggcaagc aggaggtgat
+     1981 ccgaggctgg gaagaagggg ttgcccagat gagtgtgggt cagagagcca aactgactat
+     2041 atctccagat tatgcctatg gtgccactgg gcacccaggc atcatcccac cacatgccac
+     2101 tctcgtcttc gatgtggagc ttctaaaact ggaataataa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p21_mkate2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,90 @@
+LOCUS       .                       2509 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..2506
+                     /codon_start=1
+                     /gene="mKate2"
+                     /note="mKate2"
+                     /translation="VSELIKENMHMKLYMEGTVNNHHFKCTSEGEGKPYEGTQTMRIKA
+                     VEGGPLPFAFDILATSFMYGSKTFINHTQGIPDFFKQSFPEGFTWERVTTYEDGGVLTA
+                     TQDTSLQDGCLIYNVKIRGVNFPSNGPVMQKKTLGWEASTETLYPADGGLEGRADMALK
+                     LVGGGHLICNLKTTYRSKKPAKNLKMPGVYYVDRRLERIKEADKETYVEQHEVAVARYC
+                     DLPSKLGHR"
+     source          1814..2509
+                     /source="Exported"
+ORIGIN
+        1 gttgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgt ggagtgagcg agctgattaa ggagaacatg cacatgaagc tgtacatgga
+     1861 gggcaccgtg aacaaccacc acttcaagtg cacatccgag ggcgaaggca agccctacga
+     1921 gggcacccag accatgagaa tcaaggcggt cgagggcggc cctctcccct tcgccttcga
+     1981 catcctggct accagcttca tgtacggcag caaaaccttc atcaaccaca cccagggcat
+     2041 ccccgacttc tttaagcagt ccttccccga gggcttcaca tgggagagag tcaccacata
+     2101 cgaagacggg ggcgtgctga ccgctaccca ggacaccagc ctccaggacg gctgcctcat
+     2161 ctacaacgtc aagatcagag gggtgaactt cccatccaac ggccctgtga tgcagaagaa
+     2221 aacactcggc tgggaggcct ccaccgaaac cctgtacccc gctgacggcg gcctggaagg
+     2281 cagagccgac atggccctga agctcgtggg cgggggccac ctgatctgca acttgaagac
+     2341 cacatacaga tccaagaaac ccgctaagaa cctcaagatg cccggcgtct actatgtgga
+     2401 cagaagactg gaaagaatca aggaggccga caaagaaacc tacgtcgagc agcacgaggt
+     2461 ggctgtggcc agatactgcg acctccctag caaactgggg cacagataa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p21_mneogreen.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,92 @@
+LOCUS       .                       2521 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..2518
+                     /codon_start=1
+                     /note="mNeonGreen"
+                     /product="bright monomeric yellow-green fluorescent protein
+                     derived from LanYFP (Shaner et al., 2013)"
+                     /translation="VSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEE
+                     LNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDGMSPFQAAMVDGSGYQVHRTMQFEDG
+                     ASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIIST
+                     FKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQK
+                     AFTDVMGMDELYK"
+     source          1814..2521
+                     /source="Exported"
+ORIGIN
+        1 gttgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgt ggagtgagca agggcgagga ggataacatg gcctctctcc cagcgacaca
+     1861 tgagttacac atctttggct ccatcaacgg tgtggacttt gacatggtgg gtcagggcac
+     1921 cggcaatcca aatgatggtt atgaggagtt aaacctgaag tccaccaagg gtgacctcca
+     1981 gttctccccc tggattctgg tccctcatat cgggtatggc ttccatcagt acctgcccta
+     2041 ccctgacggg atgtcgcctt tccaggccgc catggtagat ggctccggat accaagtcca
+     2101 tcgcacaatg cagtttgaag atggtgcctc ccttactgtt aactaccgct acacctacga
+     2161 gggaagccac atcaaaggag aggcccaggt gaaggggact ggtttccctg ctgacggtcc
+     2221 tgtgatgacc aactcgctga ccgctgcgga ctggtgcagg tcgaagaaga cttaccccaa
+     2281 cgacaaaacc atcatcagta cctttaagtg gagttacacc actggaaatg gcaagcgcta
+     2341 ccggagcact gcgcggacca cctacacctt tgccaagcca atggcggcta actatctgaa
+     2401 gaaccagccg atgtacgtgt tccgtaagac ggagctcaag cactccaaga ccgagctcaa
+     2461 cttcaaggag tggcaaaagg cctttaccga tgtgatgggc atggacgagc tgtacaagta
+     2521 a
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p21_mruby2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,93 @@
+LOCUS       .                       2524 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..2521
+                     /codon_start=1
+                     /note="mRuby2"
+                     /product="monomeric red fluorescent protein derived from
+                     mRuby, with improved photophysical properties (Lam et al.,
+                     2012)"
+                     /translation="VSKGEELIKENMRMKVVMEGSVNGHQFKCTGEGEGNPYMGTQTMR
+                     IKVIEGGPLPFAFDILATSFMYGSRTFIKYPKGIPDFFKQSFPEGFTWERVTRYEDGGV
+                     VTVMQDTSLEDGCLVYHVQVRGVNFPSNGPVMQKKTKGWEPNTEMMYPADGGLRGYTHM
+                     ALKVDGGGHLSCSFVTTYRSKKTVGNIKMPGIHAVDHRLERLEESDNEMFVVQREHAVA
+                     KFAGLGGGMDELYK"
+     source          1814..2524
+                     /source="Exported"
+ORIGIN
+        1 gttgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgt ggagtgtcta agggcgaaga gctgatcaag gaaaatatgc gtatgaaggt
+     1861 ggtcatggaa ggttcggtca acggccacca attcaaatgc acaggtgaag gagaaggcaa
+     1921 tccgtacatg ggaactcaaa ccatgaggat caaagtcatc gagggaggac ccctgccatt
+     1981 tgcctttgac attcttgcca cgtcgttcat gtatggcagc cgtactttta tcaagtaccc
+     2041 gaaaggcatt cctgatttct ttaaacagtc ctttcctgag ggttttactt gggaaagagt
+     2101 tacgagatac gaagatggtg gagtcgtcac cgtcatgcag gacaccagcc ttgaggatgg
+     2161 ctgtctcgtt taccacgtcc aagtcagagg ggtaaacttt ccctccaatg gtcccgtgat
+     2221 gcagaagaag accaagggtt gggagcctaa tacagagatg atgtatccag cagatggtgg
+     2281 tctgagggga tacactcata tggcactgaa agttgatggt ggtggccatc tgtcttgctc
+     2341 tttcgtaaca acttacaggt caaaaaagac cgtcgggaac atcaagatgc ccggtatcca
+     2401 tgccgttgat caccgcctgg aaaggttaga ggaaagtgac aatgaaatgt tcgtagtaca
+     2461 acgcgaacac gcagttgcca agttcgccgg gcttggtggt gggatggacg agctgtacaa
+     2521 gtaa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p21_mtagbfp2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,93 @@
+LOCUS       .                       2524 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..2521
+                     /codon_start=1
+                     /note="mTagBFP2"
+                     /note="mammalian codon-optimized"
+                     /product="enhanced monomeric blue fluorescent protein
+                     (Subach et al., 2011)"
+                     /translation="VSKGEELIKENMHMKLYMEGTVDNHHFKCTSEGEGKPYEGTQTMR
+                     IKVVEGGPLPFAFDILATSFLYGSKTFINHTQGIPDFFKQSFPEGFTWERVTTYEDGGV
+                     LTATQDTSLQDGCLIYNVKIRGVNFTSNGPVMQKKTLGWEAFTETLYPADGGLEGRNDM
+                     ALKLVGGSHLIANAKTTYRSKKPAKNLKMPGVYYVDYRLERIKEANNETYVEQHEVAVA
+                     RYCDLPSKLGHKLN"
+     source          1814..2524
+                     /source="Exported"
+ORIGIN
+        1 gttgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgt ggagtgtcta agggcgaaga gctgattaag gagaacatgc acatgaagct
+     1861 gtacatggag ggcaccgtgg acaaccatca cttcaagtgc acatccgagg gcgaaggcaa
+     1921 gccctacgag ggcacccaga ccatgagaat caaggtggtc gagggcggcc ctctcccctt
+     1981 cgccttcgac atcctggcta ctagcttcct ctacggcagc aagaccttca tcaaccacac
+     2041 ccagggcatc cccgacttct tcaagcagtc cttccctgag ggcttcacat gggagagagt
+     2101 caccacatac gaagacgggg gcgtgctgac cgctacccag gacaccagcc tccaggacgg
+     2161 ctgcctcatc tacaacgtca agatcagagg ggtgaacttc acatccaacg gccctgtgat
+     2221 gcagaagaaa acactcggct gggaggcctt caccgaaacg ctgtaccccg ctgacggcgg
+     2281 cctggaaggc agaaacgaca tggccctgaa gctcgtgggc gggagccatc tgatcgcaaa
+     2341 cgccaagacc acatatagat ccaagaaacc cgctaagaac ctcaagatgc ctggcgtcta
+     2401 ctatgtggac tacagactgg aaagaatcaa ggaggccaac aacgaaacct acgtcgagca
+     2461 gcacgaggtg gcagtggcca gatactgcga cctccctagc aaactggggc acaagcttaa
+     2521 ttaa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p21_puror.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,90 @@
+LOCUS       .                       2413 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..2410
+                     /codon_start=1
+                     /gene="pac from Streptomyces"
+                     /note="PuroR"
+                     /note="confers resistance to puromycin"
+                     /product="puromycin N-acetyltransferase"
+                     /translation="TEYKPTVRLATRDDVPRAVRTLAAAFADYPATRHTVDPDRHIERV
+                     TELQELFLTRVGLDIGKVWVADDGAAVAVWTTPESVEAGAVFAEIGPRMAELSGSRLAA
+                     QQQMEGLLAPHRPKEPAWFLATVGVSPDHQGKGLGSAVVLPGVEAAERAGVPAFLETSA
+                     PRNLPFYERLGFTVTADVECPKDRATWCMTRKPGA"
+     source          1814..2413
+                     /source="Exported"
+ORIGIN
+        1 gttgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgt ggaaccgagt acaagcccac ggtgcgcctc gccacccgcg acgacgtccc
+     1861 cagggccgta cgcaccctcg ccgccgcgtt cgccgactac cccgccacgc gccacaccgt
+     1921 cgatccggac cgccacatcg agcgggtcac cgagctgcaa gaactcttcc tcacgcgcgt
+     1981 cgggctcgac atcggcaagg tgtgggtcgc ggacgacggc gccgcggtgg cggtctggac
+     2041 cacgccggag agcgtcgaag cgggggcggt gttcgccgag atcggcccgc gcatggccga
+     2101 gttgagcggt tcccggctgg ccgcgcagca acagatggaa ggcctcctgg cgccgcaccg
+     2161 gcccaaggag cccgcgtggt tcctggccac cgtcggcgtg tcgcccgacc accagggcaa
+     2221 gggtctgggc agcgccgtcg tgctccccgg agtggaggcg gccgagcgcg ccggggtgcc
+     2281 cgccttcctg gaaacctccg cgccccgcaa cctccccttc tacgagcggc tcggcttcac
+     2341 cgtcaccgcc gacgtcgagt gcccgaagga ccgcgcgacc tggtgcatga cccgcaagcc
+     2401 cggtgcctaa taa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p22_pgkpolya.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       2042 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     polyA_signal    1837..2042
+                     /note="PGK-polyA"
+     source          1814..2042
+                     /source="Exported"
+ORIGIN
+        1 cgaacgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg ttgccttgag catctgactt ctggctaaat tgatgatcta ttaaacaata
+     1861 aagatgtcca catggaagtt ttttcctgtc atactttgtt aagaagggtg agaacagagt
+     1921 acctacattt tgaatggaag gattggagct acgggggtgg gggtggggtg ggattagata
+     1981 aatgcctgct ctttactgaa ggctctttac tattgcttta tgataatgtt tcatagttgg
+     2041 at
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p23_insulatorfb.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1954 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     misc_feature    1814..1954
+                     /note="Insulator FB-pos23"
+     source          1814..1954
+                     /source="Exported"
+ORIGIN
+        1 cacgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgc gaaggccgcg aattctgaaa gaccccacct gtaggtttgg caagcccagg
+     1861 gatgtacgtc cctaacccgc tagggggcag caactagtcc caggcctgca ctgccgcctg
+     1921 ccggcagggg tccagtcgct agcgcatgcc tgca
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p24_3'ha_haavs1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,82 @@
+LOCUS       .                       2446 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     misc_feature    1814..2446
+                     /note="3'-HA_hAAVS1"
+     source          1814..2446
+                     /source="Exported"
+ORIGIN
+        1 actgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgc acgccgcctc tactcccttt ctctttctcc atccttcttt ccttaaagag
+     1861 tccccagtgc tatctgggac atattcctcc gcccagagca gggtcccgct tccctaaggc
+     1921 cctgctctgg gcttctgggt ttgagtcctt ggcaagccca ggagaggcgc tcaggcttcc
+     1981 ctgtccccct tcctcgtcca ccatctcatg cccctggctc tcctgcccct tccctacagg
+     2041 ggttcctggc tctgctcttc agactgagcc ccgttcccct gcatccccgt tcccctgcat
+     2101 cccccttccc ctgcatcccc cagaggcccc aggccaccta cttggcctgg accccacgag
+     2161 aggccacccc agccctgtct accaggctgc cttttgggtg gattctcctc caactgtggg
+     2221 gtgactgctt ggcaaactca ctcttcgggg tatcccagga ggcctggagc attggggtgg
+     2281 gctggggttc agagaggagg gattcccttc tcaggttacg tggccaagaa gcaggggagc
+     2341 tgggtttggg tcaggtctgg gtgtggggtg accagcttat gctgtttgcc caggacagcc
+     2401 tagttttagc actgaaaccc tcagtctaat ggttacaaat aaagca
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p24_3'pb.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       2060 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     misc_feature    complement(1834..2039)
+                     /note="Piggy 3'"
+     source          1814..2060
+                     /source="Exported"
+ORIGIN
+        1 actgcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgc acgtgcatcc acgatctagt cactttgtta ctttatagaa gaaattttga
+     1861 gtttttgttt ttttttaata aataaataaa cataaataaa ttgtttgttg aatttattat
+     1921 tagtatgtaa gtgtaaatat aataaaactt aatatctatt caaattaata aataaacgtc
+     1981 aattttacgc atgattatct ttaacgtacg tcacaatatg attatctttc tagggttaac
+     2041 tactcaccct cgagcataac
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p25_sv40-ori.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1949 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     rep_origin      1814..1949
+                     /note="SV40-ORI"
+                     /note="SV40 origin of replication"
+     source          1814..1949
+                     /source="Exported"
+ORIGIN
+        1 acgacgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcga ctgatcccgc ccctaactcc gcccagttcc gcccattctc cgccccatgg
+     1861 ctgactaatt ttttttattt atgcagaggc cgaggccgcc tctgcctctg agctattcca
+     1921 gaagtagtga ggaggctttt ttggaggcc
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p2_insulatorfb.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1954 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1294
+                     /note="Insulator FB"
+     source          1154..1294
+                     /source="Exported"
+     misc_feature    complement(1300..1305)
+                     /note="BsmBI"
+     terminator      1372..1403
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1404..1506
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1299..1954
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga tggggccgcg aattctgaaa gaccccacct gtaggtttgg caagcccagg
+     1201 gatgtacgtc cctaacccgc tagggggcag caactagtcc caggcctgca ctgccgcctg
+     1261 ccggcagggg tccagtcgct agcgcatgcc tgcagactcg agacgaagac gaattctcta
+     1321 gatatcgctc aatactgacc atttaaatca tacctgacct ccatagcaga aagtcaaaag
+     1381 cctccgaccg gaggcttttg acttgatcgg cacgtaagag gttccaactt tcaccataat
+     1441 gaaataagat cactaccggg cgtatttttt gagttatcga gattttcagg agctaaggaa
+     1501 gctaaaatga gccatattca acgggaaacg tcttgctcga ggccgcgatt aaattccaac
+     1561 atggatgctg atttatatgg gtataaatgg gctcgcgata atgtcgggca atcaggtgcg
+     1621 acaatctatc gattgtatgg gaagcccgat gcgccagagt tgtttctgaa acatggcaaa
+     1681 ggtagcgttg ccaatgatgt tacagatgag atggtcaggc taaactggct gacggaattt
+     1741 atgcctcttc cgaccatcaa gcattttatc cgtactcctg atgatgcatg gttactcacc
+     1801 actgcgatcc cagggaaaac agcattccag gtattagaag aatatcctga ttcaggtgaa
+     1861 aatattgttg atgcgctggc agtgttcctg cgccggttgc attcgattcc tgtttgtaat
+     1921 tgtcctttta acggcgatcg cgtatttcgt ctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p3_cagp.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,86 @@
+LOCUS       .                       2503 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     enhancer        1172..1551
+                     /note="CMV enhancer"
+                     /note="human cytomegalovirus immediate early enhancer"
+     promoter        1553..1828
+                     /note="chicken beta-actin promoter"
+     source          1154..1843
+                     /source="Exported"
+     misc_feature    complement(1849..1854)
+                     /note="BsmBI"
+     terminator      1921..1952
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1953..2055
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1848..2503
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg actggatctg atatcatcgt cgacattgat tattgactag ttattaatag
+     1201 taatcaatta cggggtcatt agttcatagc ccatatatgg agttccgcgt tacataactt
+     1261 acggtaaatg gcccgcctgg ctgaccgccc aacgaccccc gcccattgac gtcaataatg
+     1321 acgtatgttc ccatagtaac gccaataggg actttccatt gacgtcaatg ggtggactat
+     1381 ttacggtaaa ctgcccactt ggcagtacat caagtgtatc atatgccaag tacgccccct
+     1441 attgacgtca atgacggtaa atggcccgcc tggcattatg cccagtacat gaccttatgg
+     1501 gactttccta cttggcagta catctacgta ttagtcatcg ctattaccat ggtcgaggtg
+     1561 agccccacgt tctgcttcac tctccccatc tcccccccct ccccaccccc aattttgtat
+     1621 ttatttattt tttaattatt ttgtgcagcg atgggggcgg gggggggggg ggcgcgcgcc
+     1681 aggcggggcg gggcggggcg aggggcgggg cggggcgagg cggagaggtg cggcggcagc
+     1741 caatcagagc ggcgcgctcc gaaagtttcc ttttatggcg aggcggcggc ggcggcggcc
+     1801 ctataaaaag cgaagcgcgc ggcgggcggg agtcgctgcg ttgggaccga gacgaagacg
+     1861 aattctctag atatcgctca atactgacca tttaaatcat acctgacctc catagcagaa
+     1921 agtcaaaagc ctccgaccgg aggcttttga cttgatcggc acgtaagagg ttccaacttt
+     1981 caccataatg aaataagatc actaccgggc gtattttttg agttatcgag attttcagga
+     2041 gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt cttgctcgag gccgcgatta
+     2101 aattccaaca tggatgctga tttatatggg tataaatggg ctcgcgataa tgtcgggcaa
+     2161 tcaggtgcga caatctatcg attgtatggg aagcccgatg cgccagagtt gtttctgaaa
+     2221 catggcaaag gtagcgttgc caatgatgtt acagatgaga tggtcaggct aaactggctg
+     2281 acggaattta tgcctcttcc gaccatcaag cattttatcc gtactcctga tgatgcatgg
+     2341 ttactcacca ctgcgatccc agggaaaaca gcattccagg tattagaaga atatcctgat
+     2401 tcaggtgaaa atattgttga tgcgctggca gtgttcctgc gccggttgca ttcgattcct
+     2461 gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p3_cmvp_tet.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,98 @@
+LOCUS       .                       2440 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     enhancer        1154..1533
+                     /note="CMV enhancer"
+                     /note="human cytomegalovirus immediate early enhancer"
+     promoter        1534..1737
+                     /note="CMV promoter"
+                     /note="human cytomegalovirus (CMV) immediate early
+                     promoter"
+     TATA_signal     1723..1729
+     protein_bind    1739..1757
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1760..1778
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     source          1154..1780
+                     /source="Exported"
+     misc_feature    complement(1786..1791)
+                     /note="BsmBI"
+     terminator      1858..1889
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1890..1992
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1785..2440
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg actgacattg attattgact agttattaat agtaatcaat tacggggtca
+     1201 ttagttcata gcccatatat ggagttccgc gttacataac ttacggtaaa tggcccgcct
+     1261 ggctgaccgc ccaacgaccc ccgcccattg acgtcaataa tgacgtatgt tcccatagta
+     1321 acgccaatag ggactttcca ttgacgtcaa tgggtggagt atttacggta aactgcccac
+     1381 ttggcagtac atcaagtgta tcatatgcca agtacgcccc ctattgacgt caatgacggt
+     1441 aaatggcccg cctggcatta tgcccagtac atgaccttat gggactttcc tacttggcag
+     1501 tacatctacg tattagtcat cgctattacc atggtgatgc ggttttggca gtacatcaat
+     1561 gggcgtggat agcggtttga ctcacgggga tttccaagtc tccaccccat tgacgtcaat
+     1621 gggagtttgt tttggaacca aaatcaacgg gactttccaa aatgtcgtaa caactccgcc
+     1681 ccattgacgc aaatgggcgg taggcgtgta cggtgggagg tctatataag cagagctctc
+     1741 cctatcagtg atagagatct ccctatcagt gatagagatt ggaccgagac gaagacgaat
+     1801 tctctagata tcgctcaata ctgaccattt aaatcatacc tgacctccat agcagaaagt
+     1861 caaaagcctc cgaccggagg cttttgactt gatcggcacg taagaggttc caactttcac
+     1921 cataatgaaa taagatcact accgggcgta ttttttgagt tatcgagatt ttcaggagct
+     1981 aaggaagcta aaatgagcca tattcaacgg gaaacgtctt gctcgaggcc gcgattaaat
+     2041 tccaacatgg atgctgattt atatgggtat aaatgggctc gcgataatgt cgggcaatca
+     2101 ggtgcgacaa tctatcgatt gtatgggaag cccgatgcgc cagagttgtt tctgaaacat
+     2161 ggcaaaggta gcgttgccaa tgatgttaca gatgagatgg tcaggctaaa ctggctgacg
+     2221 gaatttatgc ctcttccgac catcaagcat tttatccgta ctcctgatga tgcatggtta
+     2281 ctcaccactg cgatcccagg gaaaacagca ttccaggtat tagaagaata tcctgattca
+     2341 ggtgaaaata ttgttgatgc gctggcagtg ttcctgcgcc ggttgcattc gattcctgtt
+     2401 tgtaattgtc cttttaacgg cgatcgcgta tttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p3_ef1ap.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,98 @@
+LOCUS       .                       3037 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     promoter        5..1183
+                     /note="EF-1-alpha promoter"
+                     /note="strong constitutive promoter for human elongation
+                     factor EF-1-alpha"
+     intron          236..1174
+                     /note="EF-1-alpha intron A"
+                     /note="intron upstream of the start codon of human
+                     EF-1-alpha"
+     source          5..1228
+                     /source="Exported"
+     misc_feature    complement(1234..1239)
+                     /note="BsmBI"
+     terminator      1306..1337
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1338..1440
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1233..1888
+                     /source="Exported"
+     terminator      2280..2307
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(2319..2906)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      2928..2957
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    3031..3036
+                     /note="BsmBI"
+     source          1893..3037
+                     /source="Exported"
+ORIGIN
+        1 gactggctcc ggtgcccgtc agtgggcaga gcgcacatcg cccacagtcc ccgagaagtt
+       61 ggggggaggg gtcggcaatt gaaccggtgc ctagagaagg tggcgcgggg taaactggga
+      121 aagtgatgtc gtgtactggc tccgcctttt tcccgagggt gggggagaac cgtatataag
+      181 tgcagtagtc gccgtgaacg ttctttttcg caacgggttt gccgccagaa cacaggtaag
+      241 tgccgtgtgt ggttcccgcg ggcctggcct ctttacgggt tatggccctt gcgtgccttg
+      301 aattacttcc acctggctgc agtacgtgat tcttgatccc gagcttcggg ttggaagtgg
+      361 gtgggagagt tcgaggcctt gcgcttaagg agccccttcg cctcgtgctt gagttgaggc
+      421 ctggcctggg cgctggggcc gccgcgtgcg aatctggtgg caccttcgcg cctgtctcgc
+      481 tgctttcgat aagtctctag ccatttaaaa tttttgatga cctgctgcga cgcttttttt
+      541 ctggcaagat agtcttgtaa atgcgggcca agatctgcac actggtattt cggtttttgg
+      601 ggccgcgggc ggcgacgggg cccgtgcgtc ccagcgcaca tgttcggcga ggcggggcct
+      661 gcgagcgcgg ccaccgagaa tcggacgggg gtagtctcaa gctggccggc ctgctctggt
+      721 gcctggcctc gcgccgccgt gtatcgcccc gccctgggcg gcaaggctgg cccggtcggc
+      781 accagttgcg tgagcggaaa gatggccgct tcccggccct gctgcaggga gctcaaaatg
+      841 gaggacgcgg cgctcgggag agcgggcggg tgagtcaccc acacaaagga aaagggcctt
+      901 tccgtcctca gccgtcgctt catgtgactc cacggagtac cgggcgccgt ccaggcacct
+      961 cgattagttc tcgagctttt ggagtacgtc gtctttaggt tggggggagg ggttttatgc
+     1021 gatggagttt ccccacactg agtgggtgga gactgaagtt aggccagctt ggcacttgat
+     1081 gtaattctcc ttggaatttg ccctttttga gtttggatct tggttcattc tcaagcctca
+     1141 gacagtggtt caaagttttt ttcttccatt tcaggtgtcg tgacgctagc gctaccggac
+     1201 tcagatctcg agctcaagct tcgaattcgg accgagacga agacgaattc tctagatatc
+     1261 gctcaatact gaccatttaa atcatacctg acctccatag cagaaagtca aaagcctccg
+     1321 accggaggct tttgacttga tcggcacgta agaggttcca actttcacca taatgaaata
+     1381 agatcactac cgggcgtatt ttttgagtta tcgagatttt caggagctaa ggaagctaaa
+     1441 atgagccata ttcaacggga aacgtcttgc tcgaggccgc gattaaattc caacatggat
+     1501 gctgatttat atgggtataa atgggctcgc gataatgtcg ggcaatcagg tgcgacaatc
+     1561 tatcgattgt atgggaagcc cgatgcgcca gagttgtttc tgaaacatgg caaaggtagc
+     1621 gttgccaatg atgttacaga tgagatggtc aggctaaact ggctgacgga atttatgcct
+     1681 cttccgacca tcaagcattt tatccgtact cctgatgatg catggttact caccactgcg
+     1741 atcccaggga aaacagcatt ccaggtatta gaagaatatc ctgattcagg tgaaaatatt
+     1801 gttgatgcgc tggcagtgtt cctgcgccgg ttgcattcga ttcctgtttg taattgtcct
+     1861 tttaacggcg atcgcgtatt tcgtctcgct caggcgcaat cacgaatgaa taacggtttg
+     1921 gttggtgcga gtgattttga tgacgagcgt aatggctggc ctgttgaaca agtctggaaa
+     1981 gaaatgcata agcttttgcc attctcaccg gattcagtcg tcactcatgg tgatttctca
+     2041 cttgataacc ttatttttga cgaggggaaa ttaataggtt gtattgatgt tggacgagtc
+     2101 ggaatcgcag accgatacca ggatcttgcc atcctatgga actgcctcgg tgagttttct
+     2161 ccttcattac agaaacggct ttttcaaaaa tatggtattg ataatcctga tatgaataaa
+     2221 ttgcagtttc acttgatgct cgatgagttt ttctaatgag ggcccaaatg taatcacctg
+     2281 gctcaccttc gggtgggcct ttctgcgttg ctggcgtttt tccataggct ccgcccccct
+     2341 gacgagcatc acaaaaatcg atgctcaagt cagaggtggc gaaacccgac aggactataa
+     2401 agataccagg cgtttccccc tggaagctcc ctcgtgcgct ctcctgttcc gaccctgccg
+     2461 cttaccggat acctgtccgc ctttctccct tcgggaagcg tggcgctttc tcatagctca
+     2521 cgctgtaggt atctcagttc ggtgtaggtc gttcgctcca agctgggctg tgtgcacgaa
+     2581 ccccccgttc agcccgaccg ctgcgcctta tccggtaact atcgtcttga gtccaacccg
+     2641 gtaagacacg acttatcgcc actggcagca gccactggta acaggattag cagagcgagg
+     2701 tatgtaggcg gtgctacaga gttcttgaag tggtggccta actacggcta cactagaaga
+     2761 acagtatttg gtatctgcgc tctgctgaag ccagttacct cggaaaaaga gttggtagct
+     2821 cttgatccgg caaacaaacc accgctggta gcggtggttt ttttgtttgc aagcagcaga
+     2881 ttacgcgcag aaaaaaagga tctcaagaag atcctttgat tttctaccga agaaaggccc
+     2941 acccgtgaag gtgagccagt gagttgattg cagtccagtt acgctggagt ctgaggctcg
+     3001 tcctgaatga tatcaagctt gaattcgtta cgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p3_tre3gp.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,115 @@
+LOCUS       .                       2209 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     promoter        1171..1549
+                     /note="TRE3G promoter"
+                     /note="3rd-generation Tet-responsive promoter that can be
+                     activated by binding of Tet-On(R) 3G"
+     protein_bind    1179..1197
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1215..1233
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1251..1269
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1287..1305
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1323..1341
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1359..1377
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     protein_bind    1395..1413
+                     /bound_moiety="tetracycline repressor TetR"
+                     /gene="tetO"
+                     /note="tet operator"
+                     /note="bacterial operator O2 for the tetR and tetA genes"
+     source          1154..1549
+                     /source="Exported"
+     misc_feature    complement(1555..1560)
+                     /note="BsmBI"
+     terminator      1627..1658
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1659..1761
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1554..2209
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg actttatacg aagttatctc gagtttactc cctatcagtg atagagaacg
+     1201 tatgaagagt ttactcccta tcagtgatag agaacgtatg cagactttac tccctatcag
+     1261 tgatagagaa cgtataagga gtttactccc tatcagtgat agagaacgta tgaccagttt
+     1321 actccctatc agtgatagag aacgtatcta cagtttactc cctatcagtg atagagaacg
+     1381 tatatccagt ttactcccta tcagtgatag agaacgtata agctttaggc gtgtacggtg
+     1441 ggcgcctata aaagcagagc tcgtttagtg aaccgtcaga tcgcctggag caattccaca
+     1501 acacttttgt cttataccaa ctttccgtac cacttcctac cctcgtaaag gaccgagacg
+     1561 aagacgaatt ctctagatat cgctcaatac tgaccattta aatcatacct gacctccata
+     1621 gcagaaagtc aaaagcctcc gaccggaggc ttttgacttg atcggcacgt aagaggttcc
+     1681 aactttcacc ataatgaaat aagatcacta ccgggcgtat tttttgagtt atcgagattt
+     1741 tcaggagcta aggaagctaa aatgagccat attcaacggg aaacgtcttg ctcgaggccg
+     1801 cgattaaatt ccaacatgga tgctgattta tatgggtata aatgggctcg cgataatgtc
+     1861 gggcaatcag gtgcgacaat ctatcgattg tatgggaagc ccgatgcgcc agagttgttt
+     1921 ctgaaacatg gcaaaggtag cgttgccaat gatgttacag atgagatggt caggctaaac
+     1981 tggctgacgg aatttatgcc tcttccgacc atcaagcatt ttatccgtac tcctgatgat
+     2041 gcatggttac tcaccactgc gatcccaggg aaaacagcat tccaggtatt agaagaatat
+     2101 cctgattcag gtgaaaatat tgttgatgcg ctggcagtgt tcctgcgccg gttgcattcg
+     2161 attcctgttt gtaattgtcc ttttaacggc gatcgcgtat ttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p4_kt-l7ae -weiss.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,72 @@
+LOCUS       .                       1845 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1156..1182
+                     /note="Kt - L7Ae"
+     source          1154..1185
+                     /source="Exported"
+     misc_feature    complement(1191..1196)
+                     /note="BsmBI"
+     terminator      1263..1294
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1295..1397
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1190..1845
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg gacaaggatc cgtgatcgga aacgtgagat ccagttccgc gagacgaaga
+     1201 cgaattctct agatatcgct caatactgac catttaaatc atacctgacc tccatagcag
+     1261 aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga ggttccaact
+     1321 ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg agattttcag
+     1381 gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg aggccgcgat
+     1441 taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat aatgtcgggc
+     1501 aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag ttgtttctga
+     1561 aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg ctaaactggc
+     1621 tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct gatgatgcat
+     1681 ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa gaatatcctg
+     1741 attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg cattcgattc
+     1801 ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p4_lac-o.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,87 @@
+LOCUS       .                       1909 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     protein_bind    1160..1176
+                     /bound_moiety="lac repressor encoded by lacI"
+                     /note="lac operator"
+                     /note="The lac repressor binds to the lac operator to
+                     inhibit transcription in E. coli. This inhibition can be
+                     relieved by adding lactose or
+                     isopropyl-beta-D-thiogalactopyranoside (IPTG)."
+     protein_bind    1229..1248
+                     /bound_moiety="lac repressor encoded by lacI"
+                     /note="lac operator (symmetric)"
+                     /note="The lac repressor binds to the lac operator to
+                     inhibit transcription in E. coli. This inhibition can be
+                     relieved by adding lactose or
+                     isopropyl-beta-D-thiogalactopyranoside (IPTG). The
+                     symmetric lac operator was optimized for tight binding of
+                     lac repressor."
+     source          1154..1249
+                     /source="Exported"
+     misc_feature    complement(1255..1260)
+                     /note="BsmBI"
+     terminator      1327..1358
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1359..1461
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1254..1909
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgg gacagtcaat tgtgagcgga taacaattcc acagtcgacc ctaggttgtg
+     1201 tcgcgagtgt tggatcccag ctgacaccaa ttgtgagcgc tcacaattct ccgcgagacg
+     1261 aagacgaatt ctctagatat cgctcaatac tgaccattta aatcatacct gacctccata
+     1321 gcagaaagtc aaaagcctcc gaccggaggc ttttgacttg atcggcacgt aagaggttcc
+     1381 aactttcacc ataatgaaat aagatcacta ccgggcgtat tttttgagtt atcgagattt
+     1441 tcaggagcta aggaagctaa aatgagccat attcaacggg aaacgtcttg ctcgaggccg
+     1501 cgattaaatt ccaacatgga tgctgattta tatgggtata aatgggctcg cgataatgtc
+     1561 gggcaatcag gtgcgacaat ctatcgattg tatgggaagc ccgatgcgcc agagttgttt
+     1621 ctgaaacatg gcaaaggtag cgttgccaat gatgttacag atgagatggt caggctaaac
+     1681 tggctgacgg aatttatgcc tcttccgacc atcaagcatt ttatccgtac tcctgatgat
+     1741 gcatggttac tcaccactgc gatcccaggg aaaacagcat tccaggtatt agaagaatat
+     1801 cctgattcag gtgaaaatat tgttgatgcg ctggcagtgt tcctgcgccg gttgcattcg
+     1861 attcctgttt gtaattgtcc ttttaacggc gatcgcgtat ttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p5_attb-bxb1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1855 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1156..1193
+                     /note="attB - BxB1"
+     misc_feature    1157..1170
+                     /note="B"
+     misc_feature    complement(1179..1193)
+                     /note="B'"
+     source          1154..1195
+                     /source="Exported"
+     misc_feature    complement(1201..1206)
+                     /note="BsmBI"
+     terminator      1273..1304
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1305..1407
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1200..1855
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt ccgaaggctt gtcgacgacg gcggtctccg tcgtcaggat catcgccagc
+     1201 gagacgaaga cgaattctct agatatcgct caatactgac catttaaatc atacctgacc
+     1261 tccatagcag aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg gcacgtaaga
+     1321 ggttccaact ttcaccataa tgaaataaga tcactaccgg gcgtattttt tgagttatcg
+     1381 agattttcag gagctaagga agctaaaatg agccatattc aacgggaaac gtcttgctcg
+     1441 aggccgcgat taaattccaa catggatgct gatttatatg ggtataaatg ggctcgcgat
+     1501 aatgtcgggc aatcaggtgc gacaatctat cgattgtatg ggaagcccga tgcgccagag
+     1561 ttgtttctga aacatggcaa aggtagcgtt gccaatgatg ttacagatga gatggtcagg
+     1621 ctaaactggc tgacggaatt tatgcctctt ccgaccatca agcattttat ccgtactcct
+     1681 gatgatgcat ggttactcac cactgcgatc ccagggaaaa cagcattcca ggtattagaa
+     1741 gaatatcctg attcaggtga aaatattgtt gatgcgctgg cagtgttcct gcgccggttg
+     1801 cattcgattc ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p5_attp-bxb1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,77 @@
+LOCUS       .                       1869 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1156..1207
+                     /note="attP - BxB1"
+     misc_feature    1158..1176
+                     /note="P"
+     misc_feature    complement(1186..1205)
+                     /note="P'"
+     source          1154..1209
+                     /source="Exported"
+     misc_feature    complement(1215..1220)
+                     /note="BsmBI"
+     terminator      1287..1318
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1319..1421
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1214..1869
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt ccgctgtggt ttgtctggtc aaccaccgcg gtctcagtgg tgtacggtac
+     1201 aaacccatgc cagcgagacg aagacgaatt ctctagatat cgctcaatac tgaccattta
+     1261 aatcatacct gacctccata gcagaaagtc aaaagcctcc gaccggaggc ttttgacttg
+     1321 atcggcacgt aagaggttcc aactttcacc ataatgaaat aagatcacta ccgggcgtat
+     1381 tttttgagtt atcgagattt tcaggagcta aggaagctaa aatgagccat attcaacggg
+     1441 aaacgtcttg ctcgaggccg cgattaaatt ccaacatgga tgctgattta tatgggtata
+     1501 aatgggctcg cgataatgtc gggcaatcag gtgcgacaat ctatcgattg tatgggaagc
+     1561 ccgatgcgcc agagttgttt ctgaaacatg gcaaaggtag cgttgccaat gatgttacag
+     1621 atgagatggt caggctaaac tggctgacgg aatttatgcc tcttccgacc atcaagcatt
+     1681 ttatccgtac tcctgatgat gcatggttac tcaccactgc gatcccaggg aaaacagcat
+     1741 tccaggtatt agaagaatat cctgattcag gtgaaaatat tgttgatgcg ctggcagtgt
+     1801 tcctgcgccg gttgcattcg attcctgttt gtaattgtcc ttttaacggc gatcgcgtat
+     1861 ttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p5_k1-k1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1884 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1162..1183
+                     /note="K1"
+     misc_feature    1191..1212
+                     /note="K1"
+     source          1154..1224
+                     /source="Exported"
+     misc_feature    complement(1230..1235)
+                     /note="BsmBI"
+     terminator      1302..1333
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1334..1436
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1229..1884
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt ccgcaaacaa agggtgtgaa cggtgatcac ccgagagcaa gggtgtgaac
+     1201 ggtgatcacc cgcaaacaaa ttcgccagcg agacgaagac gaattctcta gatatcgctc
+     1261 aatactgacc atttaaatca tacctgacct ccatagcaga aagtcaaaag cctccgaccg
+     1321 gaggcttttg acttgatcgg cacgtaagag gttccaactt tcaccataat gaaataagat
+     1381 cactaccggg cgtatttttt gagttatcga gattttcagg agctaaggaa gctaaaatga
+     1441 gccatattca acgggaaacg tcttgctcga ggccgcgatt aaattccaac atggatgctg
+     1501 atttatatgg gtataaatgg gctcgcgata atgtcgggca atcaggtgcg acaatctatc
+     1561 gattgtatgg gaagcccgat gcgccagagt tgtttctgaa acatggcaaa ggtagcgttg
+     1621 ccaatgatgt tacagatgag atggtcaggc taaactggct gacggaattt atgcctcttc
+     1681 cgaccatcaa gcattttatc cgtactcctg atgatgcatg gttactcacc actgcgatcc
+     1741 cagggaaaac agcattccag gtattagaag aatatcctga ttcaggtgaa aatattgttg
+     1801 atgcgctggc agtgttcctg cgccggttgc attcgattcc tgtttgtaat tgtcctttta
+     1861 acggcgatcg cgtatttcgt ctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p5_kt-weiss.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1896 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1162..1188
+                     /note="Kt"
+     misc_feature    1198..1224
+                     /note="Kt"
+     source          1154..1236
+                     /source="Exported"
+     misc_feature    complement(1242..1247)
+                     /note="BsmBI"
+     terminator      1314..1345
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1346..1448
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1241..1896
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgt ccgcaaacaa aggatccgtg atcggaaacg tgagatccaa agcaaaagga
+     1201 tccgtgatcg gaaacgtgag atcccaaaca aattcgccag cgagacgaag acgaattctc
+     1261 tagatatcgc tcaatactga ccatttaaat catacctgac ctccatagca gaaagtcaaa
+     1321 agcctccgac cggaggcttt tgacttgatc ggcacgtaag aggttccaac tttcaccata
+     1381 atgaaataag atcactaccg ggcgtatttt ttgagttatc gagattttca ggagctaagg
+     1441 aagctaaaat gagccatatt caacgggaaa cgtcttgctc gaggccgcga ttaaattcca
+     1501 acatggatgc tgatttatat gggtataaat gggctcgcga taatgtcggg caatcaggtg
+     1561 cgacaatcta tcgattgtat gggaagcccg atgcgccaga gttgtttctg aaacatggca
+     1621 aaggtagcgt tgccaatgat gttacagatg agatggtcag gctaaactgg ctgacggaat
+     1681 ttatgcctct tccgaccatc aagcatttta tccgtactcc tgatgatgca tggttactca
+     1741 ccactgcgat cccagggaaa acagcattcc aggtattaga agaatatcct gattcaggtg
+     1801 aaaatattgt tgatgcgctg gcagtgttcc tgcgccggtt gcattcgatt cctgtttgta
+     1861 attgtccttt taacggcgat cgcgtatttc gtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_atg_boxc.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,79 @@
+LOCUS       .                       1886 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1186..1195
+                     /note="Kozak"
+     CDS             1192..1194
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     misc_feature    1198..1221
+                     /note="BoxC/D"
+     source          1154..1226
+                     /source="Exported"
+     misc_feature    complement(1232..1237)
+                     /note="BsmBI"
+     terminator      1304..1335
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1336..1438
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1231..1886
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagaaccgtc agatccgcta gcgattacgt caattgccac catgggaggg
+     1201 cgtgatgcga aagctgaccc tagcggcagc cgagacgaag acgaattctc tagatatcgc
+     1261 tcaatactga ccatttaaat catacctgac ctccatagca gaaagtcaaa agcctccgac
+     1321 cggaggcttt tgacttgatc ggcacgtaag aggttccaac tttcaccata atgaaataag
+     1381 atcactaccg ggcgtatttt ttgagttatc gagattttca ggagctaagg aagctaaaat
+     1441 gagccatatt caacgggaaa cgtcttgctc gaggccgcga ttaaattcca acatggatgc
+     1501 tgatttatat gggtataaat gggctcgcga taatgtcggg caatcaggtg cgacaatcta
+     1561 tcgattgtat gggaagcccg atgcgccaga gttgtttctg aaacatggca aaggtagcgt
+     1621 tgccaatgat gttacagatg agatggtcag gctaaactgg ctgacggaat ttatgcctct
+     1681 tccgaccatc aagcatttta tccgtactcc tgatgatgca tggttactca ccactgcgat
+     1741 cccagggaaa acagcattcc aggtattaga agaatatcct gattcaggtg aaaatattgt
+     1801 tgatgcgctg gcagtgttcc tgcgccggtt gcattcgatt cctgtttgta attgtccttt
+     1861 taacggcgat cgcgtatttc gtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_kozak-atg.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,76 @@
+LOCUS       .                       1856 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1184..1195
+                     /note="Kozak"
+     CDS             1192..1194
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     source          1154..1196
+                     /source="Exported"
+     misc_feature    complement(1202..1207)
+                     /note="BsmBI"
+     terminator      1274..1305
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1306..1408
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1201..1856
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagaaccgtc agatccgcta gagattacgc caaccgccac catgggcagc
+     1201 cgagacgaag acgaattctc tagatatcgc tcaatactga ccatttaaat catacctgac
+     1261 ctccatagca gaaagtcaaa agcctccgac cggaggcttt tgacttgatc ggcacgtaag
+     1321 aggttccaac tttcaccata atgaaataag atcactaccg ggcgtatttt ttgagttatc
+     1381 gagattttca ggagctaagg aagctaaaat gagccatatt caacgggaaa cgtcttgctc
+     1441 gaggccgcga ttaaattcca acatggatgc tgatttatat gggtataaat gggctcgcga
+     1501 taatgtcggg caatcaggtg cgacaatcta tcgattgtat gggaagcccg atgcgccaga
+     1561 gttgtttctg aaacatggca aaggtagcgt tgccaatgat gttacagatg agatggtcag
+     1621 gctaaactgg ctgacggaat ttatgcctct tccgaccatc aagcatttta tccgtactcc
+     1681 tgatgatgca tggttactca ccactgcgat cccagggaaa acagcattcc aggtattaga
+     1741 agaatatcct gattcaggtg aaaatattgt tgatgcgctg gcagtgttcc tgcgccggtt
+     1801 gcattcgatt cctgtttgta attgtccttt taacggcgat cgcgtatttc gtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_nt-igkl sequence.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,83 @@
+LOCUS       .                       1886 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1165
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1224
+                     /codon_start=1
+                     /note="Ig-kappa leader"
+                     /product="leader sequence from mouse immunoglobulin kappa
+                     light chain"
+                     /translation="ETDTLLLWVLLLWVPGSTGD"
+     source          1154..1226
+                     /source="Exported"
+     misc_feature    complement(1232..1237)
+                     /note="BsmBI"
+     terminator      1304..1335
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1336..1438
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1231..1886
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagccgccac catggaaaca gacacactgc tgctatgggt actgctgctc
+     1201 tgggttccag gttccactgg tgacagcagc cgagacgaag acgaattctc tagatatcgc
+     1261 tcaatactga ccatttaaat catacctgac ctccatagca gaaagtcaaa agcctccgac
+     1321 cggaggcttt tgacttgatc ggcacgtaag aggttccaac tttcaccata atgaaataag
+     1381 atcactaccg ggcgtatttt ttgagttatc gagattttca ggagctaagg aagctaaaat
+     1441 gagccatatt caacgggaaa cgtcttgctc gaggccgcga ttaaattcca acatggatgc
+     1501 tgatttatat gggtataaat gggctcgcga taatgtcggg caatcaggtg cgacaatcta
+     1561 tcgattgtat gggaagcccg atgcgccaga gttgtttctg aaacatggca aaggtagcgt
+     1621 tgccaatgat gttacagatg agatggtcag gctaaactgg ctgacggaat ttatgcctct
+     1681 tccgaccatc aagcatttta tccgtactcc tgatgatgca tggttactca ccactgcgat
+     1741 cccagggaaa acagcattcc aggtattaga agaatatcct gattcaggtg aaaatattgt
+     1801 tgatgcgctg gcagtgttcc tgcgccggtt gcattcgatt cctgtttgta attgtccttt
+     1861 taacggcgat cgcgtatttc gtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_nt-mls.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,81 @@
+LOCUS       .                       1910 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1161
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1248
+                     /codon_start=1
+                     /note="MLS"
+                     /translation="SVLTPLLLRGLTGSARRLPVPRAKIHSL"
+     source          1154..1250
+                     /source="Exported"
+     misc_feature    complement(1256..1261)
+                     /note="BsmBI"
+     terminator      1328..1359
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1360..1462
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1255..1910
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagccgccac catgagcgtg ctgacccccc tgctgctgcg cggcctgacc
+     1201 ggcagcgccc gccgcctgcc cgtgccccgc gccaagatcc acagcctggg cagccgagac
+     1261 gaagacgaat tctctagata tcgctcaata ctgaccattt aaatcatacc tgacctccat
+     1321 agcagaaagt caaaagcctc cgaccggagg cttttgactt gatcggcacg taagaggttc
+     1381 caactttcac cataatgaaa taagatcact accgggcgta ttttttgagt tatcgagatt
+     1441 ttcaggagct aaggaagcta aaatgagcca tattcaacgg gaaacgtctt gctcgaggcc
+     1501 gcgattaaat tccaacatgg atgctgattt atatgggtat aaatgggctc gcgataatgt
+     1561 cgggcaatca ggtgcgacaa tctatcgatt gtatgggaag cccgatgcgc cagagttgtt
+     1621 tctgaaacat ggcaaaggta gcgttgccaa tgatgttaca gatgagatgg tcaggctaaa
+     1681 ctggctgacg gaatttatgc ctcttccgac catcaagcat tttatccgta ctcctgatga
+     1741 tgcatggtta ctcaccactg cgatcccagg gaaaacagca ttccaggtat tagaagaata
+     1801 tcctgattca ggtgaaaata ttgttgatgc gctggcagtg ttcctgcgcc ggttgcattc
+     1861 gattcctgtt tgtaattgtc cttttaacgg cgatcgcgta tttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_nt-myristoylation signal.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,81 @@
+LOCUS       .                       1865 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1161
+                     /note="KozaK"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1203
+                     /codon_start=1
+                     /note="myristoylation signal"
+                     /translation="GSSKSKPKDPSQR"
+     source          1154..1205
+                     /source="Exported"
+     misc_feature    complement(1211..1216)
+                     /note="BsmBI"
+     terminator      1283..1314
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1315..1417
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1210..1865
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagccgccac catggggagt agcaagagca agcctaagga ccccagccag
+     1201 cgcggcagcc gagacgaaga cgaattctct agatatcgct caatactgac catttaaatc
+     1261 atacctgacc tccatagcag aaagtcaaaa gcctccgacc ggaggctttt gacttgatcg
+     1321 gcacgtaaga ggttccaact ttcaccataa tgaaataaga tcactaccgg gcgtattttt
+     1381 tgagttatcg agattttcag gagctaagga agctaaaatg agccatattc aacgggaaac
+     1441 gtcttgctcg aggccgcgat taaattccaa catggatgct gatttatatg ggtataaatg
+     1501 ggctcgcgat aatgtcgggc aatcaggtgc gacaatctat cgattgtatg ggaagcccga
+     1561 tgcgccagag ttgtttctga aacatggcaa aggtagcgtt gccaatgatg ttacagatga
+     1621 gatggtcagg ctaaactggc tgacggaatt tatgcctctt ccgaccatca agcattttat
+     1681 ccgtactcct gatgatgcat ggttactcac cactgcgatc ccagggaaaa cagcattcca
+     1741 ggtattagaa gaatatcctg attcaggtga aaatattgtt gatgcgctgg cagtgttcct
+     1801 gcgccggttg cattcgattc ctgtttgtaa ttgtcctttt aacggcgatc gcgtatttcg
+     1861 tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_nt-palm sequence.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,81 @@
+LOCUS       .                       1883 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1161
+                     /note="Kozak"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1221
+                     /codon_start=1
+                     /note="Palmitoylation sequence"
+                     /translation="LCCMRRTKQVEKNDDDQKI"
+     source          1154..1223
+                     /source="Exported"
+     misc_feature    complement(1229..1234)
+                     /note="BsmBI"
+     terminator      1301..1332
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1333..1435
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1228..1883
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagccgccac catgctgtgc tgcatgcgcc gcaccaagca ggtggagaag
+     1201 aacgacgacg accagaagat cggcagccga gacgaagacg aattctctag atatcgctca
+     1261 atactgacca tttaaatcat acctgacctc catagcagaa agtcaaaagc ctccgaccgg
+     1321 aggcttttga cttgatcggc acgtaagagg ttccaacttt caccataatg aaataagatc
+     1381 actaccgggc gtattttttg agttatcgag attttcagga gctaaggaag ctaaaatgag
+     1441 ccatattcaa cgggaaacgt cttgctcgag gccgcgatta aattccaaca tggatgctga
+     1501 tttatatggg tataaatggg ctcgcgataa tgtcgggcaa tcaggtgcga caatctatcg
+     1561 attgtatggg aagcccgatg cgccagagtt gtttctgaaa catggcaaag gtagcgttgc
+     1621 caatgatgtt acagatgaga tggtcaggct aaactggctg acggaattta tgcctcttcc
+     1681 gaccatcaag cattttatcc gtactcctga tgatgcatgg ttactcacca ctgcgatccc
+     1741 agggaaaaca gcattccagg tattagaaga atatcctgat tcaggtgaaa atattgttga
+     1801 tgcgctggca gtgttcctgc gccggttgca ttcgattcct gtttgtaatt gtccttttaa
+     1861 cggcgatcgc gtatttcgtc tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p6_nt-sv40_nls.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,82 @@
+LOCUS       .                       1847 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1154..1161
+                     /note="Kozak"
+     CDS             1162..1164
+                     /codon_start=1
+                     /note="ATG"
+                     /translation="M"
+     CDS             1165..1185
+                     /codon_start=1
+                     /note="SV40 NLS"
+                     /product="nuclear localization signal of SV40 large T
+                     antigen"
+                     /translation="PKKKRKV"
+     source          1154..1187
+                     /source="Exported"
+     misc_feature    complement(1193..1198)
+                     /note="BsmBI"
+     terminator      1265..1296
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1297..1399
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1192..1847
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc cagccgccac catgcctaag aagaaacgga aagtgggcag ccgagacgaa
+     1201 gacgaattct ctagatatcg ctcaatactg accatttaaa tcatacctga cctccatagc
+     1261 agaaagtcaa aagcctccga ccggaggctt ttgacttgat cggcacgtaa gaggttccaa
+     1321 ctttcaccat aatgaaataa gatcactacc gggcgtattt tttgagttat cgagattttc
+     1381 aggagctaag gaagctaaaa tgagccatat tcaacgggaa acgtcttgct cgaggccgcg
+     1441 attaaattcc aacatggatg ctgatttata tgggtataaa tgggctcgcg ataatgtcgg
+     1501 gcaatcaggt gcgacaatct atcgattgta tgggaagccc gatgcgccag agttgtttct
+     1561 gaaacatggc aaaggtagcg ttgccaatga tgttacagat gagatggtca ggctaaactg
+     1621 gctgacggaa tttatgcctc ttccgaccat caagcatttt atccgtactc ctgatgatgc
+     1681 atggttactc accactgcga tcccagggaa aacagcattc caggtattag aagaatatcc
+     1741 tgattcaggt gaaaatattg ttgatgcgct ggcagtgttc ctgcgccggt tgcattcgat
+     1801 tcctgtttgt aattgtcctt ttaacggcga tcgcgtattt cgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_bxb1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,107 @@
+LOCUS       .                       3312 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     CDS             5..1501
+                     /codon_start=1
+                     /note="BxB1 intergase - human codon optimised"
+                     /translation="RALVVIRLSRVTDATTSPERQLESCQQLCAQRGWDVVGVAEDLDV
+                     SGAVDPFDRKRRPNLARWLAFEEQPFDVIVAYRVDRLTRSIRHLQQLVHWAEDHKKLVV
+                     SATEAHFDTTTPFAAVVIALMGTVAQMELEAIKERNRSAAHFNIRAGKYRGSLPPWGYL
+                     PTRVDGEWRLVPDPVQRERILEVYHRVVDNHEPLHLVAHDLNRRGVLSPKDYFAQLQGR
+                     EPQGREWSATALKRSMISEAMLGYATLNGKTVRDDDGAPLVRAEPILTREQLEALRAEL
+                     VKTSRAKPAVSTPSLLLRVLFCAVCGEPAYKFAGGGRKHPRYRCRSMGFPKHCGNGTVA
+                     MAEWDAFCEEQVLDLLGDAERLEKVWVAGSDSAVELAEVNAELVDLTSLIGSPAYRAGS
+                     PQREALDARIAALAARQEELEGLEARPSGWEWRETGQRFGDWWREQDTAAKNTWLRSMN
+                     VRLTFDVRGGLTRTIDFGDLQEYEQHLRLGSVVERLHTGMS"
+     source          5..1503
+                     /source="Exported"
+     misc_feature    complement(1509..1514)
+                     /note="BsmBI"
+     terminator      1581..1612
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1613..1715
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1508..2163
+                     /source="Exported"
+     terminator      2555..2582
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(2594..3181)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      3203..3232
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    3306..3311
+                     /note="BsmBI"
+     source          2168..3312
+                     /source="Exported"
+ORIGIN
+        1 cagcagagca ctggtggtca tccgactgag tagggtcaca gacgcaacaa caagccccga
+       61 acggcagctc gaaagctgtc agcagctgtg tgcccagcga ggatgggacg tggtcggagt
+      121 ggcagaggat ctggacgtga gcggcgctgt cgatccattc gacagaaagc ggaggcccaa
+      181 cctggcaagg tggctggctt tcgaggaaca gccctttgat gtgatcgtcg cctacagagt
+      241 ggacaggctg acacgctcta ttcgacatct gcagcagctg gtgcattggg ccgaggacca
+      301 caagaaactg gtggtcagtg caactgaagc ccacttcgat accacaactc cttttgccgc
+      361 tgtggtcatc gcactgatgg gcaccgtggc ccagatggag ctggaagcta tcaaggagcg
+      421 aaaccggagt gcagcccatt tcaatattcg ggccgggaaa tacagaggat cactgccccc
+      481 ttggggctat ctgcctaccc gggtggatgg ggagtggaga ctggtgccag accccgtcca
+      541 gagagagagg attctggaag tgtaccacag ggtggtcgat aaccacgaac cactgcatct
+      601 ggtcgcccac gacctgaata ggcgcggcgt gctgagccca aaagattatt ttgctcagct
+      661 gcagggaagg gagccacagg gacgagaatg gtccgctacc gccctgaagc ggagcatgat
+      721 cagtgaggct atgctgggct acgcaactct gaatgggaaa accgtccggg acgatgacgg
+      781 agcaccactg gtgagggctg agcctattct gacacgcgag cagctggaag ctctgcgggc
+      841 agaactggtg aaaacctcca gagccaaacc tgccgtgagc accccaagcc tgctgctgag
+      901 ggtgctgttc tgcgccgtct gtggggagcc agcatacaag tttgccggcg ggggaagaaa
+      961 acatccccgc tatcgatgcc ggtctatggg attccctaag cactgtggaa acggcactgt
+     1021 ggctatggcc gagtgggacg ccttttgtga ggaacaggtg ctggatctgc tgggcgacgc
+     1081 cgagaggctg gaaaaagtgt gggtcgctgg cagcgactcc gctgtggagc tggcagaagt
+     1141 caatgccgag ctggtggatc tgacctccct gatcggatct cctgcatata gggcaggctc
+     1201 accacagcga gaagctctgg acgcacgaat tgctgcactg gcagctcgac aggaggaact
+     1261 ggaggggctg gaagcacgac ctagcggatg ggagtggcga gaaacaggcc agcggtttgg
+     1321 ggattggtgg agagagcagg acacagcagc caagaacact tggctgagaa gtatgaatgt
+     1381 caggctgact ttcgatgtgc gcggcgggct gacccgaaca atcgattttg gcgacctgca
+     1441 ggagtatgaa cagcacctga gactggggag cgtggtcgaa agactgcaca ctgggatgtc
+     1501 atcaggccga gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat
+     1561 acctgacctc catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc
+     1621 acgtaagagg ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg
+     1681 agttatcgag attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt
+     1741 cttgctcgag gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg
+     1801 ctcgcgataa tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg
+     1861 cgccagagtt gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga
+     1921 tggtcaggct aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc
+     1981 gtactcctga tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg
+     2041 tattagaaga atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc
+     2101 gccggttgca ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc
+     2161 tcgctcaggc gcaatcacga atgaataacg gtttggttgg tgcgagtgat tttgatgacg
+     2221 agcgtaatgg ctggcctgtt gaacaagtct ggaaagaaat gcataagctt ttgccattct
+     2281 caccggattc agtcgtcact catggtgatt tctcacttga taaccttatt tttgacgagg
+     2341 ggaaattaat aggttgtatt gatgttggac gagtcggaat cgcagaccga taccaggatc
+     2401 ttgccatcct atggaactgc ctcggtgagt tttctccttc attacagaaa cggctttttc
+     2461 aaaaatatgg tattgataat cctgatatga ataaattgca gtttcacttg atgctcgatg
+     2521 agtttttcta atgagggccc aaatgtaatc acctggctca ccttcgggtg ggcctttctg
+     2581 cgttgctggc gtttttccat aggctccgcc cccctgacga gcatcacaaa aatcgatgct
+     2641 caagtcagag gtggcgaaac ccgacaggac tataaagata ccaggcgttt ccccctggaa
+     2701 gctccctcgt gcgctctcct gttccgaccc tgccgcttac cggatacctg tccgcctttc
+     2761 tcccttcggg aagcgtggcg ctttctcata gctcacgctg taggtatctc agttcggtgt
+     2821 aggtcgttcg ctccaagctg ggctgtgtgc acgaaccccc cgttcagccc gaccgctgcg
+     2881 ccttatccgg taactatcgt cttgagtcca acccggtaag acacgactta tcgccactgg
+     2941 cagcagccac tggtaacagg attagcagag cgaggtatgt aggcggtgct acagagttct
+     3001 tgaagtggtg gcctaactac ggctacacta gaagaacagt atttggtatc tgcgctctgc
+     3061 tgaagccagt tacctcggaa aaagagttgg tagctcttga tccggcaaac aaaccaccgc
+     3121 tggtagcggt ggtttttttg tttgcaagca gcagattacg cgcagaaaaa aaggatctca
+     3181 agaagatcct ttgattttct accgaagaaa ggcccacccg tgaaggtgag ccagtgagtt
+     3241 gattgcagtc cagttacgct ggagtctgag gctcgtcctg aatgatatca agcttgaatt
+     3301 cgttacgtct cg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_l7ae-weiss.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,82 @@
+LOCUS       .                       2169 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1507
+                     /codon_start=1
+                     /note="L7Ae (Weiss)"
+                     /translation="YVRFEVPEDMQNEALSLLEKVRESGKVKKGTNETTKAVERGLAKL
+                     VYIAEDVDPPEIVAHLPLLCEEKNVPYIYVKSKNDLGRAVGIEVPCASAAIINEGELRK
+                     ELGSLVEKIKGLQK"
+     source          1154..1509
+                     /source="Exported"
+     misc_feature    complement(1515..1520)
+                     /note="BsmBI"
+     terminator      1587..1618
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1619..1721
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1514..2169
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agctacgtga gatttgaggt tcctgaggac atgcagaacg aagctctgag
+     1201 tctgctggag aaggttaggg agagcggtaa ggtaaagaaa ggtaccaacg aaacgacaaa
+     1261 ggctgtggag aggggactgg caaagctcgt ttacatcgca gaggatgttg acccgcctga
+     1321 gatcgttgct catctgcccc tcctctgcga ggagaagaat gtgccgtaca tttacgttaa
+     1381 aagcaagaac gaccttggaa gggctgtggg cattgaggtg ccatgcgctt cggcagcgat
+     1441 aatcaacgag ggagagctga gaaaggagct tggaagcctt gtggagaaga ttaaaggcct
+     1501 tcagaagtca ggccgagacg aagacgaatt ctctagatat cgctcaatac tgaccattta
+     1561 aatcatacct gacctccata gcagaaagtc aaaagcctcc gaccggaggc ttttgacttg
+     1621 atcggcacgt aagaggttcc aactttcacc ataatgaaat aagatcacta ccgggcgtat
+     1681 tttttgagtt atcgagattt tcaggagcta aggaagctaa aatgagccat attcaacggg
+     1741 aaacgtcttg ctcgaggccg cgattaaatt ccaacatgga tgctgattta tatgggtata
+     1801 aatgggctcg cgataatgtc gggcaatcag gtgcgacaat ctatcgattg tatgggaagc
+     1861 ccgatgcgcc agagttgttt ctgaaacatg gcaaaggtag cgttgccaat gatgttacag
+     1921 atgagatggt caggctaaac tggctgacgg aatttatgcc tcttccgacc atcaagcatt
+     1981 ttatccgtac tcctgatgat gcatggttac tcaccactgc gatcccaggg aaaacagcat
+     2041 tccaggtatt agaagaatat cctgattcag gtgaaaatat tgttgatgcg ctggcagtgt
+     2101 tcctgcgccg gttgcattcg attcctgttt gtaattgtcc ttttaacggc gatcgcgtat
+     2161 ttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_l7ae.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,87 @@
+LOCUS       .                       2409 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1747
+                     /codon_start=1
+                     /note="L7Ae"
+                     /translation="SPILGYWKIKGLVQPTRLLLEYLEEKYEEHLYERDEGDKWRNKKF
+                     ELGLEFPNLPYYIDGDVKLTQSMAIIRYIADKHNMYVRFEVPEDMQNEALSLLEKVRES
+                     GKVKKGTNETTKAVERGLAKLVYIAEDVDPPEIVAHLPLLCEEKNVPYIYVKSKNDLGR
+                     AVGIEVPCASAAIINEGELRKELGSLVEKIKGLQK"
+     source          1154..1749
+                     /source="Exported"
+     misc_feature    complement(1755..1760)
+                     /note="BsmBI"
+     terminator      1827..1858
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1859..1961
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1754..2409
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcagcccca tcctgggcta ctggaagatc aagggcctgg tgcagcccac
+     1201 ccgcctgctg ctggagtacc tggaggagaa gtacgaggag cacctgtacg agcgcgacga
+     1261 gggcgacaag tggcgcaaca agaagttcga gctgggcctg gagttcccca acctgcccta
+     1321 ctacatcgac ggcgacgtga agctgaccca gagcatggcc atcatccgct acatcgccga
+     1381 caagcacaac atgtacgtgc gcttcgaggt gcccgaggac atgcagaacg aggccctgag
+     1441 cctgctggag aaggtgcgcg agagcggcaa ggtgaagaag ggcaccaacg aaaccaccaa
+     1501 ggccgtggag cgcggcctgg ccaagctggt gtacatcgcc gaggacgtgg acccccccga
+     1561 gatcgtggcc cacctgcccc tgctgtgcga ggagaagaac gtgccctaca tctacgtgaa
+     1621 gagcaagaac gacctgggcc gcgccgtggg catcgaggtg ccctgcgcca gcgccgccat
+     1681 catcaacgag ggcgagctgc gcaaggagct gggcagcctg gtggagaaga tcaagggcct
+     1741 gcagaagtca ggccgagacg aagacgaatt ctctagatat cgctcaatac tgaccattta
+     1801 aatcatacct gacctccata gcagaaagtc aaaagcctcc gaccggaggc ttttgacttg
+     1861 atcggcacgt aagaggttcc aactttcacc ataatgaaat aagatcacta ccgggcgtat
+     1921 tttttgagtt atcgagattt tcaggagcta aggaagctaa aatgagccat attcaacggg
+     1981 aaacgtcttg ctcgaggccg cgattaaatt ccaacatgga tgctgattta tatgggtata
+     2041 aatgggctcg cgataatgtc gggcaatcag gtgcgacaat ctatcgattg tatgggaagc
+     2101 ccgatgcgcc agagttgttt ctgaaacatg gcaaaggtag cgttgccaat gatgttacag
+     2161 atgagatggt caggctaaac tggctgacgg aatttatgcc tcttccgacc atcaagcatt
+     2221 ttatccgtac tcctgatgat gcatggttac tcaccactgc gatcccaggg aaaacagcat
+     2281 tccaggtatt agaagaatat cctgattcag gtgaaaatat tgttgatgcg ctggcagtgt
+     2341 tcctgcgccg gttgcattcg attcctgttt gtaattgtcc ttttaacggc gatcgcgtat
+     2401 ttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_laci.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,98 @@
+LOCUS       .                       2892 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..2230
+                     /codon_start=1
+                     /note="LacI- human codon optimized"
+                     /translation="KPVTLYDVAEYAGVSYQTVSRVVNQASHVSAKTREKVEAAMAELN
+                     YIPNRVAQQLAGKQSLLIGVATSSLALHAPSQIVAAIKSRADQLGASVVVSMVERSGVE
+                     ACKAAVHNLLAQRVSGLIINYPLDDQDAIAVEAACTNVPALFLDVSDQTPINSIIFSHE
+                     DGTRLGVEHLVALGHQQIALLAGPLSSVSARLRLAGWHKYLTRNQIQPIAEREGDWSAM
+                     SGFQQTMQMLNEGIVPTAMLVANDQMALGAMRAITESGLRVGADISVVGYDDTEDSSCY
+                     IPPLTTIKQDFRLLGQTSVDRLLQLSQGQAVKGNQLLPVSLVKRKTTLAPNTQTASPRA
+                     LADSLMQLARQVSRLESGQ"
+     source          1154..2232
+                     /source="Exported"
+     misc_feature    complement(2238..2243)
+                     /note="BsmBI"
+     terminator      2310..2341
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        2342..2444
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          2237..2892
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcaagcccg tgaccctgta cgacgtggcc gagtacgccg gcgtgagcta
+     1201 ccagaccgtg agccgcgtgg tgaaccaggc cagccacgtg agcgccaaga cccgcgagaa
+     1261 ggtggaggcc gccatggccg agctgaatta catcccaaat cgcgtggccc agcagctggc
+     1321 cggcaagcag agcctgctga tcggagtggc aacaagcagc ctggccctgc acgcacctag
+     1381 ccagatcgtg gcagccatca agagccgcgc cgaccagctg ggagccagcg tggttgtgag
+     1441 catggtggag cgcagcggag tggaggcctg caaggccgcc gtgcacaacc tgctggcaca
+     1501 gcgcgtgagc ggactgatca tcaactaccc tctggacgac caggacgcca tcgcagtgga
+     1561 agcagcctgc acaaacgtgc ccgcactgtt tctggatgtg agcgatcaga cccccatcaa
+     1621 cagcatcatc ttcagccacg aagatggcac ccgcctggga gtggagcacc tggtggccct
+     1681 gggccaccag cagatcgcac tgctggccgg cccactgagc agcgtgagcg cacgcctgcg
+     1741 cctggcaggc tggcacaagt acctgacccg caaccagatc cagcctatcg ccgaacgcga
+     1801 aggcgattgg agcgccatga gcggatttca gcagaccatg cagatgctga acgagggaat
+     1861 cgtgcctacc gccatgctgg tggccaacga ccagatggcc ctgggagcca tgcgcgccat
+     1921 caccgagagc ggcctgcgcg tgggagcaga catcagcgtg gtgggatacg acgacaccga
+     1981 agacagcagc tgctacatcc ctcctctgac aaccatcaag caggacttcc gcctgctggg
+     2041 ccagaccagc gtggaccgcc tgctgcagct gagccaggga caggccgtga agggaaacca
+     2101 gctgctgcct gtgagcctgg tgaagcgcaa gaccaccctg gcacccaaca cccagaccgc
+     2161 cagcccccgc gccctggccg acagcctgat gcagctggcc cgccaggtga gccgcctgga
+     2221 aagcggacag tcaggccgag acgaagacga attctctaga tatcgctcaa tactgaccat
+     2281 ttaaatcata cctgacctcc atagcagaaa gtcaaaagcc tccgaccgga ggcttttgac
+     2341 ttgatcggca cgtaagaggt tccaactttc accataatga aataagatca ctaccgggcg
+     2401 tattttttga gttatcgaga ttttcaggag ctaaggaagc taaaatgagc catattcaac
+     2461 gggaaacgtc ttgctcgagg ccgcgattaa attccaacat ggatgctgat ttatatgggt
+     2521 ataaatgggc tcgcgataat gtcgggcaat caggtgcgac aatctatcga ttgtatggga
+     2581 agcccgatgc gccagagttg tttctgaaac atggcaaagg tagcgttgcc aatgatgtta
+     2641 cagatgagat ggtcaggcta aactggctga cggaatttat gcctcttccg accatcaagc
+     2701 attttatccg tactcctgat gatgcatggt tactcaccac tgcgatccca gggaaaacag
+     2761 cattccaggt attagaagaa tatcctgatt caggtgaaaa tattgttgat gcgctggcag
+     2821 tgttcctgcg ccggttgcat tcgattcctg tttgtaattg tccttttaac ggcgatcgcg
+     2881 tatttcgtct cg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_mcherry.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,89 @@
+LOCUS       .                       2520 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1858
+                     /codon_start=1
+                     /note="mCherry- codon optimized"
+                     /translation="VSKGEEDNMAIIKEFMRFKVHMEGSVNGHEFEIEGEGEGRPYEGT
+                     QTAKLKVTKGGPLPFAWDILSPQFMYGSKAYVKHPADIPDYLKLSFPEGFKWERVMNFE
+                     DGGVVTVTQDSSLQDGEFIYKVKLRGTNFPSDGPVMQKKTMGWEASSERMYPEDGALKG
+                     EIKQRLKLKDGGHYDAEVKTTYKAKKPVQLPGAYNVNIKLDITSHNEDYTIVEQYERAE
+                     GRHSTGGMDELYK"
+     source          1154..1860
+                     /source="Exported"
+     misc_feature    complement(1866..1871)
+                     /note="BsmBI"
+     terminator      1938..1969
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1970..2072
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1865..2520
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcgtgagca agggcgagga ggacaacatg gccatcatca aggagttcat
+     1201 gcgcttcaag gtgcacatgg agggcagcgt gaacggccac gagttcgaga tcgagggcga
+     1261 gggcgagggc cgcccctacg agggcaccca gaccgccaag ctgaaggtga ccaagggcgg
+     1321 ccccctgccc ttcgcctggg acatcctgag cccccagttc atgtacggca gcaaggccta
+     1381 cgtgaagcac cccgccgaca tccccgacta cctgaagctg agcttccccg agggcttcaa
+     1441 gtgggagcgc gtgatgaact tcgaggacgg cggcgtggtg accgtgaccc aggacagcag
+     1501 cctgcaggac ggcgagttca tctacaaggt gaagctgcgc ggcaccaact tccccagcga
+     1561 cggccccgtg atgcagaaga agaccatggg ctgggaggcc agcagcgagc gcatgtaccc
+     1621 cgaggacggc gccctgaagg gcgagatcaa gcagcgcctg aagctgaagg acggcggcca
+     1681 ctacgacgcc gaggtgaaga ccacctacaa ggccaagaag cccgtgcagc tgcccggcgc
+     1741 ctacaacgtg aacatcaagc tggacatcac cagccacaac gaggactaca ccatcgtgga
+     1801 gcagtacgag cgcgccgagg gccgccacag caccggcggc atggacgagc tgtacaagtc
+     1861 aggccgagac gaagacgaat tctctagata tcgctcaata ctgaccattt aaatcatacc
+     1921 tgacctccat agcagaaagt caaaagcctc cgaccggagg cttttgactt gatcggcacg
+     1981 taagaggttc caactttcac cataatgaaa taagatcact accgggcgta ttttttgagt
+     2041 tatcgagatt ttcaggagct aaggaagcta aaatgagcca tattcaacgg gaaacgtctt
+     2101 gctcgaggcc gcgattaaat tccaacatgg atgctgattt atatgggtat aaatgggctc
+     2161 gcgataatgt cgggcaatca ggtgcgacaa tctatcgatt gtatgggaag cccgatgcgc
+     2221 cagagttgtt tctgaaacat ggcaaaggta gcgttgccaa tgatgttaca gatgagatgg
+     2281 tcaggctaaa ctggctgacg gaatttatgc ctcttccgac catcaagcat tttatccgta
+     2341 ctcctgatga tgcatggtta ctcaccactg cgatcccagg gaaaacagca ttccaggtat
+     2401 tagaagaata tcctgattca ggtgaaaata ttgttgatgc gctggcagtg ttcctgcgcc
+     2461 ggttgcattc gattcctgtt tgtaattgtc cttttaacgg cgatcgcgta tttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_mkate2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,90 @@
+LOCUS       .                       2508 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1846
+                     /codon_start=1
+                     /gene="mKate2"
+                     /note="mKate2"
+                     /translation="VSELIKENMHMKLYMEGTVNNHHFKCTSEGEGKPYEGTQTMRIKA
+                     VEGGPLPFAFDILATSFMYGSKTFINHTQGIPDFFKQSFPEGFTWERVTTYEDGGVLTA
+                     TQDTSLQDGCLIYNVKIRGVNFPSNGPVMQKKTLGWEASTETLYPADGGLEGRADMALK
+                     LVGGGHLICNLKTTYRSKKPAKNLKMPGVYYVDRRLERIKEADKETYVEQHEVAVARYC
+                     DLPSKLGHR"
+     source          1154..1848
+                     /source="Exported"
+     misc_feature    complement(1854..1859)
+                     /note="BsmBI"
+     terminator      1926..1957
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1958..2060
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1853..2508
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcgtgagcg agctgattaa ggagaacatg cacatgaagc tgtacatgga
+     1201 gggcaccgtg aacaaccacc acttcaagtg cacatccgag ggcgaaggca agccctacga
+     1261 gggcacccag accatgagaa tcaaggcggt cgagggcggc cctctcccct tcgccttcga
+     1321 catcctggct accagcttca tgtacggcag caaaaccttc atcaaccaca cccagggcat
+     1381 ccccgacttc tttaagcagt ccttccccga gggcttcaca tgggagagag tcaccacata
+     1441 cgaagacggg ggcgtgctga ccgctaccca ggacaccagc ctccaggacg gctgcctcat
+     1501 ctacaacgtc aagatcagag gggtgaactt cccatccaac ggccctgtga tgcagaagaa
+     1561 aacactcggc tgggaggcct ccaccgaaac cctgtacccc gctgacggcg gcctggaagg
+     1621 cagagccgac atggccctga agctcgtggg cgggggccac ctgatctgca acttgaagac
+     1681 cacatacaga tccaagaaac ccgctaagaa cctcaagatg cccggcgtct actatgtgga
+     1741 cagaagactg gaaagaatca aggaggccga caaagaaacc tacgtcgagc agcacgaggt
+     1801 ggctgtggcc agatactgcg acctccctag caaactgggg cacagatcag gccgagacga
+     1861 agacgaattc tctagatatc gctcaatact gaccatttaa atcatacctg acctccatag
+     1921 cagaaagtca aaagcctccg accggaggct tttgacttga tcggcacgta agaggttcca
+     1981 actttcacca taatgaaata agatcactac cgggcgtatt ttttgagtta tcgagatttt
+     2041 caggagctaa ggaagctaaa atgagccata ttcaacggga aacgtcttgc tcgaggccgc
+     2101 gattaaattc caacatggat gctgatttat atgggtataa atgggctcgc gataatgtcg
+     2161 ggcaatcagg tgcgacaatc tatcgattgt atgggaagcc cgatgcgcca gagttgtttc
+     2221 tgaaacatgg caaaggtagc gttgccaatg atgttacaga tgagatggtc aggctaaact
+     2281 ggctgacgga atttatgcct cttccgacca tcaagcattt tatccgtact cctgatgatg
+     2341 catggttact caccactgcg atcccaggga aaacagcatt ccaggtatta gaagaatatc
+     2401 ctgattcagg tgaaaatatt gttgatgcgc tggcagtgtt cctgcgccgg ttgcattcga
+     2461 ttcctgtttg taattgtcct tttaacggcg atcgcgtatt tcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_mneogreen.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,91 @@
+LOCUS       .                       2520 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1858
+                     /codon_start=1
+                     /note="mNeonGreen"
+                     /product="bright monomeric yellow-green fluorescent protein
+                     derived from LanYFP (Shaner et al., 2013)"
+                     /translation="VSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEE
+                     LNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDGMSPFQAAMVDGSGYQVHRTMQFEDG
+                     ASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIIST
+                     FKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQK
+                     AFTDVMGMDELYK"
+     source          1154..1860
+                     /source="Exported"
+     misc_feature    complement(1866..1871)
+                     /note="BsmBI"
+     terminator      1938..1969
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1970..2072
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1865..2520
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcgtgagca agggcgagga ggataacatg gcctctctcc cagcgacaca
+     1201 tgagttacac atctttggct ccatcaacgg tgtggacttt gacatggtgg gtcagggcac
+     1261 cggcaatcca aatgatggtt atgaggagtt aaacctgaag tccaccaagg gtgacctcca
+     1321 gttctccccc tggattctgg tccctcatat cgggtatggc ttccatcagt acctgcccta
+     1381 ccctgacggg atgtcgcctt tccaggccgc catggtagat ggctccggat accaagtcca
+     1441 tcgcacaatg cagtttgaag atggtgcctc ccttactgtt aactaccgct acacctacga
+     1501 gggaagccac atcaaaggag aggcccaggt gaaggggact ggtttccctg ctgacggtcc
+     1561 tgtgatgacc aactcgctga ccgctgcgga ctggtgcagg tcgaagaaga cttaccccaa
+     1621 cgacaaaacc atcatcagta cctttaagtg gagttacacc actggaaatg gcaagcgcta
+     1681 ccggagcact gcgcggacca cctacacctt tgccaagcca atggcggcta actatctgaa
+     1741 gaaccagccg atgtacgtgt tccgtaagac ggagctcaag cactccaaga ccgagctcaa
+     1801 cttcaaggag tggcaaaagg cctttaccga tgtgatgggc atggacgagc tgtacaagtc
+     1861 aggccgagac gaagacgaat tctctagata tcgctcaata ctgaccattt aaatcatacc
+     1921 tgacctccat agcagaaagt caaaagcctc cgaccggagg cttttgactt gatcggcacg
+     1981 taagaggttc caactttcac cataatgaaa taagatcact accgggcgta ttttttgagt
+     2041 tatcgagatt ttcaggagct aaggaagcta aaatgagcca tattcaacgg gaaacgtctt
+     2101 gctcgaggcc gcgattaaat tccaacatgg atgctgattt atatgggtat aaatgggctc
+     2161 gcgataatgt cgggcaatca ggtgcgacaa tctatcgatt gtatgggaag cccgatgcgc
+     2221 cagagttgtt tctgaaacat ggcaaaggta gcgttgccaa tgatgttaca gatgagatgg
+     2281 tcaggctaaa ctggctgacg gaatttatgc ctcttccgac catcaagcat tttatccgta
+     2341 ctcctgatga tgcatggtta ctcaccactg cgatcccagg gaaaacagca ttccaggtat
+     2401 tagaagaata tcctgattca ggtgaaaata ttgttgatgc gctggcagtg ttcctgcgcc
+     2461 ggttgcattc gattcctgtt tgtaattgtc cttttaacgg cgatcgcgta tttcgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_mruby2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,93 @@
+LOCUS       .                       2523 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1861
+                     /codon_start=1
+                     /note="mRuby2"
+                     /product="monomeric red fluorescent protein derived from
+                     mRuby, with improved photophysical properties (Lam et al.,
+                     2012)"
+                     /translation="VSKGEELIKENMRMKVVMEGSVNGHQFKCTGEGEGNPYMGTQTMR
+                     IKVIEGGPLPFAFDILATSFMYGSRTFIKYPKGIPDFFKQSFPEGFTWERVTRYEDGGV
+                     VTVMQDTSLEDGCLVYHVQVRGVNFPSNGPVMQKKTKGWEPNTEMMYPADGGLRGYTHM
+                     ALKVDGGGHLSCSFVTTYRSKKTVGNIKMPGIHAVDHRLERLEESDNEMFVVQREHAVA
+                     KFAGLGGGMDELYK"
+     source          1154..1863
+                     /source="Exported"
+     misc_feature    complement(1869..1874)
+                     /note="BsmBI"
+     terminator      1941..1972
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1973..2075
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1868..2523
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcgtgtcta agggcgaaga gctgatcaag gaaaatatgc gtatgaaggt
+     1201 ggtcatggaa ggttcggtca acggccacca attcaaatgc acaggtgaag gagaaggcaa
+     1261 tccgtacatg ggaactcaaa ccatgaggat caaagtcatc gagggaggac ccctgccatt
+     1321 tgcctttgac attcttgcca cgtcgttcat gtatggcagc cgtactttta tcaagtaccc
+     1381 gaaaggcatt cctgatttct ttaaacagtc ctttcctgag ggttttactt gggaaagagt
+     1441 tacgagatac gaagatggtg gagtcgtcac cgtcatgcag gacaccagcc ttgaggatgg
+     1501 ctgtctcgtt taccacgtcc aagtcagagg ggtaaacttt ccctccaatg gtcccgtgat
+     1561 gcagaagaag accaagggtt gggagcctaa tacagagatg atgtatccag cagatggtgg
+     1621 tctgagggga tacactcata tggcactgaa agttgatggt ggtggccatc tgtcttgctc
+     1681 tttcgtaaca acttacaggt caaaaaagac cgtcgggaac atcaagatgc ccggtatcca
+     1741 tgccgttgat caccgcctgg aaaggttaga ggaaagtgac aatgaaatgt tcgtagtaca
+     1801 acgcgaacac gcagttgcca agttcgccgg gcttggtggt gggatggacg agctgtacaa
+     1861 gtcaggccga gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat
+     1921 acctgacctc catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc
+     1981 acgtaagagg ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg
+     2041 agttatcgag attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt
+     2101 cttgctcgag gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg
+     2161 ctcgcgataa tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg
+     2221 cgccagagtt gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga
+     2281 tggtcaggct aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc
+     2341 gtactcctga tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg
+     2401 tattagaaga atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc
+     2461 gccggttgca ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc
+     2521 tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p7_mtagbfp2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,93 @@
+LOCUS       .                       2523 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     CDS             1154..1861
+                     /codon_start=1
+                     /note="mTagBFP2"
+                     /note="mammalian codon-optimized"
+                     /product="enhanced monomeric blue fluorescent protein
+                     (Subach et al., 2011)"
+                     /translation="VSKGEELIKENMHMKLYMEGTVDNHHFKCTSEGEGKPYEGTQTMR
+                     IKVVEGGPLPFAFDILATSFLYGSKTFINHTQGIPDFFKQSFPEGFTWERVTTYEDGGV
+                     LTATQDTSLQDGCLIYNVKIRGVNFTSNGPVMQKKTLGWEAFTETLYPADGGLEGRNDM
+                     ALKLVGGSHLIANAKTTYRSKKPAKNLKMPGVYYVDYRLERIKEANNETYVEQHEVAVA
+                     RYCDLPSKLGHKLN"
+     source          1154..1863
+                     /source="Exported"
+     misc_feature    complement(1869..1874)
+                     /note="BsmBI"
+     terminator      1941..1972
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1973..2075
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1868..2523
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcgc agcgtgtcta agggcgaaga gctgattaag gagaacatgc acatgaagct
+     1201 gtacatggag ggcaccgtgg acaaccatca cttcaagtgc acatccgagg gcgaaggcaa
+     1261 gccctacgag ggcacccaga ccatgagaat caaggtggtc gagggcggcc ctctcccctt
+     1321 cgccttcgac atcctggcta ctagcttcct ctacggcagc aagaccttca tcaaccacac
+     1381 ccagggcatc cccgacttct tcaagcagtc cttccctgag ggcttcacat gggagagagt
+     1441 caccacatac gaagacgggg gcgtgctgac cgctacccag gacaccagcc tccaggacgg
+     1501 ctgcctcatc tacaacgtca agatcagagg ggtgaacttc acatccaacg gccctgtgat
+     1561 gcagaagaaa acactcggct gggaggcctt caccgaaacg ctgtaccccg ctgacggcgg
+     1621 cctggaaggc agaaacgaca tggccctgaa gctcgtgggc gggagccatc tgatcgcaaa
+     1681 cgccaagacc acatatagat ccaagaaacc cgctaagaac ctcaagatgc ctggcgtcta
+     1741 ctatgtggac tacagactgg aaagaatcaa ggaggccaac aacgaaacct acgtcgagca
+     1801 gcacgaggtg gcagtggcca gatactgcga cctccctagc aaactggggc acaagcttaa
+     1861 ttcaggccga gacgaagacg aattctctag atatcgctca atactgacca tttaaatcat
+     1921 acctgacctc catagcagaa agtcaaaagc ctccgaccgg aggcttttga cttgatcggc
+     1981 acgtaagagg ttccaacttt caccataatg aaataagatc actaccgggc gtattttttg
+     2041 agttatcgag attttcagga gctaaggaag ctaaaatgag ccatattcaa cgggaaacgt
+     2101 cttgctcgag gccgcgatta aattccaaca tggatgctga tttatatggg tataaatggg
+     2161 ctcgcgataa tgtcgggcaa tcaggtgcga caatctatcg attgtatggg aagcccgatg
+     2221 cgccagagtt gtttctgaaa catggcaaag gtagcgttgc caatgatgtt acagatgaga
+     2281 tggtcaggct aaactggctg acggaattta tgcctcttcc gaccatcaag cattttatcc
+     2341 gtactcctga tgatgcatgg ttactcacca ctgcgatccc agggaaaaca gcattccagg
+     2401 tattagaaga atatcctgat tcaggtgaaa atattgttga tgcgctggca gtgttcctgc
+     2461 gccggttgca ttcgattcct gtttgtaatt gtccttttaa cggcgatcgc gtatttcgtc
+     2521 tcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p8_linker1.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1864 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..1864
+                     /codon_start=1
+                     /note="Linker 1"
+                     /translation="SGLRSGSGGGSASGGSG"
+     source          1814..1864
+                     /source="Exported"
+ORIGIN
+        1 gcgtcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcga ggctctggac tcagatctgg cagcggagga ggcagcgcat ctggcggaag
+     1861 cgga
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p8_linker2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,74 @@
+LOCUS       .                       1849 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..1849
+                     /codon_start=1
+                     /note="Linker 2"
+                     /translation="GSAGSAAGSGEF"
+     source          1814..1849
+                     /source="Exported"
+ORIGIN
+        1 gcgtcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcga ggcggcagcg ccggcagcgc cgccggcagc ggcgagttc
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p8_p2a.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,80 @@
+LOCUS       .                       1870 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..1870
+                     /codon_start=1
+                     /note="P2A-Porcine teschovirus-1"
+                     /note="Eukaryotic ribosomes fail to insert a peptide bond
+                     between the Gly and Pro residues, yielding separate
+                     polypeptides."
+                     /product="2A peptide from porcine teschovirus-1
+                     polyprotein"
+                     /translation="ATNFSLLKQAGDVEENPGP"
+     source          1814..1870
+                     /source="Exported"
+ORIGIN
+        1 gcgtcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcga ggcgctacta acttcagcct gctgaagcag gctggcgacg tggaggagaa
+     1861 ccctggacct
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p8a_ct-kdel.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,75 @@
+LOCUS       .                       1863 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1814..1828
+                     /codon_start=1
+                     /note="KDEL"
+                     /translation="KDEL"
+     source          1814..1863
+                     /source="Exported"
+ORIGIN
+        1 atcccgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcga ggcaaggacg agctgtaagc ggccgcgact ctagatcata atcagccata
+     1861 cca
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p8b_ires2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,84 @@
+LOCUS       .                       2427 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     terminator      392..419
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     rep_origin      complement(431..1018)
+                     /direction=LEFT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      1040..1069
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     misc_feature    1143..1148
+                     /note="BsmBI"
+     source          5..1149
+                     /source="Exported"
+     misc_feature    1182..1767
+                     /note="IRES2"
+                     /note="internal ribosome entry site (IRES) of the
+                     encephalomyocarditis virus (EMCV)"
+     source          1154..1767
+                     /source="Exported"
+     misc_feature    complement(1773..1778)
+                     /note="BsmBI"
+     terminator      1845..1876
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     promoter        1877..1979
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     source          1772..2427
+                     /source="Exported"
+ORIGIN
+        1 ctcaggcgca atcacgaatg aataacggtt tggttggtgc gagtgatttt gatgacgagc
+       61 gtaatggctg gcctgttgaa caagtctgga aagaaatgca taagcttttg ccattctcac
+      121 cggattcagt cgtcactcat ggtgatttct cacttgataa ccttattttt gacgagggga
+      181 aattaatagg ttgtattgat gttggacgag tcggaatcgc agaccgatac caggatcttg
+      241 ccatcctatg gaactgcctc ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa
+      301 aatatggtat tgataatcct gatatgaata aattgcagtt tcacttgatg ctcgatgagt
+      361 ttttctaatg agggcccaaa tgtaatcacc tggctcacct tcgggtgggc ctttctgcgt
+      421 tgctggcgtt tttccatagg ctccgccccc ctgacgagca tcacaaaaat cgatgctcaa
+      481 gtcagaggtg gcgaaacccg acaggactat aaagatacca ggcgtttccc cctggaagct
+      541 ccctcgtgcg ctctcctgtt ccgaccctgc cgcttaccgg atacctgtcc gcctttctcc
+      601 cttcgggaag cgtggcgctt tctcatagct cacgctgtag gtatctcagt tcggtgtagg
+      661 tcgttcgctc caagctgggc tgtgtgcacg aaccccccgt tcagcccgac cgctgcgcct
+      721 tatccggtaa ctatcgtctt gagtccaacc cggtaagaca cgacttatcg ccactggcag
+      781 cagccactgg taacaggatt agcagagcga ggtatgtagg cggtgctaca gagttcttga
+      841 agtggtggcc taactacggc tacactagaa gaacagtatt tggtatctgc gctctgctga
+      901 agccagttac ctcggaaaaa gagttggtag ctcttgatcc ggcaaacaaa ccaccgctgg
+      961 tagcggtggt ttttttgttt gcaagcagca gattacgcgc agaaaaaaag gatctcaaga
+     1021 agatcctttg attttctacc gaagaaaggc ccacccgtga aggtgagcca gtgagttgat
+     1081 tgcagtccag ttacgctgga gtctgaggct cgtcctgaat gatatcaagc ttgaattcgt
+     1141 tacgtctcga tcccgctcga taagcttgat atcgaattcc gcccctctcc ctcccccccc
+     1201 cctaacgtta ctggccgaag ccgcttggaa taaggccggt gtgcgtttgt ctatatgtta
+     1261 ttttccacca tattgccgtc ttttggcaat gtgagggccc ggaaacctgg ccctgtcttc
+     1321 ttgacgagca ttcctagggg tctttcccct ctcgccaaag gaatgcaagg tctgttgaat
+     1381 gtcgtgaagg aagcagttcc tctggaagct tcttgaagac aaacaacgtc tgtagcgacc
+     1441 ctttgcaggc agcggaaccc cccacctggc gacaggtgcc tctgcggcca aaagccacgt
+     1501 gtataagata cacctgcaaa ggcggcacaa ccccagtgcc acgttgtgag ttggatagtt
+     1561 gtggaaagag tcaaatggct ctcctcaagc gtattcaaca aggggctgaa ggatgcccag
+     1621 aaggtacccc attgtatggg atctgatctg gggcctcggt gcacatgctt tacatgtgtt
+     1681 tagtcgaggt taaaaaacgt ctaggccccc cgaaccacgg ggacgtggtt ttcctttgaa
+     1741 aaacacgatg ataatatggc cacaaccgcg tcgagacgaa gacgaattct ctagatatcg
+     1801 ctcaatactg accatttaaa tcatacctga cctccatagc agaaagtcaa aagcctccga
+     1861 ccggaggctt ttgacttgat cggcacgtaa gaggttccaa ctttcaccat aatgaaataa
+     1921 gatcactacc gggcgtattt tttgagttat cgagattttc aggagctaag gaagctaaaa
+     1981 tgagccatat tcaacgggaa acgtcttgct cgaggccgcg attaaattcc aacatggatg
+     2041 ctgatttata tgggtataaa tgggctcgcg ataatgtcgg gcaatcaggt gcgacaatct
+     2101 atcgattgta tgggaagccc gatgcgccag agttgtttct gaaacatggc aaaggtagcg
+     2161 ttgccaatga tgttacagat gagatggtca ggctaaactg gctgacggaa tttatgcctc
+     2221 ttccgaccat caagcatttt atccgtactc ctgatgatgc atggttactc accactgcga
+     2281 tcccagggaa aacagcattc caggtattag aagaatatcc tgattcaggt gaaaatattg
+     2341 ttgatgcgct ggcagtgttc ctgcgccggt tgcattcgat tcctgtttgt aattgtcctt
+     2401 ttaacggcga tcgcgtattt cgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_a-tubulin.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,103 @@
+LOCUS       .                       3175 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     CDS             7..1359
+                     /codon_start=1
+                     /note="a-Tubulin"
+                     /translation="VRECISIHVGQAGVQIGNACWELYCLEHGIQPDGQMPSDKTIGGG
+                     DDSFNTFFSETGAGKHVPRAVFVDLEPTVIDEVRTGTYRQLFHPEQLITGKEDAANNYA
+                     RGHYTIGKEIIDLVLDRIRKLADQCTGLQGFLVFHSFGGGTGSGFTSLLMERLSVDYGK
+                     KSKLEFSIYPAPQVSTAVVEPYNSILTTHTTLEHSDCAFMVDNEAIYDICRRNLDIERP
+                     TYTNLNRLISQIVSSITASLRFDGALNVDLTEFQTNLVPYPRIHFPLATYAPVISAEKA
+                     YHEQLSVAEITNACFEPANQMVKCDPRHGKYMACCLLYRGDVVPKDVNAAIATIKTKRS
+                     IQFVDWCPTGFKVGINYQPPTVVPGGDLAKVQRAVCMLSNTTAIAEAWARLDHKFDLMY
+                     AKRAFVHWYVGEGMEEGEFSEAREDMAALEKDYEEVGVDSVEGEGEEEGEEY"
+     source          5..1366
+                     /source="Exported"
+     misc_feature    complement(1372..1377)
+                     /note="BsmBI"
+     terminator      1452..1481
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      1503..2090
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      2102..2129
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          1371..2516
+                     /source="Exported"
+     promoter        complement(2969..3071)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      3072..3103
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    3169..3174
+                     /note="BsmBI"
+     source          2521..3175
+                     /source="Exported"
+ORIGIN
+        1 gcgtccgtgc gtgagtgcat ctccatccac gttggccagg ctggtgtcca gattggcaat
+       61 gcctgctggg agctctactg cctggaacac ggcatccagc ccgatggcca gatgccaagt
+      121 gacaagacca ttgggggagg agatgactcc ttcaacacct tcttcagtga aacgggcgct
+      181 ggcaagcacg tgccccgggc tgtgtttgta gacttggaac ccacagtcat tgatgaagtt
+      241 cgcactggca cctaccgcca gctcttccac cctgagcagc tcatcacagg caaggaagat
+      301 gctgccaata actatgcccg agggcactac accattggca aggagatcat tgaccttgtg
+      361 ttggaccgaa ttcgcaagct ggctgaccag tgcaccggtc ttcagggctt cttggttttc
+      421 cacagctttg gtgggggaac tggttctggg ttcacctccc tgctcatgga acgcctctca
+      481 gttgattatg gcaagaagtc caagctggag ttctccattt acccagcacc ccaggtttcc
+      541 acagctgtag ttgagcccta caactccatc ctcaccaccc acaccaccct ggagcactct
+      601 gattgtgcct tcatggtaga caatgaggcc atctatgaca tctgtcgtag aaacctcgat
+      661 atcgagcgcc caacctacac taaccttaac cgccttatta gccagattgt gtcctccatc
+      721 actgcttccc tgagatttga tggagccctg aatgttgacc tgacagaatt ccagaccaac
+      781 ctggtgccct acccccgcat ccacttccct ctggccacat atgcccctgt catctctgct
+      841 gagaaagcct accatgaaca gctttctgta gcagagatca ccaatgcttg ctttgagcca
+      901 gccaaccaga tggtgaaatg tgaccctcgc catggtaaat acatggcttg ctgcctgttg
+      961 taccgtggtg acgtggttcc caaagatgtc aatgctgcca ttgccaccat caaaaccaag
+     1021 cgcagcatcc agtttgtgga ttggtgcccc actggcttca aggttggcat caactaccag
+     1081 cctcccactg tggtgcctgg tggcgacctg gccaaggtac agagagctgt gtgcatgctg
+     1141 agcaacacca cagccattgc tgaggcctgg gctcgcctgg accacaagtt tgacctgatg
+     1201 tatgccaagc gtgcctttgt tcactggtac gtgggtgagg ggatggagga aggcgagttt
+     1261 tcagaggccc gtgaagatat ggctgccctt gagaaggatt atgaggaggt tggtgtggat
+     1321 tctgttgaag gagagggtga ggaagaagga gaggaatact aataactgct cgagacgaaa
+     1381 acgaattcaa gcttgatatc attcaggacg agcctcagac tccagcgtaa ctggactgca
+     1441 atcaactcac tggctcacct tcacgggtgg gcctttcttc ggtagaaaat caaaggatct
+     1501 tcttgagatc ctttttttct gcgcgtaatc tgctgcttgc aaacaaaaaa accaccgcta
+     1561 ccagcggtgg tttgtttgcc ggatcaagag ctaccaactc tttttccgag gtaactggct
+     1621 tcagcagagc gcagatacca aatactgttc ttctagtgta gccgtagtta ggccaccact
+     1681 tcaagaactc tgtagcaccg cctacatacc tcgctctgct aatcctgtta ccagtggctg
+     1741 ctgccagtgg cgataagtcg tgtcttaccg ggttggactc aagacgatag ttaccggata
+     1801 aggcgcagcg gtcgggctga acggggggtt cgtgcacaca gcccagcttg gagcgaacga
+     1861 cctacaccga actgagatac ctacagcgtg agctatgaga aagcgccacg cttcccgaag
+     1921 ggagaaaggc ggacaggtat ccggtaagcg gcagggtcgg aacaggagag cgcacgaggg
+     1981 agcttccagg gggaaacgcc tggtatcttt atagtcctgt cgggtttcgc cacctctgac
+     2041 ttgagcatcg atttttgtga tgctcgtcag gggggcggag cctatggaaa aacgccagca
+     2101 acgcagaaag gcccacccga aggtgagcca ggtgattaca tttgggccct cattagaaaa
+     2161 actcatcgag catcaagtga aactgcaatt tattcatatc aggattatca ataccatatt
+     2221 tttgaaaaag ccgtttctgt aatgaaggag aaaactcacc gaggcagttc cataggatgg
+     2281 caagatcctg gtatcggtct gcgattccga ctcgtccaac atcaatacaa cctattaatt
+     2341 tcccctcgtc aaaaataagg ttatcaagtg agaaatcacc atgagtgacg actgaatccg
+     2401 gtgagaatgg caaaagctta tgcatttctt tccagacttg ttcaacaggc cagccattac
+     2461 gctcgtcatc aaaatcactc gcaccaacca aaccgttatt cattcgtgat tgcgcctgag
+     2521 cgagacgaaa tacgcgatcg ccgttaaaag gacaattaca aacaggaatc gaatgcaacc
+     2581 ggcgcaggaa cactgccagc gcatcaacaa tattttcacc tgaatcagga tattcttcta
+     2641 atacctggaa tgctgttttc cctgggatcg cagtggtgag taaccatgca tcatcaggag
+     2701 tacggataaa atgcttgatg gtcggaagag gcataaattc cgtcagccag tttagcctga
+     2761 ccatctcatc tgtaacatca ttggcaacgc tacctttgcc atgtttcaga aacaactctg
+     2821 gcgcatcggg cttcccatac aatcgataga ttgtcgcacc tgattgcccg acattatcgc
+     2881 gagcccattt atacccatat aaatcagcat ccatgttgga atttaatcgc ggcctcgagc
+     2941 aagacgtttc ccgttgaata tggctcattt tagcttcctt agctcctgaa aatctcgata
+     3001 actcaaaaaa tacgcccggt agtgatctta tttcattatg gtgaaagttg gaacctctta
+     3061 cgtgccgatc aagtcaaaag cctccggtcg gaggcttttg actttctgct atggaggtca
+     3121 ggtatgattt aaatggtcag tattgagcga tatctagaga attcgtcacg tctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_bsdr.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,82 @@
+LOCUS       .                       2214 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2208
+                     /codon_start=1
+                     /note="BSDR- Human codon opt"
+                     /translation="AKPLSQEESTLIERATATINSIPISEDYSVASAALSSDGRIFTGV
+                     NVYHFTGGPCAELVVLGTAAAAAAGNLTCIVAIGNENRGILSPCGRCRQVLLDLHPGIK
+                     AIVKDSDGQPTAVGIRELLPSGYVWEG"
+     source          1814..2214
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccgccaa gcctctgagc caggaggaga gcaccctgat cgagcgcgcc
+     1861 accgccacca tcaacagcat ccctatcagc gaagactaca gcgtggccag cgccgctctg
+     1921 agcagcgacg gccgcatctt cacaggagtg aacgtgtacc acttcaccgg aggaccttgc
+     1981 gccgaactgg tggtgctggg caccgctgcc gctgctgccg ctggaaacct gacctgcatc
+     2041 gtggccatcg gcaacgagaa ccgcggaatc ctgagccctt gcggccgctg ccgccaggtg
+     2101 ctgctggacc tgcaccccgg catcaaggcc atcgtgaagg acagcgacgg ccagcccacc
+     2161 gccgtgggca tccgcgagct gctgcccagc ggctacgtgt gggaaggcta ataa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_dmrc.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,83 @@
+LOCUS       .                       2101 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2094
+                     /codon_start=1
+                     /note="FRB* (DmrC)"
+                     /note="binds synthetic ligands such as AP21967"
+                     /product="T2098L mutant of FKBP-rapamycin binding domain of
+                     human FRAP"
+                     /translation="ILWHEMWHEGLEEASRLYFGERNVKGMFEVLEPLHAMMERGPQTL
+                     KETSFNQAYGRDLMEAQEWCRKYMKSGNVKDLLQAWDLYYHVFRRISK"
+     source          1814..2101
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccatcct ctggcatgag atgtggcatg aaggcctgga agaggcatct
+     1861 cgtttgtact ttggggaaag gaacgtgaaa ggcatgtttg aggtgctgga gcccttgcat
+     1921 gctatgatgg aacggggccc ccagactctg aaggaaacat cctttaatca ggcctatggt
+     1981 cgagatttaa tggaggccca agagtggtgc aggaagtaca tgaaatcagg gaatgtcaag
+     2041 gacctcctcc aagcctggga cctctattat catgtgttcc gacgaatctc aaagtaataa
+     2101 c
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_firefly luciferase.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,120 @@
+LOCUS       .                       3549 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     CDS             7..1653
+                     /codon_start=1
+                     /note="Firefly luciferase"
+                     /translation="EDAKNIKKGPAPRYPLEDGTAGEQLHKAMKRYAQVPGTIAFTDAH
+                     IEVNITYAEYFEMSVRLAEAMKRYGLNTNHRIVVCSENSLQFFMPVLGALFIGVAVAPA
+                     NDIYNERELLNSMNISQPTVVFVSKKGLQKILNVQKKLPIIQKIIIMDSKTDYQGFQSM
+                     YTFVTSHLPPGFNEYDFKPESFDRDKTIALIMNSSGSTGLPKGVALPHRTACVRFSHAR
+                     DPIFGNQIKPDTAILSVVPFHHGFGMFTTLGYLICGFRVVLMYRFEEELFLRSLQDYKI
+                     QTALLVPTLFSFFAKSTLIDKYDLSNLHEIASGGAPLSKEVGEAVAKRFHLPGIRQGYG
+                     LTETTSAILITPEGDDKPGAVGKVVPFFEAKVVDLDTGKTLGVNQRGELCVRGPMIMSG
+                     YVNNPEATNALIDKDGWLHSGDIAYWDEDEHFFIVDRLKSLIKYKGYQVAPAELESILL
+                     QHPNIRDAGVAGLPDDDAGELPAAVVVLEHGKTMTEKEIVDYVASQVTTAKKLRGGVVF
+                     VDEVPKGLTGKLDARKIREILIKAKKGGKIAV"
+     CDS             1654..1668
+                     /codon_start=1
+                     /note="Linker"
+                     /translation="SGGGS"
+     CDS             1669..1734
+                     /codon_start=1
+                     /note="3XFLAG"
+                     /translation="DYKDHDGDYKDHDIDYKDDDDK"
+     source          5..1740
+                     /source="Exported"
+     misc_feature    complement(1746..1751)
+                     /note="BsmBI"
+     terminator      1826..1855
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      1877..2464
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      2476..2503
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          1745..2890
+                     /source="Exported"
+     promoter        complement(3343..3445)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      3446..3477
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    3543..3548
+                     /note="BsmBI"
+     source          2895..3549
+                     /source="Exported"
+ORIGIN
+        1 gcgtccgagg acgccaagaa catcaagaag ggaccagccc ccagataccc cctggaggac
+       61 ggcacagccg gcgagcagct gcacaaggcc atgaagcggt acgcccaggt gccaggcacc
+      121 atcgccttca ccgacgccca catcgaggtg aacatcacct acgccgagta cttcgagatg
+      181 agcgtgcggc tggccgaggc catgaagcgg tacggcctga acaccaacca ccgcatcgtg
+      241 gtttgcagcg aaaacagcct gcagttcttt atgccagttc tgggagcact gttcatcgga
+      301 gttgcagtgg ccccagcaaa cgacatctac aacgaacgcg agctgctgaa ctccatgaac
+      361 atcagccagc caaccgttgt gttcgtgagc aagaaaggcc tgcagaagat tctgaatgtg
+      421 cagaagaagc tgccaatcat tcagaagatc attatcatgg acagcaagac cgattaccag
+      481 ggcttccaga gcatgtacac cttcgtgacc agccacctgc ccccaggctt caacgagtac
+      541 gacttcaagc ccgagagctt cgaccgggac aagaccatcg ccctgatcat gaacagcagc
+      601 ggcagcaccg gcctgcccaa gggcgtggcc ctgccccacc ggaccgcctg cgtgcggttc
+      661 agccacgcca gggaccccat cttcggcaac cagatcaagc cagacaccgc tatcctgagc
+      721 gttgtgccat tccaccacgg cttcggcatg ttcaccaccc tgggctacct gatctgcggc
+      781 ttccgggtgg tgctgatgta caggttcgag gaggagctgt tcctgcggag cctgcaggac
+      841 tacaagatcc agaccgccct gctggtgccc accctgttca gcttcttcgc caagagcacc
+      901 ctgatcgaca agtacgacct gagcaacctg cacgagatcg cctctggcgg agccccactg
+      961 agcaaggagg tgggcgaggc cgtggccaag cggttccacc tgccaggcat ccggcagggc
+     1021 tacgggctga ccgaaaccac tagcgccatc ctgatcaccc ccgagggcga cgacaagccc
+     1081 ggagccgtgg gcaaggtggt tccattcttt gaggccaaag ttgtggacct ggataccggg
+     1141 aagaccctgg gcgtgaacca gagaggcgag ctgtgcgtga gaggccccat gatcatgagc
+     1201 ggctacgtga acaaccccga ggccaccaac gccctgatcg acaaggatgg ctggctgcac
+     1261 agcggcgaca tcgcctactg ggatgaggac gagcacttct ttatcgtgga tcggctgaag
+     1321 agcctgatca aatacaaggg ctaccaggtg gccccagccg agctggagag catcctgctg
+     1381 cagcacccca acatccggga cgccggagtg gccggactgc ccgacgacga cgccggagag
+     1441 ctgccagccg ccgtggtggt gctggagcac ggcaagacca tgaccgagaa ggagatcgtg
+     1501 gactacgtgg ccagccaggt gaccaccgcc aaaaagctga gaggaggcgt ggtcttcgtg
+     1561 gatgaagtgc ccaagggcct gaccgggaag ctggacgcca gaaagatccg ggagatcctg
+     1621 atcaaggcca agaagggcgg caagatcgca gtgagcggag gcgggagcga ctacaaagac
+     1681 catgacggtg attataaaga tcatgacatc gattacaagg atgacgatga caagtaataa
+     1741 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+     1801 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+     1861 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+     1921 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+     1981 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+     2041 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+     2101 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+     2161 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+     2221 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+     2281 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+     2341 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+     2401 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+     2461 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+     2521 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+     2581 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+     2641 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+     2701 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     2761 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     2821 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     2881 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     2941 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     3001 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     3061 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     3121 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     3181 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     3241 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     3301 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     3361 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     3421 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     3481 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     3541 cacgtctcg
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_mneogreen.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,92 @@
+LOCUS       .                       2526 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2520
+                     /codon_start=1
+                     /note="mNeonGreen"
+                     /product="bright monomeric yellow-green fluorescent protein
+                     derived from LanYFP (Shaner et al., 2013)"
+                     /translation="VSKGEEDNMASLPATHELHIFGSINGVDFDMVGQGTGNPNDGYEE
+                     LNLKSTKGDLQFSPWILVPHIGYGFHQYLPYPDGMSPFQAAMVDGSGYQVHRTMQFEDG
+                     ASLTVNYRYTYEGSHIKGEAQVKGTGFPADGPVMTNSLTAADWCRSKKTYPNDKTIIST
+                     FKWSYTTGNGKRYRSTARTTYTFAKPMAANYLKNQPMYVFRKTELKHSKTELNFKEWQK
+                     AFTDVMGMDELYK"
+     source          1814..2526
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccgtgag caagggcgag gaggataaca tggcctctct cccagcgaca
+     1861 catgagttac acatctttgg ctccatcaac ggtgtggact ttgacatggt gggtcagggc
+     1921 accggcaatc caaatgatgg ttatgaggag ttaaacctga agtccaccaa gggtgacctc
+     1981 cagttctccc cctggattct ggtccctcat atcgggtatg gcttccatca gtacctgccc
+     2041 taccctgacg ggatgtcgcc tttccaggcc gccatggtag atggctccgg ataccaagtc
+     2101 catcgcacaa tgcagtttga agatggtgcc tcccttactg ttaactaccg ctacacctac
+     2161 gagggaagcc acatcaaagg agaggcccag gtgaagggga ctggtttccc tgctgacggt
+     2221 cctgtgatga ccaactcgct gaccgctgcg gactggtgca ggtcgaagaa gacttacccc
+     2281 aacgacaaaa ccatcatcag tacctttaag tggagttaca ccactggaaa tggcaagcgc
+     2341 taccggagca ctgcgcggac cacctacacc tttgccaagc caatggcggc taactatctg
+     2401 aagaaccagc cgatgtacgt gttccgtaag acggagctca agcactccaa gaccgagctc
+     2461 aacttcaagg agtggcaaaa ggcctttacc gatgtgatgg gcatggacga gctgtacaag
+     2521 taataa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_mruby2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,93 @@
+LOCUS       .                       2529 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2523
+                     /codon_start=1
+                     /note="mRuby2"
+                     /product="monomeric red fluorescent protein derived from
+                     mRuby, with improved photophysical properties (Lam et al.,
+                     2012)"
+                     /translation="VSKGEELIKENMRMKVVMEGSVNGHQFKCTGEGEGNPYMGTQTMR
+                     IKVIEGGPLPFAFDILATSFMYGSRTFIKYPKGIPDFFKQSFPEGFTWERVTRYEDGGV
+                     VTVMQDTSLEDGCLVYHVQVRGVNFPSNGPVMQKKTKGWEPNTEMMYPADGGLRGYTHM
+                     ALKVDGGGHLSCSFVTTYRSKKTVGNIKMPGIHAVDHRLERLEESDNEMFVVQREHAVA
+                     KFAGLGGGMDELYK"
+     source          1814..2529
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccgtgtc taagggcgaa gagctgatca aggaaaatat gcgtatgaag
+     1861 gtggtcatgg aaggttcggt caacggccac caattcaaat gcacaggtga aggagaaggc
+     1921 aatccgtaca tgggaactca aaccatgagg atcaaagtca tcgagggagg acccctgcca
+     1981 tttgcctttg acattcttgc cacgtcgttc atgtatggca gccgtacttt tatcaagtac
+     2041 ccgaaaggca ttcctgattt ctttaaacag tcctttcctg agggttttac ttgggaaaga
+     2101 gttacgagat acgaagatgg tggagtcgtc accgtcatgc aggacaccag ccttgaggat
+     2161 ggctgtctcg tttaccacgt ccaagtcaga ggggtaaact ttccctccaa tggtcccgtg
+     2221 atgcagaaga agaccaaggg ttgggagcct aatacagaga tgatgtatcc agcagatggt
+     2281 ggtctgaggg gatacactca tatggcactg aaagttgatg gtggtggcca tctgtcttgc
+     2341 tctttcgtaa caacttacag gtcaaaaaag accgtcggga acatcaagat gcccggtatc
+     2401 catgccgttg atcaccgcct ggaaaggtta gaggaaagtg acaatgaaat gttcgtagta
+     2461 caacgcgaac acgcagttgc caagttcgcc gggcttggtg gtgggatgga cgagctgtac
+     2521 aagtaataa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_mtagbfp2.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,93 @@
+LOCUS       .                       2526 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2523
+                     /codon_start=1
+                     /note="mTagBFP2"
+                     /note="mammalian codon-optimized"
+                     /product="enhanced monomeric blue fluorescent protein
+                     (Subach et al., 2011)"
+                     /translation="VSKGEELIKENMHMKLYMEGTVDNHHFKCTSEGEGKPYEGTQTMR
+                     IKVVEGGPLPFAFDILATSFLYGSKTFINHTQGIPDFFKQSFPEGFTWERVTTYEDGGV
+                     LTATQDTSLQDGCLIYNVKIRGVNFTSNGPVMQKKTLGWEAFTETLYPADGGLEGRNDM
+                     ALKLVGGSHLIANAKTTYRSKKPAKNLKMPGVYYVDYRLERIKEANNETYVEQHEVAVA
+                     RYCDLPSKLGHKLN"
+     source          1814..2526
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccgtgtc taagggcgaa gagctgatta aggagaacat gcacatgaag
+     1861 ctgtacatgg agggcaccgt ggacaaccat cacttcaagt gcacatccga gggcgaaggc
+     1921 aagccctacg agggcaccca gaccatgaga atcaaggtgg tcgagggcgg ccctctcccc
+     1981 ttcgccttcg acatcctggc tactagcttc ctctacggca gcaagacctt catcaaccac
+     2041 acccagggca tccccgactt cttcaagcag tccttccctg agggcttcac atgggagaga
+     2101 gtcaccacat acgaagacgg gggcgtgctg accgctaccc aggacaccag cctccaggac
+     2161 ggctgcctca tctacaacgt caagatcaga ggggtgaact tcacatccaa cggccctgtg
+     2221 atgcagaaga aaacactcgg ctgggaggcc ttcaccgaaa cgctgtaccc cgctgacggc
+     2281 ggcctggaag gcagaaacga catggccctg aagctcgtgg gcgggagcca tctgatcgca
+     2341 aacgccaaga ccacatatag atccaagaaa cccgctaaga acctcaagat gcctggcgtc
+     2401 tactatgtgg actacagact ggaaagaatc aaggaggcca acaacgaaac ctacgtcgag
+     2461 cagcacgagg tggcagtggc cagatactgc gacctcccta gcaaactggg gcacaagctt
+     2521 aattaa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_neor.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,94 @@
+LOCUS       .                       2628 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2628
+                     /codon_start=1
+                     /note="KanR/NeoR"
+                     /note="confers resistance to kanamycin in bacteria or G418
+                     (Geneticin(R)) in eukaryotes"
+                     /product="aminoglycoside phosphotransferase"
+                     /translation="SHIQRETSCSRPRLNSNMDADLYGYKWARDNVGQSGATIYRLYGK
+                     PDAPELFLKHGKGSVANDVTDEMVRLNWLTEFMPLPTIKHFIRTPDDAWLLTTAIPGKT
+                     AFQVLEEYPDSGENIVDALAVFLRRLHSIPVCNCPFNSDRVFRLAQAQSRMNNGLVDAS
+                     DFDDERNGWPVEQVWKEMHKLLPFSPDSVVTHGDFSLDNLIFDEGKLIGCIDVGRVGIA
+                     DRYQDLAILWNCLGEFSPSLQKRLFQKYGIDNPDMNKLQFHLMLDEFF"
+     source          1814..2628
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccagcca tattcaacgg gaaacgtctt gctcgaggcc gcgattaaat
+     1861 tccaacatgg atgctgattt atatgggtat aaatgggctc gcgataatgt cgggcaatca
+     1921 ggtgcgacaa tctatcgatt gtatgggaag cccgatgcgc cagagttgtt tctgaaacat
+     1981 ggcaaaggta gcgttgccaa tgatgttaca gatgagatgg tcagactaaa ctggctgacg
+     2041 gaatttatgc ctcttccgac catcaagcat tttatccgta ctcctgatga tgcatggtta
+     2101 ctcaccactg cgatccccgg gaaaacagca ttccaggtat tagaagaata tcctgattca
+     2161 ggtgaaaata ttgttgatgc gctggcagtg ttcctgcgcc ggttgcattc gattcctgtt
+     2221 tgtaattgtc cttttaacag cgatcgcgta tttcgtctgg ctcaggcgca atcacgaatg
+     2281 aataacggtt tggttgatgc gagtgatttt gatgacgagc gtaatggctg gcctgttgaa
+     2341 caagtctgga aagaaatgca taagcttttg ccattctcac cggattcagt cgtcactcat
+     2401 ggtgatttct cacttgataa ccttattttt gacgagggga aattaatagg ttgtattgat
+     2461 gttggacgag tcggaatcgc agaccgatac caggatcttg ccatcctatg gaactgcctc
+     2521 ggtgagtttt ctccttcatt acagaaacgg ctttttcaaa aatatggtat tgataatcct
+     2581 gatatgaata aattgcagtt tcatttgatg ctcgatgagt ttttctaa
+//
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/emma_parts/p9_puror.gb	Thu Oct 16 14:27:06 2025 +0000
@@ -0,0 +1,90 @@
+LOCUS       .                       2415 bp    DNA              UNK 01-JAN-1980
+DEFINITION  .
+ACCESSION   <unknown id>
+VERSION     <unknown id>
+KEYWORDS    .
+SOURCE      .
+  ORGANISM  .
+            .
+FEATURES             Location/Qualifiers
+     misc_feature    complement(6..11)
+                     /note="BsmBI"
+     terminator      86..115
+                     /note="T3Te terminator"
+                     /note="phage T3 early transcription terminator"
+     rep_origin      137..724
+                     /direction=RIGHT
+                     /note="ori"
+                     /note="high-copy-number ColE1/pMB1/pBR322/pUC origin of
+                     replication"
+     terminator      736..763
+                     /note="T7Te terminator"
+                     /note="phage T7 early transcription terminator"
+     source          5..1150
+                     /source="Exported"
+     promoter        complement(1603..1705)
+                     /note="cat promoter"
+                     /note="promoter of the E. coli cat gene"
+     terminator      1706..1737
+                     /note="tonB terminator"
+                     /note="bidirectional E. coli tonB-P14 transcription
+                     terminator"
+     misc_feature    1803..1808
+                     /note="BsmBI"
+     source          1155..1809
+                     /source="Exported"
+     CDS             1816..2412
+                     /codon_start=1
+                     /gene="pac from Streptomyces"
+                     /note="PuroR"
+                     /note="confers resistance to puromycin"
+                     /product="puromycin N-acetyltransferase"
+                     /translation="TEYKPTVRLATRDDVPRAVRTLAAAFADYPATRHTVDPDRHIERV
+                     TELQELFLTRVGLDIGKVWVADDGAAVAVWTTPESVEAGAVFAEIGPRMAELSGSRLAA
+                     QQQMEGLLAPHRPKEPAWFLATVGVSPDHQGKGLGSAVVLPGVEAAERAGVPAFLETSA
+                     PRNLPFYERLGFTVTADVECPKDRATWCMTRKPGA"
+     source          1814..2415
+                     /source="Exported"
+ORIGIN
+        1 tgctcgagac gaaaacgaat tcaagcttga tatcattcag gacgagcctc agactccagc
+       61 gtaactggac tgcaatcaac tcactggctc accttcacgg gtgggccttt cttcggtaga
+      121 aaatcaaagg atcttcttga gatccttttt ttctgcgcgt aatctgctgc ttgcaaacaa
+      181 aaaaaccacc gctaccagcg gtggtttgtt tgccggatca agagctacca actctttttc
+      241 cgaggtaact ggcttcagca gagcgcagat accaaatact gttcttctag tgtagccgta
+      301 gttaggccac cacttcaaga actctgtagc accgcctaca tacctcgctc tgctaatcct
+      361 gttaccagtg gctgctgcca gtggcgataa gtcgtgtctt accgggttgg actcaagacg
+      421 atagttaccg gataaggcgc agcggtcggg ctgaacgggg ggttcgtgca cacagcccag
+      481 cttggagcga acgacctaca ccgaactgag atacctacag cgtgagctat gagaaagcgc
+      541 cacgcttccc gaagggagaa aggcggacag gtatccggta agcggcaggg tcggaacagg
+      601 agagcgcacg agggagcttc cagggggaaa cgcctggtat ctttatagtc ctgtcgggtt
+      661 tcgccacctc tgacttgagc atcgattttt gtgatgctcg tcaggggggc ggagcctatg
+      721 gaaaaacgcc agcaacgcag aaaggcccac ccgaaggtga gccaggtgat tacatttggg
+      781 ccctcattag aaaaactcat cgagcatcaa gtgaaactgc aatttattca tatcaggatt
+      841 atcaatacca tatttttgaa aaagccgttt ctgtaatgaa ggagaaaact caccgaggca
+      901 gttccatagg atggcaagat cctggtatcg gtctgcgatt ccgactcgtc caacatcaat
+      961 acaacctatt aatttcccct cgtcaaaaat aaggttatca agtgagaaat caccatgagt
+     1021 gacgactgaa tccggtgaga atggcaaaag cttatgcatt tctttccaga cttgttcaac
+     1081 aggccagcca ttacgctcgt catcaaaatc actcgcacca accaaaccgt tattcattcg
+     1141 tgattgcgcc tgagcgagac gaaatacgcg atcgccgtta aaaggacaat tacaaacagg
+     1201 aatcgaatgc aaccggcgca ggaacactgc cagcgcatca acaatatttt cacctgaatc
+     1261 aggatattct tctaatacct ggaatgctgt tttccctggg atcgcagtgg tgagtaacca
+     1321 tgcatcatca ggagtacgga taaaatgctt gatggtcgga agaggcataa attccgtcag
+     1381 ccagtttagc ctgaccatct catctgtaac atcattggca acgctacctt tgccatgttt
+     1441 cagaaacaac tctggcgcat cgggcttccc atacaatcga tagattgtcg cacctgattg
+     1501 cccgacatta tcgcgagccc atttataccc atataaatca gcatccatgt tggaatttaa
+     1561 tcgcggcctc gagcaagacg tttcccgttg aatatggctc attttagctt ccttagctcc
+     1621 tgaaaatctc gataactcaa aaaatacgcc cggtagtgat cttatttcat tatggtgaaa
+     1681 gttggaacct cttacgtgcc gatcaagtca aaagcctccg gtcggaggct tttgactttc
+     1741 tgctatggag gtcaggtatg atttaaatgg tcagtattga gcgatatcta gagaattcgt
+     1801 cacgtctcgg cgtccaccga gtacaagccc acggtgcgcc tcgccacccg cgacgacgtc
+     1861 cccagggccg tacgcaccct cgccgccgcg ttcgccgact accccgccac gcgccacacc
+     1921 gtcgatccgg accgccacat cgagcgggtc accgagctgc aagaactctt cctcacgcgc
+     1981 gtcgggctcg acatcggcaa ggtgtgggtc gcggacgacg gcgccgcggt ggcggtctgg
+     2041 accacgccgg agagcgtcga agcgggggcg gtgttcgccg agatcggccc gcgcatggcc
+     2101 gagttgagcg gttcccggct ggccgcgcag caacagatgg aaggcctcct ggcgccgcac
+     2161 cggcccaagg agcccgcgtg gttcctggcc accgtcggcg tgtcgcccga ccaccagggc
+     2221 aagggtctgg gcagcgccgt cgtgctcccc ggagtggagg cggccgagcg cgccggggtg
+     2281 cccgccttcc tggaaacctc cgcgccccgc aacctcccct tctacgagcg gctcggcttc
+     2341 accgtcaccg ccgacgtcga gtgcccgaag gaccgcgcga cctggtgcat gacccgcaag
+     2401 cccggtgcct aataa
+//
Binary file test-data/example_echo_plate.xlsx has changed
Binary file test-data/example_picklist.xls has changed