Repository 'cpt_req_phage_start'
hg clone https://toolshed.g2.bx.psu.edu/repos/cpt/cpt_req_phage_start

Changeset 0:45a5cf6b0ff4 (2022-05-13)
Next changeset 1:dca61f5e2d43 (2022-05-20)
Commit message:
Uploaded
added:
cpt_req_phage_start/cpt-macros.xml
cpt_req_phage_start/gff3.py
cpt_req_phage_start/gff3_require_phage_start.py
cpt_req_phage_start/gff3_require_phage_start.xml
cpt_req_phage_start/macros.xml
cpt_req_phage_start/test-data/Miro_ReqPhageIn.fa
cpt_req_phage_start/test-data/Miro_ReqPhageIn.gff3
cpt_req_phage_start/test-data/Miro_ReqPhageOut.gff3
cpt_req_phage_start/test-data/T7_ReqPhageIn.fasta
cpt_req_phage_start/test-data/T7_ReqPhageIn.gff3
cpt_req_phage_start/test-data/T7_ReqPhageOut.gff3
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/cpt-macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/cpt-macros.xml Fri May 13 05:31:56 2022 +0000
[
@@ -0,0 +1,115 @@
+<?xml version="1.0"?>
+<macros>
+ <xml name="gff_requirements">
+ <requirements>
+ <requirement type="package" version="2.7">python</requirement>
+ <requirement type="package" version="1.65">biopython</requirement>
+ <requirement type="package" version="2.12.1">requests</requirement>
+ <yield/>
+ </requirements>
+ <version_command>
+ <![CDATA[
+ cd $__tool_directory__ && git rev-parse HEAD
+ ]]>
+ </version_command>
+ </xml>
+ <xml name="citation/mijalisrasche">
+ <citation type="doi">10.1371/journal.pcbi.1008214</citation>
+ <citation type="bibtex">@unpublished{galaxyTools,
+ author = {E. Mijalis, H. Rasche},
+ title = {CPT Galaxy Tools},
+ year = {2013-2017},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+ </citation>
+ </xml>
+ <xml name="citations">
+ <citations>
+ <citation type="doi">10.1371/journal.pcbi.1008214</citation>
+ <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {E. Mijalis, H. Rasche},
+ title = {CPT Galaxy Tools},
+ year = {2013-2017},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+ </citation> 
+ <yield/>
+ </citations>
+ </xml>
+     <xml name="citations-crr">
+ <citations>
+ <citation type="doi">10.1371/journal.pcbi.1008214</citation>
+ <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {C. Ross},
+ title = {CPT Galaxy Tools},
+ year = {2020-},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+ </citation>
+ <yield/>
+ </citations>
+ </xml>
+        <xml name="citations-2020">
+ <citations>
+ <citation type="doi">10.1371/journal.pcbi.1008214</citation>
+ <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {E. Mijalis, H. Rasche},
+ title = {CPT Galaxy Tools},
+ year = {2013-2017},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+ </citation>
+                        <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {A. Criscione},
+ title = {CPT Galaxy Tools},
+ year = {2019-2021},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+                        </citation>
+                        <yield/>
+ </citations>
+ </xml>
+        <xml name="citations-2020-AJC-solo">
+ <citations>
+ <citation type="doi">10.1371/journal.pcbi.1008214</citation>
+                        <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {A. Criscione},
+ title = {CPT Galaxy Tools},
+ year = {2019-2021},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+                        </citation>
+                        <yield/>
+ </citations>
+ </xml>
+        <xml name="citations-clm">
+ <citations>
+ <citation type="doi">10.1371/journal.pcbi.1008214</citation>
+ <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {C. Maughmer},
+ title = {CPT Galaxy Tools},
+ year = {2017-2020},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+ </citation>
+                        <yield/>
+ </citations>
+ </xml>
+        <xml name="sl-citations-clm">
+ <citation type="bibtex">
+ @unpublished{galaxyTools,
+ author = {C. Maughmer},
+ title = {CPT Galaxy Tools},
+ year = {2017-2020},
+ note = {https://github.com/tamu-cpt/galaxy-tools/}
+ }
+ </citation>
+                        <yield/>
+ </xml>
+</macros>
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/gff3.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/gff3.py Fri May 13 05:31:56 2022 +0000
[
b'@@ -0,0 +1,346 @@\n+import copy\n+import logging\n+\n+log = logging.getLogger()\n+log.setLevel(logging.WARN)\n+\n+\n+def feature_lambda(\n+    feature_list,\n+    test,\n+    test_kwargs,\n+    subfeatures=True,\n+    parent=None,\n+    invert=False,\n+    recurse=True,\n+):\n+    """Recursively search through features, testing each with a test function, yielding matches.\n+\n+    GFF3 is a hierachical data structure, so we need to be able to recursively\n+    search through features. E.g. if you\'re looking for a feature with\n+    ID=\'bob.42\', you can\'t just do a simple list comprehension with a test\n+    case. You don\'t know how deeply burried bob.42 will be in the feature tree. This is where feature_lambda steps in.\n+\n+    :type feature_list: list\n+    :param feature_list: an iterable of features\n+\n+    :type test: function reference\n+    :param test: a closure with the method signature (feature, **kwargs) where\n+                 the kwargs are those passed in the next argument. This\n+                 function should return True or False, True if the feature is\n+                 to be yielded as part of the main feature_lambda function, or\n+                 False if it is to be ignored. This function CAN mutate the\n+                 features passed to it (think "apply").\n+\n+    :type test_kwargs: dictionary\n+    :param test_kwargs: kwargs to pass to your closure when it is called.\n+\n+    :type subfeatures: boolean\n+    :param subfeatures: when a feature is matched, should just that feature be\n+                        yielded to the caller, or should the entire sub_feature\n+                        tree for that feature be included? subfeatures=True is\n+                        useful in cases such as searching for a gene feature,\n+                        and wanting to know what RBS/Shine_Dalgarno_sequences\n+                        are in the sub_feature tree (which can be accomplished\n+                        with two feature_lambda calls). subfeatures=False is\n+                        useful in cases when you want to process (and possibly\n+                        return) the entire feature tree, such as applying a\n+                        qualifier to every single feature.\n+\n+    :type invert: boolean\n+    :param invert: Negate/invert the result of the filter.\n+\n+    :rtype: yielded list\n+    :return: Yields a list of matching features.\n+    """\n+    # Either the top level set of [features] or the subfeature attribute\n+    for feature in feature_list:\n+        feature._parent = parent\n+        if not parent:\n+            # Set to self so we cannot go above root.\n+            feature._parent = feature\n+        test_result = test(feature, **test_kwargs)\n+        # if (not invert and test_result) or (invert and not test_result):\n+        if invert ^ test_result:\n+            if not subfeatures:\n+                feature_copy = copy.deepcopy(feature)\n+                feature_copy.sub_features = list()\n+                yield feature_copy\n+            else:\n+                yield feature\n+\n+        if recurse and hasattr(feature, "sub_features"):\n+            for x in feature_lambda(\n+                feature.sub_features,\n+                test,\n+                test_kwargs,\n+                subfeatures=subfeatures,\n+                parent=feature,\n+                invert=invert,\n+                recurse=recurse,\n+            ):\n+                yield x\n+\n+\n+def fetchParent(feature):\n+    if not hasattr(feature, "_parent") or feature._parent is None:\n+        return feature\n+    else:\n+        return fetchParent(feature._parent)\n+\n+\n+def feature_test_true(feature, **kwargs):\n+    return True\n+\n+\n+def feature_test_type(feature, **kwargs):\n+    if "type" in kwargs:\n+        return str(feature.type).upper() == str(kwargs["type"]).upper()\n+    elif "types" in kwargs:\n+      for x in kwargs["types"]:\n+        if str(feature.type).upper() == str(x).upper():\n+          return True\n+      return False\n+    raise Exception("Incorrect feature_test_type call, ne'..b'feature.location.start,\n+        # feature.location.end,\n+        # feature.location.strand\n+        # )\n+    return result\n+\n+\n+def get_gff3_id(gene):\n+    return gene.qualifiers.get("Name", [gene.id])[0]\n+\n+\n+def ensure_location_in_bounds(start=0, end=0, parent_length=0):\n+    # This prevents frameshift errors\n+    while start < 0:\n+        start += 3\n+    while end < 0:\n+        end += 3\n+    while start > parent_length:\n+        start -= 3\n+    while end > parent_length:\n+        end -= 3\n+    return (start, end)\n+\n+\n+def coding_genes(feature_list):\n+    for x in genes(feature_list):\n+        if (\n+            len(\n+                list(\n+                    feature_lambda(\n+                        x.sub_features,\n+                        feature_test_type,\n+                        {"type": "CDS"},\n+                        subfeatures=False,\n+                    )\n+                )\n+            )\n+            > 0\n+        ):\n+            yield x\n+\n+\n+def genes(feature_list, feature_type="gene", sort=False):\n+    """\n+    Simple filter to extract gene features from the feature set.\n+    """\n+\n+    if not sort:\n+        for x in feature_lambda(\n+            feature_list, feature_test_type, {"type": feature_type}, subfeatures=True\n+        ):\n+            yield x\n+    else:\n+        data = list(genes(feature_list, feature_type=feature_type, sort=False))\n+        data = sorted(data, key=lambda feature: feature.location.start)\n+        for x in data:\n+            yield x\n+\n+\n+def wa_unified_product_name(feature):\n+    """\n+    Try and figure out a name. We gave conflicting instructions, so\n+    this isn\'t as trivial as it should be. Sometimes it will be in\n+    \'product\' or \'Product\', othertimes in \'Name\'\n+    """\n+    # Manually applied tags.\n+    protein_product = feature.qualifiers.get(\n+        "product", feature.qualifiers.get("Product", [None])\n+    )[0]\n+\n+    # If neither of those are available ...\n+    if protein_product is None:\n+        # And there\'s a name...\n+        if "Name" in feature.qualifiers:\n+            if not is_uuid(feature.qualifiers["Name"][0]):\n+                protein_product = feature.qualifiers["Name"][0]\n+\n+    return protein_product\n+\n+\n+def is_uuid(name):\n+    return name.count("-") == 4 and len(name) == 36\n+\n+\n+def get_rbs_from(gene):\n+    # Normal RBS annotation types\n+    rbs_rbs = list(\n+        feature_lambda(\n+            gene.sub_features, feature_test_type, {"type": "RBS"}, subfeatures=False\n+        )\n+    )\n+    rbs_sds = list(\n+        feature_lambda(\n+            gene.sub_features,\n+            feature_test_type,\n+            {"type": "Shine_Dalgarno_sequence"},\n+            subfeatures=False,\n+        )\n+    )\n+    # Fraking apollo\n+    apollo_exons = list(\n+        feature_lambda(\n+            gene.sub_features, feature_test_type, {"type": "exon"}, subfeatures=False\n+        )\n+    )\n+    apollo_exons = [x for x in apollo_exons if len(x) < 10]\n+    # These are more NCBI\'s style\n+    regulatory_elements = list(\n+        feature_lambda(\n+            gene.sub_features,\n+            feature_test_type,\n+            {"type": "regulatory"},\n+            subfeatures=False,\n+        )\n+    )\n+    rbs_regulatory = list(\n+        feature_lambda(\n+            regulatory_elements,\n+            feature_test_quals,\n+            {"regulatory_class": ["ribosome_binding_site"]},\n+            subfeatures=False,\n+        )\n+    )\n+    # Here\'s hoping you find just one ;)\n+    return rbs_rbs + rbs_sds + rbs_regulatory + apollo_exons\n+\n+\n+def nice_name(record):\n+    """\n+    get the real name rather than NCBI IDs and so on. If fails, will return record.id\n+    """\n+    name = record.id\n+    likely_parental_contig = list(genes(record.features, feature_type="contig"))\n+    if len(likely_parental_contig) == 1:\n+        name = likely_parental_contig[0].qualifiers.get("organism", [name])[0]\n+    return name\n+\n+\n+def fsort(it):\n+    for i in sorted(it, key=lambda x: int(x.location.start)):\n+        yield i\n'
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/gff3_require_phage_start.py
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/gff3_require_phage_start.py Fri May 13 05:31:56 2022 +0000
[
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+import sys
+import argparse
+import logging
+from Bio import SeqIO
+from CPT_GFFParser import gffParse, gffWrite
+from gff3 import feature_lambda, feature_test_type
+
+logging.basicConfig(level=logging.INFO)
+log = logging.getLogger(__name__)
+
+
+def require_shinefind(gff3, fasta):
+    # Load up sequence(s) for GFF3 data
+    seq_dict = SeqIO.to_dict(SeqIO.parse(fasta, "fasta"))
+    # Parse GFF3 records
+    for record in gffParse(gff3, base_dict=seq_dict):
+        # Reopen
+        genes = list(
+            feature_lambda(
+                record.features, feature_test_type, {"type": "gene"}, subfeatures=True
+            )
+        )
+        good_genes = []
+        for gene in genes:
+            cdss = list(
+                feature_lambda(
+                    gene.sub_features,
+                    feature_test_type,
+                    {"type": "CDS"},
+                    subfeatures=False,
+                )
+            )
+            if len(cdss) == 0:
+                continue
+
+            one_good_cds = False
+            for cds in cdss:
+                if cds.extract(record).seq[0:3].upper() in ("GTG", "ATG", "TTG"):
+                    one_good_cds = True
+
+            if one_good_cds:
+                good_genes.append(gene)
+        record.features = good_genes
+        record.annotations = {}
+        yield record
+
+
+if __name__ == "__main__":
+    parser = argparse.ArgumentParser(description="Require specific start codons")
+    parser.add_argument("fasta", type=argparse.FileType("r"), help="Fasta Genome")
+    parser.add_argument("gff3", type=argparse.FileType("r"), help="GFF3 annotations")
+    args = parser.parse_args()
+
+    for rec in require_shinefind(**vars(args)):
+        gffWrite([rec], sys.stdout)
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/gff3_require_phage_start.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/gff3_require_phage_start.xml Fri May 13 05:31:56 2022 +0000
[
@@ -0,0 +1,52 @@
+<tool id="edu.tamu.cpt.gff3.require_phage_start" name="GFF3 Filter: Require Phage Start" version="19.1.0.0">
+  <description>ensures start is ATG, TTG, or GTG</description>
+  <macros>
+    <import>macros.xml</import>
+ <import>cpt-macros.xml</import>
+  </macros>
+  <expand macro="requirements"/>
+  <command detect_errors="aggressive"><![CDATA[
+@GENOME_SELECTOR_PRE@
+
+python $__tool_directory__/gff3_require_phage_start.py
+
+@GENOME_SELECTOR@
+$gff3_data
+
+> $stdout
+
+]]></command>
+  <inputs>
+    <expand macro="genome_selector" />
+    <expand macro="gff3_input" />
+  </inputs>
+  <outputs>
+    <data format="gff3" name="stdout" label="$gff3_data.name filtered for start codon"/>
+  </outputs>
+  <tests>
+      <test>
+ <param name="reference_genome_source" value="history" />
+ <param name="genome_fasta" value="T7_ReqPhageIn.fasta" />
+ <param name="gff3_data" value="T7_ReqPhageIn.gff3" />
+
+          <output name="stdout" file="T7_ReqPhageOut.gff3" />
+      </test>
+      <test>
+ <param name="reference_genome_source" value="history" />
+ <param name="genome_fasta" value="Miro_ReqPhageIn.fa" />
+ <param name="gff3_data" value="Miro_ReqPhageIn.gff3" />
+
+          <output name="stdout" file="Miro_ReqPhageOut.gff3" />
+      </test>
+  </tests>
+  <help><![CDATA[
+**What it does**
+
+Removes any CDS from the GFF3 whose start codon is **not** ATG, TTG, or GTG.
+
+.. class:: warningmark
+
+The tool only retains *gene* and *CDS* features that pass this filter. 
+      ]]></help>
+ <expand macro="citations" />
+</tool>
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/macros.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/macros.xml Fri May 13 05:31:56 2022 +0000
b
@@ -0,0 +1,85 @@
+<?xml version="1.0"?>
+<macros>
+ <xml name="requirements">
+ <requirements>
+ <requirement type="package" version="3.6">python</requirement>
+ <requirement type="package" version="1.77">biopython</requirement>
+ <requirement type="package" version="1.1.3">cpt_gffparser</requirement>  
+ <yield/>
+ </requirements>
+ </xml>
+ <token name="@BLAST_TSV@">
+ "$blast_tsv"
+ </token>
+ <xml name="blast_tsv">
+ <param label="Blast Results" help="TSV/tabular (25 Column)"
+ name="blast_tsv" type="data" format="tabular" />
+ </xml>
+
+ <token name="@BLAST_XML@">
+ "$blast_xml"
+ </token>
+ <xml name="blast_xml">
+ <param label="Blast Results" help="XML format"
+ name="blast_xml" type="data" format="blastxml" />
+ </xml>
+ <xml name="gff3_with_fasta">
+ <param label="Genome Sequences" name="fasta" type="data" format="fasta" />
+ <param label="Genome Annotations" name="gff3" type="data" format="gff3" />
+ </xml>
+ <xml name="genome_selector">
+ <conditional name="reference_genome">
+ <param name="reference_genome_source" type="select" label="Reference Genome">
+ <option value="history" selected="True">From History</option>
+ <option value="cached">Locally Cached</option>
+ </param>
+ <when value="cached">
+ <param name="fasta_indexes" type="select" label="Source FASTA Sequence">
+ <options from_data_table="all_fasta"/>
+ </param>
+ </when>
+ <when value="history">
+ <param name="genome_fasta" type="data" format="fasta" label="Source FASTA Sequence"/>
+ </when>
+ </conditional>
+ </xml>
+ <xml name="gff3_input">
+ <param label="GFF3 Annotations" name="gff3_data" type="data" format="gff3"/>
+ </xml>
+ <xml name="input/gff3+fasta">
+ <expand macro="gff3_input" />
+ <expand macro="genome_selector" />
+ </xml>
+ <token name="@INPUT_GFF@">
+ "$gff3_data"
+ </token>
+ <token name="@INPUT_FASTA@">
+#if str($reference_genome.reference_genome_source) == 'cached':
+ "${reference_genome.fasta_indexes.fields.path}"
+#else if str($reference_genome.reference_genome_source) == 'history':
+ genomeref.fa
+#end if
+ </token>
+ <token name="@GENOME_SELECTOR_PRE@">
+#if $reference_genome.reference_genome_source == 'history':
+ ln -s $reference_genome.genome_fasta genomeref.fa;
+#end if
+ </token>
+ <token name="@GENOME_SELECTOR@">
+#if str($reference_genome.reference_genome_source) == 'cached':
+ "${reference_genome.fasta_indexes.fields.path}"
+#else if str($reference_genome.reference_genome_source) == 'history':
+ genomeref.fa
+#end if
+ </token>
+        <xml name="input/fasta">
+ <param label="Fasta file" name="sequences" type="data" format="fasta"/>
+ </xml>
+
+ <token name="@SEQUENCE@">
+ "$sequences"
+ </token>
+ <xml name="input/fasta/protein">
+ <param label="Protein fasta file" name="sequences" type="data" format="fasta"/>
+ </xml>
+</macros>
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/test-data/Miro_ReqPhageIn.fa
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/test-data/Miro_ReqPhageIn.fa Fri May 13 05:31:56 2022 +0000
b
b'@@ -0,0 +1,2936 @@\n+>Miro\n+TTAGTAATGGCTAAAACCATATGTAACATCAATCATGACTTTATAACGGCATACACGCAT\n+TTTTGCGTTATTGTAATCCACTGGGATCGCTACCACGTCAGCAGGATCCACCTTTACCTG\n+AATGACTCTACCAACACCGCCCCCGTAGTGTGGAAGGTATGATTTAGCCGCAACGTGTAG\n+GCCAGTAGAACAGGTGCGCGTTTTATCTTCGTCTACCATGTTTCGAGGCATGGAGACAGT\n+CACACCAGGACTATTATCAAATTTGCCAGTAGCGAGATCTTTATAGTTATCGCGCACACG\n+TTTCCAGGCAAGGAAACAACCATCATCGGTCAGTTCAATGTCATTATGTACAAGGAACCC\n+ATAAAGCTGGTATACAGCATCGCGTGAAGGGTTTCGCATCAACCGTTCAAAGAAGTTCAC\n+CAGATGTTCATACGGACGATCGTTATACATTTCGCGAATGATTCGTTGAGTGATATCAGA\n+ATCAAACACTACATCTTTATATAGAAGCTGATGACCAATGATTTTAATGTTGCCTTTGCT\n+ATAGGTTCGGATCGCTTCTTGAGTATCCAAACAAGTTACAGCACCTTTGACATCACCAGC\n+TTTCAGCATTTCATGCGCTTTCTTAAAGTTCGGATGTGTTTCACCCGCCATGAAAACGCG\n+CCCTTCGTATACAACCGTAATGAACGATTCAGATCCGATCATACGCGGTACAGTGTCTGA\n+TACTTTAGGCTTTTGTTTTACATCCCTTTTCTTAGGGAATTCCGCTAACTTGCGGTTGAT\n+AACGCGCCCAATGGTTCGGGCGCTTACGTTGAACTGTTGGGCCAGTGCTGTTTTACTTGC\n+CCCCGTCAACCATCCATTATAGATAGCTTTCTGTTGTACTTCGTCGAGAATTTTGACCAT\n+TATTTCCACCGTATTAATTTCTTAAACTCACTGAGATTCTTTTCGTTGTTGTAAATCGGA\n+CGAATTGAATAAGAATCGCTATGTTCAACAAGTGAAGCCAGTAACGGGTTTAGTGATTTA\n+AAGATTTCCCATGCCTGATCAACACGTTTTTTCATATTGCTGCGTTTAACGCGCATTGAT\n+GCTACGGACTCACGCAGAATCGGACAACGCACCCTGGAAAGATTTTTACCATCTTTCTCA\n+TACCCTTCCAGACACACTATACGTTCGAGGGTATCAACAATCTTATACAGTTTTTCATTA\n+TATCGGTTTTTCACAATCCGATCAAGCGATACACCGAAACGGCTATGCAATGCGTCTGTT\n+TCTGTTGAGTGATCCTTCCCAATCCATCCAGGCAAGCAATTATCTTTCAATGCCTTTTCA\n+GATTTAACATACTGCTTGCACAGCATATCATCAAAGCATACCAGATTTGAATCCGGGATC\n+CACTTCCAGAGGCTGTTACGTATAGCAAACACAACAGGGATCCCAGTATGGCGCATGATA\n+CGCGATAAAGTAGATTCTTTCATTGCTGAATCCATAGACAACCCGGAATTTTCACCATCT\n+AAGCGGCTATATTCATCAATACCATACAACCGAACACCTGGGGCTTTATCCAGTGATAAA\n+AACTCTGATTTTGTCATAAACAGAGAAGTTTTTGCCAGATTGCCGTTACTATCCAACTCA\n+TAACGATATACGGTCGGGGTTTTTGGGCGCGGTTCTGAATTTTTCGGTGCATATAGCGCT\n+TTTGATTTTTCGCGATCTGCATCATAGATCTCTTTTTCTTTTGTCATTTCACTGGTACGG\n+AGATACACAATTTCCGATTCATCAAAATGACCTTTCCGAACGATATCATTAACAATCTCA\n+CGCTTTGAATCACTATCGTAATATGCAACAAAGCTAACACGGCTTAGGTTATGCATTTTA\n+GCATACCCGACGATATACGGTTTAACCGTGTTGGTATCCACTTTTAACAGAATGAGTTTC\n+TTCTGTTTCCACGGATAATAAATGCGTGTGATGTCCTGGCGTTTGGTTGTTTCTGGCTTA\n+TACTTGCTCCAGCGGCCTCCGCTACCAGTTACCTGATACCATGCATCTTTACCGTCGTAT\n+TCGTTCGCCCAATACCCAGCAACATAATCATCATTATATTTGTTTGGTTTGACTAGTTCG\n+CTATGGATCCAGCCAATAGAATCACCATTGATGCGAAAATTAGCATCTTTACCAACAAAG\n+TTTTGTACCATTGAAGGCAGAGAATGGAACCACGTCAGTTTATCACGCACGGTTTGTAAC\n+TTATCGAATTCTGATTTAACTCGATTGAAATATACCCGGCTGATTTGTTTCAGACGTTCT\n+TTAACAATCCCTACTGTCATTTTATCCATACTCAACTCTTCGCGAGAAGGCATGAAATCA\n+AGTTCACCGATCGGGAAGTCAATAATATACGTATACTGGCTTTCTGTATAGCAATAGAAC\n+ATCGAGGTATCATACAAATCTTTATCCAGAGGATAAATGATGTTACCCATGCGAGCATAT\n+ACACCGCTAGTGTATGCTGATTTATGACGGATCACCCCGCTATCGTTGGTTGCTTCTTTC\n+GGCTGATAGTTGATTTTGAGAATAGAAGCACCAACAAAGTTAGGACGAATATCAGTAAAT\n+GATTCGTATACCCTTGCTGCTTCGTTTTCCCATTCTTTGATATCTTCAACCTTAACCGGA\n+ACAGTGATAGTAACCCCGTTAGGTTCATCGCTTTCAATCTCATACAGAGGATCGCAGAAA\n+GGTTCCCCATCATCCATATAGATTGTGTAACCGCATTTGATACCGTCTTTTACGGATTCC\n+ACCGTGAAAGCATCGGAATAGCAAAGCGGAGATTTGCAACCCAGACCCATAGAACCGATC\n+AGGTCGTTTGAATCATTTTTAGTTGATTCGAAGTAAACGGTAAACGCATCACTAACGAAA\n+TCAGGAGACATACCGATCCCGTAGTCACGAATAACAAAACGAGGATCAACAGCAGTTGGC\n+AACTGGACATCAAACGGGTTCTGATTTCCCGCTTCTTTGTGTCCATCAATCGCATTACAA\n+GACAGTTCGCGAATGATTGCGCGGATCTTGTATTTGTATACTGTCGAAGAAAGGATCTTA\n+TACGCTTTCTTGTTTGCGCGTAGAGATAGTTTGTTTCGTCCCTTGCTGGTATCTGTACCA\n+ACACGGTAGATGGTTTGCGGTGTATCTTCGCGTAATTTCATTGTTTATTTCTCACTTAAC\n+ATTAAAAATAACTTGGTCACAAGAGTACTTCGTTGGCTTTTTGTTCAGACCATATTCTAC\n+TACTTCACAATAGGTGTCAAGGAATTTTACCAATTTTTCTTCCTCGACCTGCTGTTTCTT\n+CATATCAAGGATACCCCACACGATAGCCCCGATAATGACAGAAAAGAACGCACAAAATCC\n+GAATATGGTCAGATATTTTCCCAACTTAGGCGCATTATAACGTGTCATACCTTACCCCTC\n+TTTGCGAATGTATGCAAGTTCTTCATGGGTTACTGGACGGATATACAGACGGCCTTTTGT\n+ATATGCCTTGCGCCCGCTGATCCAAATGTTTTTCATATCCTTAACACCGTTCATCACATC\n+GTTGTAAAACTTCTTATCAGCTTTAGCCTGATAGACTTCACGGCCTTGATAATCTTTCAT\n+GAACAAACAATAAAGGATCTCATTCTTATCAACTAGATTAGCATCCTTTGTAGTTGTTTT\n+ACTTGGTGAAGGTTTCGCACCCAGGCGCAAGGCCATAGCTTGCCACACTTTACCATGTTC\n+ATAACCGCGCCCGACAAGAGCATGAGCGATTTCGTGTAAAAGAGTGTCTAAAATATCCTC\n+GTAGATATCTTCCGCAACATGACGACCAGACAGTTCGATCAGTTTTTTGGTATAACTGCA\n+ACGG'..b'TCGGGTAATATCG\n+TTTGTGATGGGTGTGAAAACATGGAAACAATTGCTGATAAAAATAATTCTAATAATGGTT\n+ATGTTTCTTATGGTAGTAACTTGGTACAAATGGACTGATATATTCCCGATGATAAAAGGT\n+GCCCTTGTAGTCGATACAAGGGCTATCGAAATGGAAAGAACAGAAAAGTTTAATCAATCC\n+GCGTTGGAACAGTTGAGCATAGTTCATCTTACTTCCAACGCGGATTTTTCGGCGGTACTG\n+GCATTCAGACCAAAGAACATAAACTATTTTGTTGACATTGTAGAATATCAGGGAAAATTA\n+CCATCCCAAATCGATCCTAAAAACCTCGGTGGTTATCCGATCGATAAAACATCCGAAGAA\n+TACACGAATCATATAAATGGCTTGTACTATTCATCAACTACAGCAAGTTCCTACCTACCG\n+ACACGTGATTTTGTGCCAGTAGCTTATACTTTTAGTTGCCCTTATTTCAATCTTGATAAC\n+TACTATTCTGGATCGGTTTTGATGGAATGGTATGCAAAGCGGCCTGATATACCAGATATG\n+AAGATAAACATCATATGTGGACAGGCCGCGCGCATTTTAGGTCGAGCGAGGTGATTAACG\n+TAATGCTGGTGTTAAATTGTGTGATCTTCCAATAGCCCGTTTGATTGCTTTAAAGAAGTT\n+CATCACCGGGCTATTTTTCTCGTAAATATCCCAAACTTTCAATTTGTCCCACGGATCCGG\n+AACATAATCTTCATTCCTTGCCGAAACCCCCAACGTAACCCTCCTGTATCCAGCGCTGTC\n+GTGATAATACACGAAGAATGGCCTACCTATTGGCGCAACCTTACAACCTCTCTTAGCGGC\n+TCTCATAGCCTCATCGAACGTCATGGATTCCCCCAAAAATTTCTATGCATGAATGGTCGA\n+ATTCCGATAGTTTCACTCAAAATGAATATCGGATGATCTAGCTCATCGTGGTTTTCTTCG\n+TCAATGACGATATCCCAATCAGTAGCCTTTTGTTCTTCTACCGTGGCAATGAATACCTGG\n+TTTACTTCACACTTGCGGTGTGTACGTCTGATGATTGTATCCCCCTCACGAAACACAATC\n+ATATCAGGATTGGTAGTGCGGTACGCGGTTTTACCCGCGCACACTTCATTAAGCATATCT\n+TCGTATGTCATTATAAAACCTTTACACGTTGAACGATGGTTTGTTTAACGTCTTTGTATT\n+CTCCGTGCTCTTTAACGGTTGCTTTGAAAGTGATTTCATCACCTTCGTTTGCAATGTTAT\n+TACCGAAGTAAACAACAACATTACCATCAACATTAATTTTGGTCATGAATCTTTCTACAG\n+AAGTGTAGTAAGAAACTTGAGTATATCCCAGTGAAATCACTTTCTCAACGGTTCCGGTCA\n+TTTCCAGACGTTGTTTGATTTCACCGATGTGGTTAGCTTTAGAAATGCGTTCCTGGCGCT\n+CTTGTTCCCACTGTTCGCGGATTTCTTCGCGTTTGGCGATATAATCCTTTTCCAGTGCAA\n+CACCCATGCAGTAAGCGCACACAGCATCGAATACAGGGCTGTTTTTGTTGTCTTCTTTAG\n+ACTGGTCAGCCCACCAAAGAACAGTAAACATTGGCATTTCTGCAATTACTTCGCCTTTAC\n+GCTTGCCAATCGGCATGATCCCTTTTTCCAGCAGTTCCAGTTTTTCAGTATCGAACACTG\n+ACAGTTTACCGCGACGTTCGAACAGATCGAAATCTGCAAAGCCCTGGAATATCATTTTGA\n+AAGTATCAGTTTCAGTTAAACGGGCTGAAACACGGTCGAAATACTCACGCGCTTTCGCTT\n+CCGCTTTCTCCGGATCGGTAGATAAGTTGCAGATATAGTTATCAGAAGTATAACCGCCGC\n+CTCTACGCTCAACACGCAAGGTATACATTGCATTTTTACGACCAGAAGAAATGAAGTAAG\n+TGGTAGTAACTACGGTTGCGTTAGTCATGGTATTTCTCCTTAAAGGGTATCTCGTTTCGA\n+TATGGCTAATATAGCAAAAGCCCCTGACCGAAGTCAAGGGCTTTTTCATCATTCATTCGA\n+ATCTTTCATTGTTTTATGAAGATGAATATCAAAAATTTTCCAGTACGCCTTTCCGCGAGG\n+ATAAATTTTTGCTTTGTCAATATCGTTGTTGCTTCCCCATGTGTTGTTTGGGCCACGACA\n+TCGATTTTTTATATAATCTGTATGCCAGAATAAGCGCTGAACCGATGATTCCGTACCTAA\n+TGGATCTTCTTTACTGAACAGAATTTGTATACTCATAAGAAGAACCCAGTGCGAACAATC\n+AGATCGATTTTCTTTTCTGGTTCAAACGGTGATTTGCTATCGATGTTACACTGATAGAAC\n+ATACCAACATACTTTTCAGGAATGTTGGATTCACGCGCCCATTTCAGGTTATCATCGGTA\n+TTCGGCCCCAGCATGAGGTTAACAACATCAACAGCATAATCCTGTTCTTTGGTGTTGCCG\n+GAACCGTTTACATAATGCCCGTGGGCGGTTTTGAGGATCTCAATTACTTCGCTATCGTCA\n+GTTTCGACTTTGTAAAGCGTTGTATTTTCAGGAATTTCTTCAAGAATGATCAAAGCGGTT\n+TTCATCACACTTACCTTTGTGTTTCTGTTTACGTTTTGCTTCTTTAAATGCTCGCTTGCG\n+ATCGCGGTGAGTAGAAGCGCGGTTGAAATCATGTTTCGCTACCAAATTATTCATATAAGC\n+CCCTTAAAGAAAAATATTTAGGGGCTTTCGCCCCTGTATTAATCCAGCAATTTGCGGATC\n+TTGTCTGCGATACGTCCGGCGCGGGTTGCACTTGCAGTATGATCGCTTTCTTTTGAAGCC\n+AGTTCCGCCAGCTTACGCTGATGTTCTTCTTCTGCTGCTTGACGATCTGCTGCAACCTGT\n+GCAACCTGCTCATTATCGTGAGCAATACGCGCTTCCAGTTCAGACAGGGTTTTGTCGAAA\n+GTTGCTACGATTTCATCTACAGAACGAATTTTATTAAACAGTTTCATAATTTATCTCAAT\n+TGGTTAGTTTTAATCAGTATACATCAATATGGTTGAAATTCAAAATCATAAATGTCATTC\n+AGTGCGCGGTTCCACTCGGTGTAGTTTTCACCAGCACCATAACGCATTTGAATAGCACTT\n+TCGAACGTTGATCCGTTGAGGTTCGGGAAACCGAACAGGTTTTTGATTTTGTCATGTGCT\n+ACATAATACAGAGAAGCACTTTCCAGCATCGCAACCATCGCAGACGGTTCGTGTTCGCGG\n+CGCTTGATACGTAACAGAGTACGACTAGCACCAGTTTTACGGCGTTGATTTGGTGCTACG\n+TAGAAACGGAATACTACGCGCCCTGTTTTATCATCAACTACCAGGTAAAACCCGTTTTCT\n+TTCAGATCCACGCCTTCGAATTTCTTGAAGGTTCCGCGTTTCATGTCACCAATTTTAATT\n+GCATATTTGTGAATGTCAAGTCTTGTCAGAATTCTTTTCATATTTTTTAGATACCAGTTT\n+GCCTAATTTTGTAATTTCGCCTGTTTTTACGTTAACAAACAAGGCGATGCTCAGAAATGG\n+GATGCTAATCACTACGCTGATCAATGTAAACAGAAAACGTATCACAAAAAGAACAGCACG\n+TTCAAGATATCGTTGCATCCACGCGATTCCTAAACAACTATACCCTACTATAAAGGTGGT\n+TGCAACATAAAATGCACCAAATCCTTTACGAAATACGTAACCTTTCCCGGATTCTATCCG\n+GTCGTCGGCCCACATTTCACGGGCAGTTTTCAGAATAGATTCACCACTAGCGCGAGTTTC\n+GTTAGCCGAAGGCATGTTTTTAAATTTCATGATAGTCTCCTATGCGCCCAGAACTCTCCA\n+GGCGCGGTTGTTTAG\n'
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/test-data/Miro_ReqPhageIn.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/test-data/Miro_ReqPhageIn.gff3 Fri May 13 05:31:56 2022 +0000
b
b'@@ -0,0 +1,827 @@\n+##gff-version 3\n+##sequence-region Miro 1 176055\n+Miro\tfeature\tgene\t7454\t7906\t.\t-\t.\tID=Miro_8\n+Miro\tGenBank\tCDS\t7454\t7894\t.\t-\t1\tID=Miro_8.CDS;Name=Miro_8;Parent=Miro_8;obsolete_name=Miro_156;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t7903\t7906\t.\t-\t1\tAlias=Miro_8;ID=Miro_8.RBS;Name=Miro_8;Parent=Miro_8\n+Miro\tfeature\tgene\t7917\t8512\t.\t-\t.\tID=Miro_9\n+Miro\tGenBank\tCDS\t7917\t8501\t.\t-\t1\tID=Miro_9.CDS;Name=Miro_9;Parent=Miro_9;obsolete_name=Miro_155;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t8509\t8512\t.\t-\t1\tAlias=Miro_9;ID=Miro_9.RBS;Name=Miro_9;Parent=Miro_9\n+Miro\tfeature\tgene\t123276\t124212\t.\t+\t.\tID=Miro_206\n+Miro\tGenBank\tCDS\t123286\t124212\t.\t+\t1\tAlias=Miro_206;ID=Miro_206.CDS;Name=Miro_206;Parent=Miro_206;obsolete_name=Miro_234;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t123276\t123279\t.\t+\t1\tID=Miro_206.rbs;Name=Miro_206;Parent=Miro_206\n+Miro\tfeature\tgene\t68490\t70715\t.\t-\t.\tID=Miro_117\n+Miro\tGenBank\tCDS\t68490\t70706\t.\t-\t1\tID=Miro_117.CDS;Name=Miro_117;Note=contains von Willebrand factor%2C type A;Parent=Miro_117;obsolete_name=Miro_047;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t70713\t70715\t.\t-\t1\tAlias=Miro_117;ID=Miro_117.RBS;Name=Miro_117;Parent=Miro_117\n+Miro\tfeature\tgene\t115729\t116735\t.\t+\t.\tID=Miro_200\n+Miro\tGenBank\tCDS\t115743\t116735\t.\t+\t1\tAlias=Miro_200;ID=Miro_200.CDS;Name=Miro_200;Note=T4 gp6-like;Parent=Miro_200;obsolete_name=Miro_240;product=baseplate structural protein\n+Miro\tGenBank\tShine_Dalgarno_sequence\t115729\t115732\t.\t+\t1\tID=Miro_200.RBS;Name=Miro_200;Parent=Miro_200\n+Miro\tfeature\tgene\t116735\t117608\t.\t+\t.\tID=Miro_201\n+Miro\tGenBank\tCDS\t116745\t117608\t.\t+\t1\tAlias=Miro_201;ID=Miro_201.CDS;Name=Miro_201;Note=T4 gp9/gp10-like;Parent=Miro_201;obsolete_name=Miro_239;product=baseplate structural protein\n+Miro\tGenBank\tShine_Dalgarno_sequence\t116735\t116738\t.\t+\t1\tID=Miro_201.RBS;Name=Miro_201;Parent=Miro_201\n+Miro\tfeature\tgene\t117595\t119422\t.\t+\t.\tID=Miro_202\n+Miro\tGenBank\tCDS\t117605\t119422\t.\t+\t1\tAlias=Miro_202;ID=Miro_202.CDS;Name=Miro_202;Note=T4 gp9/gp10-like;Parent=Miro_202;obsolete_name=Miro_238;product=baseplate structural protein\n+Miro\tGenBank\tShine_Dalgarno_sequence\t117595\t117597\t.\t+\t1\tID=Miro_202.RBS;Name=Miro_202;Parent=Miro_202\n+Miro\tfeature\tgene\t119412\t120090\t.\t+\t.\tID=Miro_203\n+Miro\tGenBank\tCDS\t119422\t120090\t.\t+\t1\tAlias=Miro_203;ID=Miro_203.CDS;Name=Miro_203;Note=T4 gp11-like;Parent=Miro_203;obsolete_name=Miro_237;product=baseplate to short tail fiber connector protein\n+Miro\tGenBank\tShine_Dalgarno_sequence\t119412\t119415\t.\t+\t1\tID=Miro_203.RBS;Name=Miro_203;Parent=Miro_203\n+Miro\tfeature\tgene\t81829\t81940\t.\t-\t.\tID=Miro_142\n+Miro\tGenBank\tCDS\t81829\t81927\t.\t-\t1\tID=Miro_142.CDS;Name=Miro_142;Parent=Miro_142;obsolete_name=Miro_022;product=hypothetical conserved;tmhelix=1 TMD %284-26%29 N out%2C C in\n+Miro\tGenBank\tShine_Dalgarno_sequence\t81938\t81940\t.\t-\t1\tAlias=Miro_142;ID=Miro_142.RBS;Name=Miro_142;Parent=Miro_142\n+Miro\tfeature\tgene\t1\t910\t.\t-\t.\tID=Miro_1\n+Miro\tGenBank\tCDS\t1\t900\t.\t-\t1\tID=Miro_1.CDS;Name=Miro_1;Parent=Miro_1;obsolete_name=Miro_163;product=rIIb\n+Miro\tGenBank\tShine_Dalgarno_sequence\t908\t910\t.\t-\t1\tAlias=Miro_1;ID=Miro_1.RBS;Name=Miro_1;Parent=Miro_1\n+Miro\tfeature\tgene\t900\t3173\t.\t-\t.\tID=Miro_2\n+Miro\tGenBank\tCDS\t900\t3161\t.\t-\t1\tID=Miro_2.CDS;Name=Miro_2;Parent=Miro_2;obsolete_name=Miro_162;product=rIIa\n+Miro\tGenBank\tShine_Dalgarno_sequence\t3171\t3173\t.\t-\t1\tAlias=Miro_2;ID=Miro_2.RBS;Name=Miro_2;Parent=Miro_2\n+Miro\tfeature\tgene\t3172\t3417\t.\t-\t.\tID=Miro_3\n+Miro\tGenBank\tCDS\t3172\t3408\t.\t-\t1\tID=Miro_3.CDS;Name=Miro_3;Parent=Miro_3;obsolete_name=Miro_161;product=hypothetical conserved;tmhelix=1 TMD %2812-34%29 N in%2C C out\n+Miro\tGenBank\tShine_Dalgarno_sequence\t3414\t3417\t.\t-\t1\tAlias=Miro_3;ID=Miro_3.RBS;Name=Miro_3;Parent=Miro_3\n+Miro\tfeature\tgene\t3412\t3979\t.\t-\t.\tID=Miro_4\n+Miro\tGenBank\tCDS\t3412\t3966\t.\t-\t1\tID=Miro_4.CDS;Name=Miro_4;Note=contains SprT domain;Parent=Miro_4;obsolete_name=Miro_160;product=hypothetical'..b't=Miro_98;obsolete_name=Miro_066;product=hypothetical conserved;tmhelix=2TMDs %287-26%2C 31-53%29 N in%2C C in\n+Miro\tGenBank\tShine_Dalgarno_sequence\t57368\t57372\t.\t+\t1\tID=Miro_98.RBS;Name=Miro_98;Parent=Miro_98\n+Miro\tfeature\tgene\t57613\t57914\t.\t+\t.\tID=Miro_99\n+Miro\tGenBank\tCDS\t57624\t57914\t.\t+\t1\tAlias=Miro_99;ID=Miro_99.CDS;Name=Miro_99;Parent=Miro_99;obsolete_name=Miro_065;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t57613\t57616\t.\t+\t1\tID=Miro_99.RBS;Name=Miro_99;Parent=Miro_99\n+Miro\tfeature\tgene\t81924\t82086\t.\t-\t.\tID=Miro_143\n+Miro\tGenBank\tCDS\t81924\t82079\t.\t-\t1\tID=Miro_143.CDS;Name=Miro_143;Parent=Miro_143;obsolete_name=Miro_021;product=hypothetical conserved;tmhelix=1 TMD %2815-37%29 N out%2C C in\n+Miro\tGenBank\tShine_Dalgarno_sequence\t82084\t82086\t.\t-\t1\tAlias=Miro_143;ID=Miro_143.RBS;Name=Miro_143;Parent=Miro_143\n+Miro\tfeature\tgene\t67179\t67658\t.\t-\t.\tID=Miro_114\n+Miro\tGenBank\tCDS\t67179\t67649\t.\t-\t1\tID=Miro_114.CDS;Name=Miro_114;Parent=Miro_114;obsolete_name=Miro_050;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t67656\t67658\t.\t-\t1\tAlias=Miro_114;ID=Miro_114.RBS;Name=Miro_114;Parent=Miro_114\n+Miro\tfeature\tgene\t81366\t81851\t.\t-\t.\tID=Miro_141\n+Miro\tGenBank\tCDS\t81366\t81839\t.\t-\t1\tID=Miro_141.CDS;Name=Miro_141;Note=contains macro domain;Parent=Miro_141;obsolete_name=Miro_023;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t81849\t81851\t.\t-\t1\tAlias=Miro_141;ID=Miro_141.RBS;Name=Miro_141;Parent=Miro_141\n+Miro\tfeature\tgene\t81076\t81376\t.\t-\t.\tID=Miro_140\n+Miro\tGenBank\tCDS\t81076\t81363\t.\t-\t1\tID=Miro_140.CDS;Name=Miro_140;Parent=Miro_140;obsolete_name=Miro_024;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t81374\t81376\t.\t-\t1\tAlias=Miro_140;ID=Miro_140.RBS;Name=Miro_140;Parent=Miro_140\n+Miro\tfeature\tgene\t83223\t83630\t.\t-\t.\tID=Miro_147\n+Miro\tGenBank\tCDS\t83223\t83618\t.\t-\t1\tID=Miro_147.CDS;Name=Miro_147;Parent=Miro_147;obsolete_name=Miro_017;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t83627\t83630\t.\t-\t1\tAlias=Miro_147;ID=Miro_147.RBS;Name=Miro_147;Parent=Miro_147\n+Miro\tfeature\tgene\t83066\t83224\t.\t-\t.\tID=Miro_146\n+Miro\tGenBank\tCDS\t83066\t83212\t.\t-\t1\tID=Miro_146.CDS;Name=Miro_146;Parent=Miro_146;obsolete_name=Miro_018;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t83221\t83224\t.\t-\t1\tAlias=Miro_146;ID=Miro_146.RBS;Name=Miro_146;Parent=Miro_146\n+Miro\tfeature\tgene\t82479\t83083\t.\t-\t.\tID=Miro_145\n+Miro\tGenBank\tCDS\t82479\t83069\t.\t-\t1\tID=Miro_145.CDS;Name=Miro_145;Parent=Miro_145;obsolete_name=Miro_019;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t83080\t83083\t.\t-\t1\tAlias=Miro_145;ID=Miro_145.RBS;Name=Miro_145;Parent=Miro_145\n+Miro\tfeature\tgene\t67646\t67816\t.\t-\t.\tID=Miro_115\n+Miro\tGenBank\tCDS\t67646\t67804\t.\t-\t1\tID=Miro_115.CDS;Name=Miro_115;Parent=Miro_115;obsolete_name=Miro_049;product=hypothetical conserved;tmhelix=2TMDs %282-21%2C 31-50%29 N in%2C C in\n+Miro\tGenBank\tShine_Dalgarno_sequence\t67814\t67816\t.\t-\t1\tAlias=Miro_115;ID=Miro_115.RBS;Name=Miro_115;Parent=Miro_115\n+Miro\tfeature\tgene\t84392\t84959\t.\t-\t.\tID=Miro_149\n+Miro\tGenBank\tCDS\t84392\t84946\t.\t-\t1\tID=Miro_149.CDS;Name=Miro_149;Parent=Miro_149;obsolete_name=Miro_015;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t84955\t84959\t.\t-\t1\tAlias=Miro_149;ID=Miro_149.RBS;Name=Miro_149;Parent=Miro_149\n+Miro\tfeature\tgene\t83686\t84337\t.\t-\t.\tID=Miro_148\n+Miro\tGenBank\tCDS\t83686\t84327\t.\t-\t1\tID=Miro_148.CDS;Name=Miro_148;Note=T4 RegB-like;Parent=Miro_148;obsolete_name=Miro_016;product=endoribonuclease;signal=signal peptidase II cleavage site 12-13\n+Miro\tGenBank\tShine_Dalgarno_sequence\t84334\t84337\t.\t-\t1\tAlias=Miro_148;ID=Miro_148.RBS;Name=Miro_148;Parent=Miro_148\n+Miro\tfeature\tgene\t67801\t68461\t.\t-\t.\tID=Miro_116\n+Miro\tGenBank\tCDS\t67801\t68451\t.\t-\t1\tID=Miro_116.CDS;Name=Miro_116;Parent=Miro_116;obsolete_name=Miro_048;product=hypothetical conserved\n+Miro\tGenBank\tShine_Dalgarno_sequence\t68457\t68461\t.\t-\t1\tAlias=Miro_116;ID=Miro_116.RBS;Name=Miro_116;Parent=Miro_116\n'
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/test-data/Miro_ReqPhageOut.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/test-data/Miro_ReqPhageOut.gff3 Fri May 13 05:31:56 2022 +0000
b
b'@@ -0,0 +1,820 @@\n+##gff-version 3\n+Miro\tfeature\tgene\t7454\t7906\t.\t-\t.\tID=Miro_8;\n+Miro\tGenBank\tCDS\t7454\t7894\t.\t-\t1\tID=Miro_8.CDS;Name=Miro_8;Parent=Miro_8;obsolete_name=Miro_156;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t7903\t7906\t.\t-\t1\tAlias=Miro_8;ID=Miro_8.RBS;Name=Miro_8;Parent=Miro_8;\n+Miro\tfeature\tgene\t7917\t8512\t.\t-\t.\tID=Miro_9;\n+Miro\tGenBank\tCDS\t7917\t8501\t.\t-\t1\tID=Miro_9.CDS;Name=Miro_9;Parent=Miro_9;obsolete_name=Miro_155;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t8509\t8512\t.\t-\t1\tAlias=Miro_9;ID=Miro_9.RBS;Name=Miro_9;Parent=Miro_9;\n+Miro\tfeature\tgene\t123276\t124212\t.\t+\t.\tID=Miro_206;\n+Miro\tGenBank\tCDS\t123286\t124212\t.\t+\t1\tAlias=Miro_206;ID=Miro_206.CDS;Name=Miro_206;Parent=Miro_206;obsolete_name=Miro_234;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t123276\t123279\t.\t+\t1\tID=Miro_206.rbs;Name=Miro_206;Parent=Miro_206;\n+Miro\tfeature\tgene\t68490\t70715\t.\t-\t.\tID=Miro_117;\n+Miro\tGenBank\tCDS\t68490\t70706\t.\t-\t1\tID=Miro_117.CDS;Name=Miro_117;Note=contains von Willebrand factor%2C type A;Parent=Miro_117;obsolete_name=Miro_047;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t70713\t70715\t.\t-\t1\tAlias=Miro_117;ID=Miro_117.RBS;Name=Miro_117;Parent=Miro_117;\n+Miro\tfeature\tgene\t115729\t116735\t.\t+\t.\tID=Miro_200;\n+Miro\tGenBank\tCDS\t115743\t116735\t.\t+\t1\tAlias=Miro_200;ID=Miro_200.CDS;Name=Miro_200;Note=T4 gp6-like;Parent=Miro_200;obsolete_name=Miro_240;product=baseplate structural protein;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t115729\t115732\t.\t+\t1\tID=Miro_200.RBS;Name=Miro_200;Parent=Miro_200;\n+Miro\tfeature\tgene\t116735\t117608\t.\t+\t.\tID=Miro_201;\n+Miro\tGenBank\tCDS\t116745\t117608\t.\t+\t1\tAlias=Miro_201;ID=Miro_201.CDS;Name=Miro_201;Note=T4 gp9/gp10-like;Parent=Miro_201;obsolete_name=Miro_239;product=baseplate structural protein;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t116735\t116738\t.\t+\t1\tID=Miro_201.RBS;Name=Miro_201;Parent=Miro_201;\n+Miro\tfeature\tgene\t117595\t119422\t.\t+\t.\tID=Miro_202;\n+Miro\tGenBank\tCDS\t117605\t119422\t.\t+\t1\tAlias=Miro_202;ID=Miro_202.CDS;Name=Miro_202;Note=T4 gp9/gp10-like;Parent=Miro_202;obsolete_name=Miro_238;product=baseplate structural protein;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t117595\t117597\t.\t+\t1\tID=Miro_202.RBS;Name=Miro_202;Parent=Miro_202;\n+Miro\tfeature\tgene\t119412\t120090\t.\t+\t.\tID=Miro_203;\n+Miro\tGenBank\tCDS\t119422\t120090\t.\t+\t1\tAlias=Miro_203;ID=Miro_203.CDS;Name=Miro_203;Note=T4 gp11-like;Parent=Miro_203;obsolete_name=Miro_237;product=baseplate to short tail fiber connector protein;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t119412\t119415\t.\t+\t1\tID=Miro_203.RBS;Name=Miro_203;Parent=Miro_203;\n+Miro\tfeature\tgene\t81829\t81940\t.\t-\t.\tID=Miro_142;\n+Miro\tGenBank\tCDS\t81829\t81927\t.\t-\t1\tID=Miro_142.CDS;Name=Miro_142;Parent=Miro_142;obsolete_name=Miro_022;product=hypothetical conserved;tmhelix=1 TMD (4-26) N out%2C C in;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t81938\t81940\t.\t-\t1\tAlias=Miro_142;ID=Miro_142.RBS;Name=Miro_142;Parent=Miro_142;\n+Miro\tfeature\tgene\t1\t910\t.\t-\t.\tID=Miro_1;\n+Miro\tGenBank\tCDS\t1\t900\t.\t-\t1\tID=Miro_1.CDS;Name=Miro_1;Parent=Miro_1;obsolete_name=Miro_163;product=rIIb;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t908\t910\t.\t-\t1\tAlias=Miro_1;ID=Miro_1.RBS;Name=Miro_1;Parent=Miro_1;\n+Miro\tfeature\tgene\t900\t3173\t.\t-\t.\tID=Miro_2;\n+Miro\tGenBank\tCDS\t900\t3161\t.\t-\t1\tID=Miro_2.CDS;Name=Miro_2;Parent=Miro_2;obsolete_name=Miro_162;product=rIIa;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t3171\t3173\t.\t-\t1\tAlias=Miro_2;ID=Miro_2.RBS;Name=Miro_2;Parent=Miro_2;\n+Miro\tfeature\tgene\t3172\t3417\t.\t-\t.\tID=Miro_3;\n+Miro\tGenBank\tCDS\t3172\t3408\t.\t-\t1\tID=Miro_3.CDS;Name=Miro_3;Parent=Miro_3;obsolete_name=Miro_161;product=hypothetical conserved;tmhelix=1 TMD (12-34) N in%2C C out;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t3414\t3417\t.\t-\t1\tAlias=Miro_3;ID=Miro_3.RBS;Name=Miro_3;Parent=Miro_3;\n+Miro\tfeature\tgene\t3412\t3979\t.\t-\t.\tID=Miro_4;\n+Miro\tGenBank\tCDS\t3412\t3966\t.\t-\t1\tID=Miro_4.CDS;Name=Miro_4;Note=contains SprT domain;Parent=Miro_4;obsolete_name=Miro_160;product=hypothetical con'..b'ro_066;product=hypothetical conserved;tmhelix=2TMDs (7-26%2C 31-53) N in%2C C in;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t57368\t57372\t.\t+\t1\tID=Miro_98.RBS;Name=Miro_98;Parent=Miro_98;\n+Miro\tfeature\tgene\t57613\t57914\t.\t+\t.\tID=Miro_99;\n+Miro\tGenBank\tCDS\t57624\t57914\t.\t+\t1\tAlias=Miro_99;ID=Miro_99.CDS;Name=Miro_99;Parent=Miro_99;obsolete_name=Miro_065;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t57613\t57616\t.\t+\t1\tID=Miro_99.RBS;Name=Miro_99;Parent=Miro_99;\n+Miro\tfeature\tgene\t81924\t82086\t.\t-\t.\tID=Miro_143;\n+Miro\tGenBank\tCDS\t81924\t82079\t.\t-\t1\tID=Miro_143.CDS;Name=Miro_143;Parent=Miro_143;obsolete_name=Miro_021;product=hypothetical conserved;tmhelix=1 TMD (15-37) N out%2C C in;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t82084\t82086\t.\t-\t1\tAlias=Miro_143;ID=Miro_143.RBS;Name=Miro_143;Parent=Miro_143;\n+Miro\tfeature\tgene\t67179\t67658\t.\t-\t.\tID=Miro_114;\n+Miro\tGenBank\tCDS\t67179\t67649\t.\t-\t1\tID=Miro_114.CDS;Name=Miro_114;Parent=Miro_114;obsolete_name=Miro_050;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t67656\t67658\t.\t-\t1\tAlias=Miro_114;ID=Miro_114.RBS;Name=Miro_114;Parent=Miro_114;\n+Miro\tfeature\tgene\t81366\t81851\t.\t-\t.\tID=Miro_141;\n+Miro\tGenBank\tCDS\t81366\t81839\t.\t-\t1\tID=Miro_141.CDS;Name=Miro_141;Note=contains macro domain;Parent=Miro_141;obsolete_name=Miro_023;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t81849\t81851\t.\t-\t1\tAlias=Miro_141;ID=Miro_141.RBS;Name=Miro_141;Parent=Miro_141;\n+Miro\tfeature\tgene\t81076\t81376\t.\t-\t.\tID=Miro_140;\n+Miro\tGenBank\tCDS\t81076\t81363\t.\t-\t1\tID=Miro_140.CDS;Name=Miro_140;Parent=Miro_140;obsolete_name=Miro_024;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t81374\t81376\t.\t-\t1\tAlias=Miro_140;ID=Miro_140.RBS;Name=Miro_140;Parent=Miro_140;\n+Miro\tfeature\tgene\t83223\t83630\t.\t-\t.\tID=Miro_147;\n+Miro\tGenBank\tCDS\t83223\t83618\t.\t-\t1\tID=Miro_147.CDS;Name=Miro_147;Parent=Miro_147;obsolete_name=Miro_017;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t83627\t83630\t.\t-\t1\tAlias=Miro_147;ID=Miro_147.RBS;Name=Miro_147;Parent=Miro_147;\n+Miro\tfeature\tgene\t83066\t83224\t.\t-\t.\tID=Miro_146;\n+Miro\tGenBank\tCDS\t83066\t83212\t.\t-\t1\tID=Miro_146.CDS;Name=Miro_146;Parent=Miro_146;obsolete_name=Miro_018;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t83221\t83224\t.\t-\t1\tAlias=Miro_146;ID=Miro_146.RBS;Name=Miro_146;Parent=Miro_146;\n+Miro\tfeature\tgene\t82479\t83083\t.\t-\t.\tID=Miro_145;\n+Miro\tGenBank\tCDS\t82479\t83069\t.\t-\t1\tID=Miro_145.CDS;Name=Miro_145;Parent=Miro_145;obsolete_name=Miro_019;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t83080\t83083\t.\t-\t1\tAlias=Miro_145;ID=Miro_145.RBS;Name=Miro_145;Parent=Miro_145;\n+Miro\tfeature\tgene\t67646\t67816\t.\t-\t.\tID=Miro_115;\n+Miro\tGenBank\tCDS\t67646\t67804\t.\t-\t1\tID=Miro_115.CDS;Name=Miro_115;Parent=Miro_115;obsolete_name=Miro_049;product=hypothetical conserved;tmhelix=2TMDs (2-21%2C 31-50) N in%2C C in;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t67814\t67816\t.\t-\t1\tAlias=Miro_115;ID=Miro_115.RBS;Name=Miro_115;Parent=Miro_115;\n+Miro\tfeature\tgene\t84392\t84959\t.\t-\t.\tID=Miro_149;\n+Miro\tGenBank\tCDS\t84392\t84946\t.\t-\t1\tID=Miro_149.CDS;Name=Miro_149;Parent=Miro_149;obsolete_name=Miro_015;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t84955\t84959\t.\t-\t1\tAlias=Miro_149;ID=Miro_149.RBS;Name=Miro_149;Parent=Miro_149;\n+Miro\tfeature\tgene\t83686\t84337\t.\t-\t.\tID=Miro_148;\n+Miro\tGenBank\tCDS\t83686\t84327\t.\t-\t1\tID=Miro_148.CDS;Name=Miro_148;Note=T4 RegB-like;Parent=Miro_148;obsolete_name=Miro_016;product=endoribonuclease;signal=signal peptidase II cleavage site 12-13;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t84334\t84337\t.\t-\t1\tAlias=Miro_148;ID=Miro_148.RBS;Name=Miro_148;Parent=Miro_148;\n+Miro\tfeature\tgene\t67801\t68461\t.\t-\t.\tID=Miro_116;\n+Miro\tGenBank\tCDS\t67801\t68451\t.\t-\t1\tID=Miro_116.CDS;Name=Miro_116;Parent=Miro_116;obsolete_name=Miro_048;product=hypothetical conserved;\n+Miro\tGenBank\tShine_Dalgarno_sequence\t68457\t68461\t.\t-\t1\tAlias=Miro_116;ID=Miro_116.RBS;Name=Miro_116;Parent=Miro_116;\n'
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/test-data/T7_ReqPhageIn.fasta
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/test-data/T7_ReqPhageIn.fasta Fri May 13 05:31:56 2022 +0000
b
b'@@ -0,0 +1,667 @@\n+>NC_001604\n+TCTCACAGTGTACGGACCTAAAGTTCCCCCATAGGGGGTACCTAAAGCCCAGCCAATCAC\n+CTAAAGTCAACCTTCGGTTGACCTTGAGGGTTCCCTAAGGGTTGGGGATGACCCTTGGGT\n+TTGTCTTTGGGTGTTACCTTGAGTGTCTCTCTGTGTCCCTATCTGTTACAGTCTCCTAAA\n+GTATCCTCCTAAAGTCACCTCCTAACGTCCATCCTAAAGCCAACACCTAAAGCCTACACC\n+TAAAGACCCATCAAGTCAACGCCTATCTTAAAGTTTAAACATAAAGACCAGACCTAAAGA\n+CCAGACCTAAAGACACTACATAAAGACCAGACCTAAAGACGCCTTGTTGTTAGCCATAAA\n+GTGATAACCTTTAATCATTGTCTTTATTAATACAACTCACTATAAGGAGAGACAACTTAA\n+AGAGACTTAAAAGATTAATTTAAAATTTATCAAAAAGAGTATTGACTTAAAGTCTAACCT\n+ATAGGATACTTACAGCCATCGAGAGGGACACGGCGAATAGCCATCCCAATCGACACCGGG\n+GTCAACCGGATAAGTAGACAGCCTGATAAGTCGCACGAAAAACAGGTATTGACAACATGA\n+AGTAACATGCAGTAAGATACAAATCGCTAGGTAACACTAGCAGCGTCAACCGGGCGCACA\n+GTGCCTTCTAGGTGACTTAAGCGCACCACGGCACATAAGGTGAAACAAAACGGTTGACAA\n+CATGAAGTAAACACGGTACGATGTACCACATGAAACGACAGTGAGTCACCACACTGAAAG\n+GTGATGCGGTCTAACGAAACCTGACCTAAGACGCTCTTTAACAATCTGGTAAATAGCTCT\n+TGAGTGCATGACTAGCGGATAACTCAAGGGTATCGCAAGGTGCCCTTTATGATATTCACT\n+AATAACTGCACGAGGTAACACAAGATGGCTATGTCTAACATGACTTACAACAACGTTTTC\n+GACCACGCTTACGAAATGCTGAAAGAAAACATCCGTTATGATGACATCCGTGACACTGAT\n+GACCTGCACGATGCTATTCACATGGCTGCCGATAATGCAGTTCCGCACTACTACGCTGAC\n+ATCTTTAGCGTAATGGCAAGTGAGGGCATTGACCTTGAGTTCGAAGACTCTGGTCTGATG\n+CCTGACACCAAGGACGTAATCCGCATCCTGCAAGCGCGTATCTATGAGCAATTAACGATT\n+GACCTCTGGGAAGACGCAGAAGACTTGCTCAATGAATACTTGGAGGAAGTCGAGGAGTAC\n+GAGGAGGATGAAGAGTAATGTCTACTACCAACGTGCAATACGGTCTGACCGCTCAAACTG\n+TACTTTTCTATAGCGACATGGTGCGCTGTGGCTTTAACTGGTCACTCGCAATGGCACAGC\n+TCAAAGAACTGTACGAAAACAACAAGGCAATAGCTTTAGAATCTGCTGAGTGATAGACTC\n+AAGGTCGCTCCTAGCGAGTGGCCTTTATGATTATCACTTTACTTATGAGGGAGTAATGTA\n+TATGCTTACTATCGGTCTACTCACCGCTCTAGGTCTAGCTGTAGGTGCATCCTTTGGGAA\n+GGCTTTAGGTGTAGCTGTAGGTTCCTACTTTACCGCTTGCATCATCATAGGAATCATCAA\n+AGGGGCACTACGCAAATGATGAAGCACTACGTTATGCCAATCCACACGTCCAACGGGGCA\n+ACCGTATGTACACCTGATGGGTTCGCAATGAAACAACGAATCGAACGCCTTAAGCGTGAA\n+CTCCGCATTAACCGCAAGATTAACAAGATAGGTTCCGGCTATGACAGAACGCACTGATGG\n+CTTAAAGAAAGGTTATATGCCCAATGGCACACTATACGCTGCAAATCGGCGAATAGTGAG\n+AACTTGGCGAGAGAACAACCTCGAACGCCGCAAGGACAAGAGAGGGCGGCGTGGCATAGA\n+CGAAAGGAAAAGGTTAAAGCCAAGAAACTCGCCGCACTTGAACAGGCACTAGCCAACACA\n+CTGAACGCTATCTCATAACGAACATAAAGGACACAATGCAATGAACATTACCGACATCAT\n+GAACGCTATCGACGCAATCAAAGCACTGCCAATCTGTGAACTTGACAAGCGTCAAGGTAT\n+GCTTATCGACTTACTGGTCGAGATGGTCAACAGCGAGACGTGTGATGGCGAGCTAACCGA\n+ACTAAATCAGGCACTTGAGCATCAAGATTGGTGGACTACCTTGAAGTGTCTCACGGCTGA\n+CGCAGGGTTCAAGATGCTCGGTAATGGTCACTTCTCGGCTGCTTATAGTCACCCGCTGCT\n+ACCTAACAGAGTGATTAAGGTGGGCTTTAAGAAAGAGGATTCAGGCGCAGCCTATACCGC\n+ATTCTGCCGCATGTATCAGGGTCGTCCTGGTATCCCTAACGTCTACGATGTACAGCGCCA\n+CGCTGGATGCTATACGGTGGTACTTGACGCACTTAAGGATTGCGAGCGTTTCAACAATGA\n+TGCCCATTATAAATACGCTGAGATTGCAAGCGACATCATTGATTGCAATTCGGATGAGCA\n+TGATGAGTTAACTGGATGGGATGGTGAGTTTGTTGAAACTTGTAAACTAATCCGCAAGTT\n+CTTTGAGGGCATCGCCTCATTCGACATGCATAGCGGGAACATCATGTTCTCAAATGGAGA\n+CGTACCATACATCACCGACCCGGTATCATTCTCGCAGAAGAAAGACGGTGGCGCATTCAG\n+CATCGACCCTGAGGAACTCATCAAGGAAGTCGAGGAAGTCGCACGACAGAAAGAAATTGA\n+CCGCGCTAAGGCCCGTAAAGAACGTCACGAGGGGCGCTTAGAGGCACGCAGATTCAAACG\n+TCGCAACCGCAAGGCACGTAAAGCACACAAAGCTAAGCGCGAAAGAATGCTTGCTGCGTG\n+GCGATGGGCTGAACGTCAAGAACGGCGTAACCATGAGGTAGCTGTAGATGTACTAGGAAG\n+AACCAATAACGCTATGCTCTGGGTCAACATGTTCTCTGGGGACTTTAAGGCGCTTGAGGA\n+ACGAATCGCGCTGCACTGGCGTAATGCTGACCGGATGGCTATCGCTAATGGTCTTACGCT\n+CAACATTGATAAGCAACTTGACGCAATGTTAATGGGCTGATAGTCTTATCTTACAGGTCA\n+TCTGCGGGTGGCCTGAATAGGTACGATTTACTAACTGGAAGAGGCACTAAATGAACACGA\n+TTAACATCGCTAAGAACGACTTCTCTGACATCGAACTGGCTGCTATCCCGTTCAACACTC\n+TGGCTGACCATTACGGTGAGCGTTTAGCTCGCGAACAGTTGGCCCTTGAGCATGAGTCTT\n+ACGAGATGGGTGAAGCACGCTTCCGCAAGATGTTTGAGCGTCAACTTAAAGCTGGTGAGG\n+TTGCGGATAACGCTGCCGCCAAGCCTCTCATCACTACCCTACTCCCTAAGATGATTGCAC\n+GCATCAACGACTGGTTTGAGGAAGTGAAAGCTAAGCGCGGCAAGCGCCCGACAGCCTTCC\n+AGTTCCTGCAAGAAATCAAGCCGGAAGCCGTAGCGTACATCACCATTAAGACCACTCTGG\n+CTTGCCTAACCAGTGCTGACAATACAACCGTTCAGGCTGTAGCAAGCGCAATCGGTCGGG\n+CCATTGAGGACGAGGCTCGCTTCGGTCGTATCCGTGACCTTGAAGCTAAGCACTTCAAGA\n+AAAACGTTGAGGAACAACTCAACAAGCGCGTAGGGCACGTCTACAAGAAAGCATTTATGC\n+AAGTTGTCGAGGCTGACATGCTCTCTAAGGGTCTACTCGGTGGCGAGGCGTGGTCTTCGT\n+GGCATAAGGAAGACTCTATTCATGTAGGAGTACGCTGCATCGAGATGCTCATTGAGTCAA\n+'..b'TAAGTGTGACTGTTTCACAGGATCTCCGCTTCCGCAATATCTGGATTAAGTGT\n+GCCAACAACTCTTGGAACTTCTTCCGTACTGGCCCCGATGGAATCTACTTCATAGCCTCT\n+GATGGTGGATGGTTACGATTCCAAATACACTCCAACGGTCTCGGATTCAAGAATATTGCA\n+GACAGTCGTTCAGTACCTAATGCAATCATGGTGGAGAACGAGTAATTGGTAAATCACAAG\n+GAAAGACGTGTAGTCCACGGATGGACTCTCAAGGAGGTACAAGGTGCTATCATTAGACTT\n+TAACAACGAATTGATTAAGGCTGCTCCAATTGTTGGGACGGGTGTAGCAGATGTTAGTGC\n+TCGACTGTTCTTTGGGTTAAGCCTTAACGAATGGTTCTACGTTGCTGCTATCGCCTACAC\n+AGTGGTTCAGATTGGTGCCAAGGTAGTCGATAAGATGATTGACTGGAAGAAAGCCAATAA\n+GGAGTGATATGTATGGAAAAGGATAAGAGCCTTATTACATTCTTAGAGATGTTGGACACT\n+GCGATGGCTCAGCGTATGCTTGCGGACCTTTCGGACCATGAGCGTCGCTCTCCGCAACTC\n+TATAATGCTATTAACAAACTGTTAGACCGCCACAAGTTCCAGATTGGTAAGTTGCAGCCG\n+GATGTTCACATCTTAGGTGGCCTTGCTGGTGCTCTTGAAGAGTACAAAGAGAAAGTCGGT\n+GATAACGGTCTTACGGATGATGATATTTACACATTACAGTGATATACTCAAGGCCACTAC\n+AGATAGTGGTCTTTATGGATGTCATTGTCTATACGAGATGCTCCTACGTGAAATCTGAAA\n+GTTAACGGGAGGCATTATGCTAGAATTTTTACGTAAGCTAATCCCTTGGGTTCTCGCTGG\n+GATGCTATTCGGGTTAGGATGGCATCTAGGGTCAGACTCAATGGACGCTAAATGGAAACA\n+GGAGGTACACAATGAGTACGTTAAGAGAGTTGAGGCTGCGAAGAGCACTCAAAGAGCAAT\n+CGATGCGGTATCTGCTAAGTATCAAGAAGACCTTGCCGCGCTGGAAGGGAGCACTGATAG\n+GATTATTTCTGATTTGCGTAGCGACAATAAGCGGTTGCGCGTCAGAGTCAAAACTACCGG\n+AACCTCCGATGGTCAGTGTGGATTCGAGCCTGATGGTCGAGCCGAACTTGACGACCGAGA\n+TGCTAAACGTATTCTCGCAGTGACCCAGAAGGGTGACGCATGGATTCGTGCGTTACAGGA\n+TACTATTCGTGAACTGCAACGTAAGTAGGAAATCAAGTAAGGAGGCAATGTGTCTACTCA\n+ATCCAATCGTAATGCGCTCGTAGTGGCGCAACTGAAAGGAGACTTCGTGGCGTTCCTATT\n+CGTCTTATGGAAGGCGCTAAACCTACCGGTGCCCACTAAGTGTCAGATTGACATGGCTAA\n+GGTGCTGGCGAATGGAGACAACAAGAAGTTCATCTTACAGGCTTTCCGTGGTATCGGTAA\n+GTCGTTCATCACATGTGCGTTCGTTGTGTGGTCCTTATGGAGAGACCCTCAGTTGAAGAT\n+ACTTATCGTATCAGCCTCTAAGGAGCGTGCAGACGCTAACTCCATCTTTATTAAGAACAT\n+CATTGACCTGCTGCCATTCCTATCTGAGTTAAAGCCAAGACCCGGACAGCGTGACTCGGT\n+AATCAGCTTTGATGTAGGCCCAGCCAATCCTGACCACTCTCCTAGTGTGAAATCAGTAGG\n+TATCACTGGTCAGTTAACTGGTAGCCGTGCTGACATTATCATTGCGGATGACGTTGAGAT\n+TCCGTCTAACAGCGCAACTATGGGTGCCCGTGAGAAGCTATGGACTCTGGTTCAGGAGTT\n+CGCTGCGTTACTTAAACCGCTGCCTTCCTCTCGCGTTATCTACCTTGGTACACCTCAGAC\n+AGAGATGACTCTCTATAAGGAACTTGAGGATAACCGTGGGTACACAACCATTATCTGGCC\n+TGCTCTGTACCCAAGGACACGTGAAGAGAACCTCTATTACTCACAGCGTCTTGCTCCTAT\n+GTTACGCGCTGAGTACGATGAGAACCCTGAGGCACTTGCTGGGACTCCAACAGACCCAGT\n+GCGCTTTGACCGTGATGACCTGCGCGAGCGTGAGTTGGAATACGGTAAGGCTGGCTTTAC\n+GCTACAGTTCATGCTTAACCCTAACCTTAGTGATGCCGAGAAGTACCCGCTGAGGCTTCG\n+TGACGCTATCGTAGCGGCCTTAGACTTAGAGAAGGCCCCAATGCATTACCAGTGGCTTCC\n+GAACCGTCAGAACATCATTGAGGACCTTCCTAACGTTGGCCTTAAGGGTGATGACCTGCA\n+TACGTACCACGATTGTTCCAACAACTCAGGTCAGTACCAACAGAAGATTCTGGTCATTGA\n+CCCTAGTGGTCGCGGTAAGGACGAAACAGGTTACGCTGTGCTGTACACACTGAACGGTTA\n+CATCTACCTTATGGAAGCTGGAGGTTTCCGTGATGGCTACTCCGATAAGACCCTTGAGTT\n+ACTCGCTAAGAAGGCAAAGCAATGGGGAGTCCAGACGGTTGTCTACGAGAGTAACTTCGG\n+TGACGGTATGTTCGGTAAGGTATTCAGTCCTATCCTTCTTAAACACCACAACTGTGCGAT\n+GGAAGAGATTCGTGCCCGTGGTATGAAAGAGATGCGTATTTGCGATACCCTTGAGCCAGT\n+CATGCAGACTCACCGCCTTGTAATTCGTGATGAGGTCATTAGGGCCGACTACCAGTCCGC\n+TCGTGACGTAGACGGTAAGCATGACGTTAAGTACTCGTTGTTCTACCAGATGACCCGTAT\n+CACTCGTGAGAAAGGCGCTCTGGCTCATGATGACCGATTGGATGCCCTTGCGTTAGGCAT\n+TGAGTATCTCCGTGAGTCCATGCAGTTGGATTCCGTTAAGGTCGAGGGTGAAGTACTTGC\n+TGACTTCCTTGAGGAACACATGATGCGTCCTACGGTTGCTGCTACGCATATCATTGAGAT\n+GTCTGTGGGAGGAGTTGATGTGTACTCTGAGGACGATGAGGGTTACGGTACGTCTTTCAT\n+TGAGTGGTGATTTATGCATTAGGACTGCATAGGGATGCACTATAGACCACGGATGGTCAG\n+TTCTTTAAGTTACTGAAAAGACACGATAAATTAATACGACTCACTATAGGGAGAGGAGGG\n+ACGAAAGGTTACTATATAGATACTGAATGAATACTTATAGAGTGCATAAAGTATGCATAA\n+TGGTGTACCTAGAGTGACCTCTAAGAATGGTGATTATATTGTATTAGTATCACCTTAACT\n+TAAGGACCAACATAAAGGGAGGAGACTCATGTTCCGCTTATTGTTGAACCTACTGCGGCA\n+TAGAGTCACCTACCGATTTCTTGTGGTACTTTGTGCTGCCCTTGGGTACGCATCTCTTAC\n+TGGAGACCTCAGTTCACTGGAGTCTGTCGTTTGCTCTATACTCACTTGTAGCGATTAGGG\n+TCTTCCTGACCGACTGATGGCTCACCGAGGGATTCAGCGGTATGATTGCATCACACCACT\n+TCATCCCTATAGAGTCAAGTCCTAAGGTATACCCATAAAGAGCCTCTAATGGTCTATCCT\n+AAGGTCTATACCTAAAGATAGGCCATCCTATCAGTGTCACCTAAAGAGGGTCTTAGAGAG\n+GGCCTATGGAGTTCCTATAGGGTCCTTTAAAATATACCATAAAAATCTGAGTGACTATCT\n+CACAGTGTACGGACCTAAAGTTCCCCCATAGGGGGTACCTAAAGCCCAGCCAATCACCTA\n+AAGTCAACCTTCGGTTGACCTTGAGGGTTCCCTAAGGGTTGGGGATGACCCTTGGGTTTG\n+TCTTTGGGTGTTACCTTGAGTGTCTCTCTGTGTCCCT\n'
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/test-data/T7_ReqPhageIn.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/test-data/T7_ReqPhageIn.gff3 Fri May 13 05:31:56 2022 +0000
b
b'@@ -0,0 +1,10106 @@\n+##gff-version 3\n+##sequence-region NC_001604 1 39875\n+NC_001604\tcpt.fixModel\tgene\t67\t162\t.\t-\t.\tID=ORF.0.2981_0.5371002312088421\n+NC_001604\tcpt.fixModel\tmRNA\t67\t162\t.\t-\t.\tID=ORF.0.2981_0.5371002312088421.mRNA;Parent=ORF.0.2981_0.5371002312088421\n+NC_001604\tgetOrfsOrCds\tCDS\t67\t162\t.\t-\t0\tID=ORF.0.2981_0.5371002312088421.CDS;Parent=ORF.0.2981_0.5371002312088421.mRNA\n+NC_001604\tcpt.fixModel\tgene\t474\t608\t.\t-\t.\tID=ORF.0.3368_0.28419301859953283\n+NC_001604\tcpt.fixModel\tmRNA\t474\t608\t.\t-\t.\tID=ORF.0.3368_0.28419301859953283.mRNA;Parent=ORF.0.3368_0.28419301859953283\n+NC_001604\tgetOrfsOrCds\tCDS\t474\t608\t.\t-\t0\tID=ORF.0.3368_0.28419301859953283.CDS;Parent=ORF.0.3368_0.28419301859953283.mRNA\n+NC_001604\tcpt.fixModel\tgene\t481\t600\t.\t+\t.\tID=ORF.0.1_0.08596117030617323\n+NC_001604\tcpt.fixModel\tmRNA\t481\t600\t.\t+\t.\tID=ORF.0.1_0.08596117030617323.mRNA;Parent=ORF.0.1_0.08596117030617323\n+NC_001604\tgetOrfsOrCds\tCDS\t481\t600\t.\t+\t0\tID=ORF.0.1_0.08596117030617323.CDS;Parent=ORF.0.1_0.08596117030617323.mRNA\n+NC_001604\tcpt.fixModel\tgene\t490\t624\t.\t-\t.\tID=ORF.0.2977_0.3704567552146508\n+NC_001604\tcpt.fixModel\tmRNA\t490\t624\t.\t-\t.\tID=ORF.0.2977_0.3704567552146508.mRNA;Parent=ORF.0.2977_0.3704567552146508\n+NC_001604\tgetOrfsOrCds\tCDS\t490\t624\t.\t-\t0\tID=ORF.0.2977_0.3704567552146508.CDS;Parent=ORF.0.2977_0.3704567552146508.mRNA\n+NC_001604\tcpt.fixModel\tgene\t490\t618\t.\t-\t.\tID=ORF.0.2978_0.43563072343716236\n+NC_001604\tcpt.fixModel\tmRNA\t490\t618\t.\t-\t.\tID=ORF.0.2978_0.43563072343716236.mRNA;Parent=ORF.0.2978_0.43563072343716236\n+NC_001604\tgetOrfsOrCds\tCDS\t490\t618\t.\t-\t0\tID=ORF.0.2978_0.43563072343716236.CDS;Parent=ORF.0.2978_0.43563072343716236.mRNA\n+NC_001604\tcpt.fixModel\tgene\t490\t612\t.\t-\t.\tID=ORF.0.2979_0.9820690181756581\n+NC_001604\tcpt.fixModel\tmRNA\t490\t612\t.\t-\t.\tID=ORF.0.2979_0.9820690181756581.mRNA;Parent=ORF.0.2979_0.9820690181756581\n+NC_001604\tgetOrfsOrCds\tCDS\t490\t612\t.\t-\t0\tID=ORF.0.2979_0.9820690181756581.CDS;Parent=ORF.0.2979_0.9820690181756581.mRNA\n+NC_001604\tcpt.fixModel\tgene\t490\t585\t.\t-\t.\tID=ORF.0.2980_0.6600040690899451\n+NC_001604\tcpt.fixModel\tmRNA\t490\t585\t.\t-\t.\tID=ORF.0.2980_0.6600040690899451.mRNA;Parent=ORF.0.2980_0.6600040690899451\n+NC_001604\tgetOrfsOrCds\tCDS\t490\t585\t.\t-\t0\tID=ORF.0.2980_0.6600040690899451.CDS;Parent=ORF.0.2980_0.6600040690899451.mRNA\n+NC_001604\tcpt.fixModel\tgene\t542\t661\t.\t-\t.\tID=ORF.0.2503_0.03019209072733675\n+NC_001604\tcpt.fixModel\tmRNA\t542\t661\t.\t-\t.\tID=ORF.0.2503_0.03019209072733675.mRNA;Parent=ORF.0.2503_0.03019209072733675\n+NC_001604\tgetOrfsOrCds\tCDS\t542\t661\t.\t-\t0\tID=ORF.0.2503_0.03019209072733675.CDS;Parent=ORF.0.2503_0.03019209072733675.mRNA\n+NC_001604\tcpt.fixModel\tgene\t542\t649\t.\t-\t.\tID=ORF.0.2504_0.5545204186518331\n+NC_001604\tcpt.fixModel\tmRNA\t542\t649\t.\t-\t.\tID=ORF.0.2504_0.5545204186518331.mRNA;Parent=ORF.0.2504_0.5545204186518331\n+NC_001604\tgetOrfsOrCds\tCDS\t542\t649\t.\t-\t0\tID=ORF.0.2504_0.5545204186518331.CDS;Parent=ORF.0.2504_0.5545204186518331.mRNA\n+NC_001604\tcpt.fixModel\tgene\t542\t643\t.\t-\t.\tID=ORF.0.2505_0.31169170095364085\n+NC_001604\tcpt.fixModel\tmRNA\t542\t643\t.\t-\t.\tID=ORF.0.2505_0.31169170095364085.mRNA;Parent=ORF.0.2505_0.31169170095364085\n+NC_001604\tgetOrfsOrCds\tCDS\t542\t643\t.\t-\t0\tID=ORF.0.2505_0.31169170095364085.CDS;Parent=ORF.0.2505_0.31169170095364085.mRNA\n+NC_001604\tcpt.fixModel\tgene\t542\t637\t.\t-\t.\tID=ORF.0.2506_0.7313234548298825\n+NC_001604\tcpt.fixModel\tmRNA\t542\t637\t.\t-\t.\tID=ORF.0.2506_0.7313234548298825.mRNA;Parent=ORF.0.2506_0.7313234548298825\n+NC_001604\tgetOrfsOrCds\tCDS\t542\t637\t.\t-\t0\tID=ORF.0.2506_0.7313234548298825.CDS;Parent=ORF.0.2506_0.7313234548298825.mRNA\n+NC_001604\tcpt.fixModel\tgene\t627\t824\t.\t-\t.\tID=ORF.0.3363_0.9803284230217932\n+NC_001604\tcpt.fixModel\tmRNA\t627\t824\t.\t-\t.\tID=ORF.0.3363_0.9803284230217932.mRNA;Parent=ORF.0.3363_0.9803284230217932\n+NC_001604\tgetOrfsOrCds\tCDS\t627\t824\t.\t-\t0\tID=ORF.0.3363_0.9803284230217932.CDS;Parent=ORF.0.3363_0.9803284230217932.mRNA\n+NC_001604\tcpt.fixModel\tgene\t627\t785\t.\t-\t.\tID=ORF.0.3364_0.4661182571565128\n+NC_001604\tcpt.fixModel\tmRNA\t627\t785\t.\t-\t.\tID=ORF.0.3364_0.466'..b'DS;Parent=ORF.0.2021_0.3406547997303282.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39456\t39557\t.\t+\t.\tID=ORF.0.2022_0.9118888039404659\n+NC_001604\tcpt.fixModel\tmRNA\t39456\t39557\t.\t+\t.\tID=ORF.0.2022_0.9118888039404659.mRNA;Parent=ORF.0.2022_0.9118888039404659\n+NC_001604\tgetOrfsOrCds\tCDS\t39456\t39557\t.\t+\t0\tID=ORF.0.2022_0.9118888039404659.CDS;Parent=ORF.0.2022_0.9118888039404659.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39462\t39557\t.\t+\t.\tID=ORF.0.2023_0.2547887662353707\n+NC_001604\tcpt.fixModel\tmRNA\t39462\t39557\t.\t+\t.\tID=ORF.0.2023_0.2547887662353707.mRNA;Parent=ORF.0.2023_0.2547887662353707\n+NC_001604\tgetOrfsOrCds\tCDS\t39462\t39557\t.\t+\t0\tID=ORF.0.2023_0.2547887662353707.CDS;Parent=ORF.0.2023_0.2547887662353707.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39494\t39610\t.\t-\t.\tID=ORF.0.2028_0.2927342739513463\n+NC_001604\tcpt.fixModel\tmRNA\t39494\t39610\t.\t-\t.\tID=ORF.0.2028_0.2927342739513463.mRNA;Parent=ORF.0.2028_0.2927342739513463\n+NC_001604\tgetOrfsOrCds\tCDS\t39494\t39610\t.\t-\t0\tID=ORF.0.2028_0.2927342739513463.CDS;Parent=ORF.0.2028_0.2927342739513463.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39494\t39604\t.\t-\t.\tID=ORF.0.2029_0.06575596254471638\n+NC_001604\tcpt.fixModel\tmRNA\t39494\t39604\t.\t-\t.\tID=ORF.0.2029_0.06575596254471638.mRNA;Parent=ORF.0.2029_0.06575596254471638\n+NC_001604\tgetOrfsOrCds\tCDS\t39494\t39604\t.\t-\t0\tID=ORF.0.2029_0.06575596254471638.CDS;Parent=ORF.0.2029_0.06575596254471638.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39494\t39586\t.\t-\t.\tID=ORF.0.2030_0.11125513241833318\n+NC_001604\tcpt.fixModel\tmRNA\t39494\t39586\t.\t-\t.\tID=ORF.0.2030_0.11125513241833318.mRNA;Parent=ORF.0.2030_0.11125513241833318\n+NC_001604\tgetOrfsOrCds\tCDS\t39494\t39586\t.\t-\t0\tID=ORF.0.2030_0.11125513241833318.CDS;Parent=ORF.0.2030_0.11125513241833318.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39494\t39583\t.\t-\t.\tID=ORF.0.2031_0.34394036848282017\n+NC_001604\tcpt.fixModel\tmRNA\t39494\t39583\t.\t-\t.\tID=ORF.0.2031_0.34394036848282017.mRNA;Parent=ORF.0.2031_0.34394036848282017\n+NC_001604\tgetOrfsOrCds\tCDS\t39494\t39583\t.\t-\t0\tID=ORF.0.2031_0.34394036848282017.CDS;Parent=ORF.0.2031_0.34394036848282017.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39656\t39811\t.\t+\t.\tID=ORF.0.1419_0.5968957338221014\n+NC_001604\tcpt.fixModel\tmRNA\t39656\t39811\t.\t+\t.\tID=ORF.0.1419_0.5968957338221014.mRNA;Parent=ORF.0.1419_0.5968957338221014\n+NC_001604\tgetOrfsOrCds\tCDS\t39656\t39811\t.\t+\t0\tID=ORF.0.1419_0.5968957338221014.CDS;Parent=ORF.0.1419_0.5968957338221014.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39668\t39811\t.\t+\t.\tID=ORF.0.1420_0.14929339269028563\n+NC_001604\tcpt.fixModel\tmRNA\t39668\t39811\t.\t+\t.\tID=ORF.0.1420_0.14929339269028563.mRNA;Parent=ORF.0.1420_0.14929339269028563\n+NC_001604\tgetOrfsOrCds\tCDS\t39668\t39811\t.\t+\t0\tID=ORF.0.1420_0.14929339269028563.CDS;Parent=ORF.0.1420_0.14929339269028563.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39713\t39847\t.\t-\t.\tID=ORF.0.2026_0.08836418353296771\n+NC_001604\tcpt.fixModel\tmRNA\t39713\t39847\t.\t-\t.\tID=ORF.0.2026_0.08836418353296771.mRNA;Parent=ORF.0.2026_0.08836418353296771\n+NC_001604\tgetOrfsOrCds\tCDS\t39713\t39847\t.\t-\t0\tID=ORF.0.2026_0.08836418353296771.CDS;Parent=ORF.0.2026_0.08836418353296771.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39713\t39829\t.\t-\t.\tID=ORF.0.2027_0.44537379198064597\n+NC_001604\tcpt.fixModel\tmRNA\t39713\t39829\t.\t-\t.\tID=ORF.0.2027_0.44537379198064597.mRNA;Parent=ORF.0.2027_0.44537379198064597\n+NC_001604\tgetOrfsOrCds\tCDS\t39713\t39829\t.\t-\t0\tID=ORF.0.2027_0.44537379198064597.CDS;Parent=ORF.0.2027_0.44537379198064597.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39771\t39875\t.\t+\t.\tID=ORF.0.2024_0.3143097415554854\n+NC_001604\tcpt.fixModel\tmRNA\t39771\t39875\t.\t+\t.\tID=ORF.0.2024_0.3143097415554854.mRNA;Parent=ORF.0.2024_0.3143097415554854\n+NC_001604\tgetOrfsOrCds\tCDS\t39771\t39875\t.\t+\t0\tID=ORF.0.2024_0.3143097415554854.CDS;Parent=ORF.0.2024_0.3143097415554854.mRNA\n+NC_001604\tcpt.fixModel\tgene\t39777\t39875\t.\t+\t.\tID=ORF.0.2025_0.9321643170495068\n+NC_001604\tcpt.fixModel\tmRNA\t39777\t39875\t.\t+\t.\tID=ORF.0.2025_0.9321643170495068.mRNA;Parent=ORF.0.2025_0.9321643170495068\n+NC_001604\tgetOrfsOrCds\tCDS\t39777\t39875\t.\t+\t0\tID=ORF.0.2025_0.9321643170495068.CDS;Parent=ORF.0.2025_0.9321643170495068.mRNA\n'
b
diff -r 000000000000 -r 45a5cf6b0ff4 cpt_req_phage_start/test-data/T7_ReqPhageOut.gff3
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cpt_req_phage_start/test-data/T7_ReqPhageOut.gff3 Fri May 13 05:31:56 2022 +0000
b
b'@@ -0,0 +1,4621 @@\n+##gff-version 3\n+NC_001604\tcpt.fixModel\tgene\t474\t608\t.\t-\t.\tID=ORF.0.3368_0.28419301859953283;\n+NC_001604\tcpt.fixModel\tmRNA\t474\t608\t.\t-\t.\tID=ORF.0.3368_0.28419301859953283.mRNA;Parent=ORF.0.3368_0.28419301859953283;\n+NC_001604\tgetOrfsOrCds\tCDS\t474\t608\t.\t-\t0\tID=ORF.0.3368_0.28419301859953283.CDS;Parent=ORF.0.3368_0.28419301859953283.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t542\t649\t.\t-\t.\tID=ORF.0.2504_0.5545204186518331;\n+NC_001604\tcpt.fixModel\tmRNA\t542\t649\t.\t-\t.\tID=ORF.0.2504_0.5545204186518331.mRNA;Parent=ORF.0.2504_0.5545204186518331;\n+NC_001604\tgetOrfsOrCds\tCDS\t542\t649\t.\t-\t0\tID=ORF.0.2504_0.5545204186518331.CDS;Parent=ORF.0.2504_0.5545204186518331.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t542\t637\t.\t-\t.\tID=ORF.0.2506_0.7313234548298825;\n+NC_001604\tcpt.fixModel\tmRNA\t542\t637\t.\t-\t.\tID=ORF.0.2506_0.7313234548298825.mRNA;Parent=ORF.0.2506_0.7313234548298825;\n+NC_001604\tgetOrfsOrCds\tCDS\t542\t637\t.\t-\t0\tID=ORF.0.2506_0.7313234548298825.CDS;Parent=ORF.0.2506_0.7313234548298825.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t627\t824\t.\t-\t.\tID=ORF.0.3363_0.9803284230217932;\n+NC_001604\tcpt.fixModel\tmRNA\t627\t824\t.\t-\t.\tID=ORF.0.3363_0.9803284230217932.mRNA;Parent=ORF.0.3363_0.9803284230217932;\n+NC_001604\tgetOrfsOrCds\tCDS\t627\t824\t.\t-\t0\tID=ORF.0.3363_0.9803284230217932.CDS;Parent=ORF.0.3363_0.9803284230217932.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t627\t749\t.\t-\t.\tID=ORF.0.3366_0.1140531249994925;\n+NC_001604\tcpt.fixModel\tmRNA\t627\t749\t.\t-\t.\tID=ORF.0.3366_0.1140531249994925.mRNA;Parent=ORF.0.3366_0.1140531249994925;\n+NC_001604\tgetOrfsOrCds\tCDS\t627\t749\t.\t-\t0\tID=ORF.0.3366_0.1140531249994925.CDS;Parent=ORF.0.3366_0.1140531249994925.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t627\t734\t.\t-\t.\tID=ORF.0.3367_0.1254781548971481;\n+NC_001604\tcpt.fixModel\tmRNA\t627\t734\t.\t-\t.\tID=ORF.0.3367_0.1254781548971481.mRNA;Parent=ORF.0.3367_0.1254781548971481;\n+NC_001604\tgetOrfsOrCds\tCDS\t627\t734\t.\t-\t0\tID=ORF.0.3367_0.1254781548971481.CDS;Parent=ORF.0.3367_0.1254781548971481.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t677\t772\t.\t-\t.\tID=ORF.0.2501_0.5913137142424937;\n+NC_001604\tcpt.fixModel\tmRNA\t677\t772\t.\t-\t.\tID=ORF.0.2501_0.5913137142424937.mRNA;Parent=ORF.0.2501_0.5913137142424937;\n+NC_001604\tgetOrfsOrCds\tCDS\t677\t772\t.\t-\t0\tID=ORF.0.2501_0.5913137142424937.CDS;Parent=ORF.0.2501_0.5913137142424937.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t677\t769\t.\t-\t.\tID=ORF.0.2502_0.38676830713134225;\n+NC_001604\tcpt.fixModel\tmRNA\t677\t769\t.\t-\t.\tID=ORF.0.2502_0.38676830713134225.mRNA;Parent=ORF.0.2502_0.38676830713134225;\n+NC_001604\tgetOrfsOrCds\tCDS\t677\t769\t.\t-\t0\tID=ORF.0.2502_0.38676830713134225.CDS;Parent=ORF.0.2502_0.38676830713134225.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t766\t1191\t.\t-\t.\tID=ORF.0.2960_0.21096600108012498;\n+NC_001604\tcpt.fixModel\tmRNA\t766\t1191\t.\t-\t.\tID=ORF.0.2960_0.21096600108012498.mRNA;Parent=ORF.0.2960_0.21096600108012498;\n+NC_001604\tgetOrfsOrCds\tCDS\t766\t1191\t.\t-\t0\tID=ORF.0.2960_0.21096600108012498.CDS;Parent=ORF.0.2960_0.21096600108012498.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t766\t1173\t.\t-\t.\tID=ORF.0.2962_0.3686911453881315;\n+NC_001604\tcpt.fixModel\tmRNA\t766\t1173\t.\t-\t.\tID=ORF.0.2962_0.3686911453881315.mRNA;Parent=ORF.0.2962_0.3686911453881315;\n+NC_001604\tgetOrfsOrCds\tCDS\t766\t1173\t.\t-\t0\tID=ORF.0.2962_0.3686911453881315.CDS;Parent=ORF.0.2962_0.3686911453881315.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t766\t1068\t.\t-\t.\tID=ORF.0.2963_0.06575102210046269;\n+NC_001604\tcpt.fixModel\tmRNA\t766\t1068\t.\t-\t.\tID=ORF.0.2963_0.06575102210046269.mRNA;Parent=ORF.0.2963_0.06575102210046269;\n+NC_001604\tgetOrfsOrCds\tCDS\t766\t1068\t.\t-\t0\tID=ORF.0.2963_0.06575102210046269.CDS;Parent=ORF.0.2963_0.06575102210046269.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t766\t1041\t.\t-\t.\tID=ORF.0.2966_0.9902044398715091;\n+NC_001604\tcpt.fixModel\tmRNA\t766\t1041\t.\t-\t.\tID=ORF.0.2966_0.9902044398715091.mRNA;Parent=ORF.0.2966_0.9902044398715091;\n+NC_001604\tgetOrfsOrCds\tCDS\t766\t1041\t.\t-\t0\tID=ORF.0.2966_0.9902044398715091.CDS;Parent=ORF.0.2966_0.9902044398715091.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t766\t1029\t.\t-\t.\tID=ORF.0.2968_0.26971130700766166;\n+NC_001604\tcpt.fixModel\tmRNA\t766\t102'..b'9193357.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39054\t39152\t.\t+\t.\tID=ORF.0.2017_0.180421609975549;\n+NC_001604\tcpt.fixModel\tmRNA\t39054\t39152\t.\t+\t.\tID=ORF.0.2017_0.180421609975549.mRNA;Parent=ORF.0.2017_0.180421609975549;\n+NC_001604\tgetOrfsOrCds\tCDS\t39054\t39152\t.\t+\t0\tID=ORF.0.2017_0.180421609975549.CDS;Parent=ORF.0.2017_0.180421609975549.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39389\t39538\t.\t+\t.\tID=ORF.0.1414_0.38280168913440005;\n+NC_001604\tcpt.fixModel\tmRNA\t39389\t39538\t.\t+\t.\tID=ORF.0.1414_0.38280168913440005.mRNA;Parent=ORF.0.1414_0.38280168913440005;\n+NC_001604\tgetOrfsOrCds\tCDS\t39389\t39538\t.\t+\t0\tID=ORF.0.1414_0.38280168913440005.CDS;Parent=ORF.0.1414_0.38280168913440005.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39401\t39538\t.\t+\t.\tID=ORF.0.1415_0.6718574041471794;\n+NC_001604\tcpt.fixModel\tmRNA\t39401\t39538\t.\t+\t.\tID=ORF.0.1415_0.6718574041471794.mRNA;Parent=ORF.0.1415_0.6718574041471794;\n+NC_001604\tgetOrfsOrCds\tCDS\t39401\t39538\t.\t+\t0\tID=ORF.0.1415_0.6718574041471794.CDS;Parent=ORF.0.1415_0.6718574041471794.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39404\t39538\t.\t+\t.\tID=ORF.0.1416_0.34784595549723085;\n+NC_001604\tcpt.fixModel\tmRNA\t39404\t39538\t.\t+\t.\tID=ORF.0.1416_0.34784595549723085.mRNA;Parent=ORF.0.1416_0.34784595549723085;\n+NC_001604\tgetOrfsOrCds\tCDS\t39404\t39538\t.\t+\t0\tID=ORF.0.1416_0.34784595549723085.CDS;Parent=ORF.0.1416_0.34784595549723085.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39430\t39525\t.\t-\t.\tID=ORF.0.2507_0.38585887665399443;\n+NC_001604\tcpt.fixModel\tmRNA\t39430\t39525\t.\t-\t.\tID=ORF.0.2507_0.38585887665399443.mRNA;Parent=ORF.0.2507_0.38585887665399443;\n+NC_001604\tgetOrfsOrCds\tCDS\t39430\t39525\t.\t-\t0\tID=ORF.0.2507_0.38585887665399443.CDS;Parent=ORF.0.2507_0.38585887665399443.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39441\t39557\t.\t+\t.\tID=ORF.0.2020_0.5190345053482985;\n+NC_001604\tcpt.fixModel\tmRNA\t39441\t39557\t.\t+\t.\tID=ORF.0.2020_0.5190345053482985.mRNA;Parent=ORF.0.2020_0.5190345053482985;\n+NC_001604\tgetOrfsOrCds\tCDS\t39441\t39557\t.\t+\t0\tID=ORF.0.2020_0.5190345053482985.CDS;Parent=ORF.0.2020_0.5190345053482985.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39443\t39538\t.\t+\t.\tID=ORF.0.1418_0.10927550644702377;\n+NC_001604\tcpt.fixModel\tmRNA\t39443\t39538\t.\t+\t.\tID=ORF.0.1418_0.10927550644702377.mRNA;Parent=ORF.0.1418_0.10927550644702377;\n+NC_001604\tgetOrfsOrCds\tCDS\t39443\t39538\t.\t+\t0\tID=ORF.0.1418_0.10927550644702377.CDS;Parent=ORF.0.1418_0.10927550644702377.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39453\t39557\t.\t+\t.\tID=ORF.0.2021_0.3406547997303282;\n+NC_001604\tcpt.fixModel\tmRNA\t39453\t39557\t.\t+\t.\tID=ORF.0.2021_0.3406547997303282.mRNA;Parent=ORF.0.2021_0.3406547997303282;\n+NC_001604\tgetOrfsOrCds\tCDS\t39453\t39557\t.\t+\t0\tID=ORF.0.2021_0.3406547997303282.CDS;Parent=ORF.0.2021_0.3406547997303282.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39462\t39557\t.\t+\t.\tID=ORF.0.2023_0.2547887662353707;\n+NC_001604\tcpt.fixModel\tmRNA\t39462\t39557\t.\t+\t.\tID=ORF.0.2023_0.2547887662353707.mRNA;Parent=ORF.0.2023_0.2547887662353707;\n+NC_001604\tgetOrfsOrCds\tCDS\t39462\t39557\t.\t+\t0\tID=ORF.0.2023_0.2547887662353707.CDS;Parent=ORF.0.2023_0.2547887662353707.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39494\t39604\t.\t-\t.\tID=ORF.0.2029_0.06575596254471638;\n+NC_001604\tcpt.fixModel\tmRNA\t39494\t39604\t.\t-\t.\tID=ORF.0.2029_0.06575596254471638.mRNA;Parent=ORF.0.2029_0.06575596254471638;\n+NC_001604\tgetOrfsOrCds\tCDS\t39494\t39604\t.\t-\t0\tID=ORF.0.2029_0.06575596254471638.CDS;Parent=ORF.0.2029_0.06575596254471638.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39713\t39847\t.\t-\t.\tID=ORF.0.2026_0.08836418353296771;\n+NC_001604\tcpt.fixModel\tmRNA\t39713\t39847\t.\t-\t.\tID=ORF.0.2026_0.08836418353296771.mRNA;Parent=ORF.0.2026_0.08836418353296771;\n+NC_001604\tgetOrfsOrCds\tCDS\t39713\t39847\t.\t-\t0\tID=ORF.0.2026_0.08836418353296771.CDS;Parent=ORF.0.2026_0.08836418353296771.mRNA;\n+NC_001604\tcpt.fixModel\tgene\t39771\t39875\t.\t+\t.\tID=ORF.0.2024_0.3143097415554854;\n+NC_001604\tcpt.fixModel\tmRNA\t39771\t39875\t.\t+\t.\tID=ORF.0.2024_0.3143097415554854.mRNA;Parent=ORF.0.2024_0.3143097415554854;\n+NC_001604\tgetOrfsOrCds\tCDS\t39771\t39875\t.\t+\t0\tID=ORF.0.2024_0.3143097415554854.CDS;Parent=ORF.0.2024_0.3143097415554854.mRNA;\n'