diff --git a/SBOL3_simple_library4.nt b/SBOL3_simple_library4.nt index faa38cf..ebb578c 100644 --- a/SBOL3_simple_library4.nt +++ b/SBOL3_simple_library4.nt @@ -1,103 +1,151 @@ "GFPmut3" . "E0040" . . - . + . . . . "Green FP (off patent)" . + "E0040_sequence" . + "atgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaa" . + . + . "mRFP1" . "E1010" . . - . + . . . . "Red FP (off patent)" . + "E1010_sequence" . + "atggcttcctccgaagacgttatcaaagagttcatgcgtttcaaagttcgtatggaaggttccgttaacggtcacgagttcgaaatcgaaggtgaaggtgaaggtcgtccgtacgaaggtacccagaccgctaaactgaaagttaccaaaggtggtccgctgccgttcgcttgggacatcctgtccccgcagttccagtacggttccaaagcttacgttaaacacccggctgacatcccggactacctgaaactgtccttcccggaaggtttcaaatgggaacgtgttatgaacttcgaagacggtggtgttgttaccgttacccaggactcctccctgcaagacggtgagttcatctacaaagttaaactgcgtggtaccaacttcccgtccgacggtccggttatgcagaaaaaaaccatgggttgggaagcttccaccgaacgtatgtacccggaagacggtgctctgaaaggtgaaatcaaaatgcgtctgaaactgaaagacggtggtcactacgacgctgaagttaaaaccacctacatggctaaaaaaccggttcagctgccgggtgcttacaaaaccgacatcaaactggacatcacctcccacaacgaagactacaccatcgttgaacagtacgaacgtgctgaaggtcgtcactccaccggtgcttaataacgctgatagtgctagtgtagatcgc" . + . + . "I20270" . . - . + . . . . "positive control 2018 interlab" . + "I20270_sequence" . + "ttgatggctagctcagtcctaggtacaatgctagctactagagtcacacaggaaagtactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . + . + . "mCherry" . "J06504" . . - . + . . . . "Red FP (off patent)" . + "J06504_sequence" . + "atggtgagcaagggcgaggaggataacatggccatcatcaaggagttcatgcgcttcaaggtgcacatggagggctccgtgaacggccacgagttcgagatcgagggcgagggcgagggccgcccctacgagggcacccagaccgccaagctgaaggtgaccaagggtggccccctgcccttcgcctgggacatcctgtcccctcagttcatgtacggctccaaggcctacgtgaagcaccccgccgacatccccgactacttgaagctgtccttccccgagggcttcaagtgggagcgcgtgatgaacttcgaggacggcggcgtggtgaccgtgacccaggactcctccttgcaggacggcgagttcatctacaaggtgaagctgcgcggcaccaacttcccctccgacggccccgtaatgcagaagaagaccatgggctgggaggcctcctccgagcggatgtaccccgaggacggcgccctgaagggcgagatcaagcagaggctgaagctgaaggacggcggccactacgacgctgaggtcaagaccacctacaaggccaagaagcccgtgcagctgcccggcgcctacaacgtcaacatcaagttggacatcacctcccacaacgaggactacaccatcgtggaacagtacgaacgcgccgagggccgccactccaccggcggcatggacgagctgtacaag" . + . + . "J23101" . . - . + . . . . "5.5 SLM (high, but variable)" . + "J23101_sequence" . + "tttacagctagctcagtcctaggtattatgctagc" . + . + . "J23105" . . - . + . . . . "TBD SLM (expect 4.5)" . + "J23105_sequence" . + "ttgacagctagctcagtcctagggactatgctagc" . + . + . "J364001" . . - . + . . . . "J23106 2018 interlab" . + "J364001_sequence" . + "tttacggctagctcagtcctaggtatagtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . + . + . "J364002" . . - . + . . . . "J23117 2018 interlab" . + "J364002_sequence" . + "ttgacagctagctcagtcctagggattgtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . + . + . "J364007" . . - . + . . . . "J23100 2018 interlab" . + "J364007_sequence" . + "ttgacggctagctcagtcctaggtacagtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . + . + . "J364009" . . - . + . . . . "J23116 2018 interlab" . + "J364009_sequence" . + "ttgacagctagctcagtcctagggactatgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . + . + . "TagBFP2" . "K592100" . . - . + . . . . "Blue FP" . + "K592100_sequence" . + "atgagcgaactgatcaaagagaacatgcacatgaagctgtacatggaaggcaccgttgacaaccaccactttaagtgcacgtctgagggtgagggtaagccgtacgaaggcacccaaaccatgcgtatcaaagttgtggagggcggtccactgccgttcgcttttgacattctggcgaccagcttcctgtacggttccaaaacgttcattaaccatactcagggcattccggatttcttcaaacagagctttccggaaggtttcacctgggagcgtgtcaccacgtatgaagatggtggtgtgttgaccgccacccaagatacctccctgcaagatggctgtctgatctataacgtgaaaattcgtggcgtcaactttacgagcaatggtccggtgatgcagaagaaaaccctgggttgggaggcgtttacggaaaccctgtatccggccgatggtggcctggagggccgtaacgacatggcactgaagctggttggtggcagccatttgatcgcaaatatcaagacgacgtaccgcagcaagaaaccggcgaaaaatctgaagatgccgggtgtttactatgtcgactaccgtctggaacgcattaaagaagcgaataatgagacttacgtggagcagcacgaggttgcagtcgcgcgctattgcgacttgcctagcaagctgggtcataaactgaat" . + . + . "R0040" . . - . + . . . . "negative control 2018 interlab" . + "R0040_sequence" . + "tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac" . + . + . . "VariableFeature1" . . - . - . + . + . + . + . . - . - . - . . . . + . . "All_FPs" . . @@ -177,32 +225,32 @@ "Collection from the Basic Parts sheet" . "Basic_Parts" . . + . + . + . + . + . + . + . + . + . + . + . + . . . . . - . - . . - . - . - . - . - . - . - . - . - . - . - . . . . - . . . . . + . + . . "BioBricks_scar_long" . . @@ -236,14 +284,6 @@ . . . - "E0040_sequence" . - "atgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaa" . - . - . - "E1010_sequence" . - "atggcttcctccgaagacgttatcaaagagttcatgcgtttcaaagttcgtatggaaggttccgttaacggtcacgagttcgaaatcgaaggtgaaggtgaaggtcgtccgtacgaaggtacccagaccgctaaactgaaagttaccaaaggtggtccgctgccgttcgcttgggacatcctgtccccgcagttccagtacggttccaaagcttacgttaaacacccggctgacatcccggactacctgaaactgtccttcccggaaggtttcaaatgggaacgtgttatgaacttcgaagacggtggtgttgttaccgttacccaggactcctccctgcaagacggtgagttcatctacaaagttaaactgcgtggtaccaacttcccgtccgacggtccggttatgcagaaaaaaaccatgggttgggaagcttccaccgaacgtatgtacccggaagacggtgctctgaaaggtgaaatcaaaatgcgtctgaaactgaaagacggtggtcactacgacgctgaagttaaaaccacctacatggctaaaaaaccggttcagctgccgggtgcttacaaaaccgacatcaaactggacatcacctcccacaacgaagactacaccatcgttgaacagtacgaacgtgctgaaggtcgtcactccaccggtgcttaataacgctgatagtgctagtgtagatcgc" . - . - . "ECFP" . "ECFP" . . @@ -275,8 +315,8 @@ . "VariableFeature2" . . - . - . + . + . . . "VariableFeature3" . @@ -400,58 +440,12 @@ . "FinalProducts" . . - "I20270_sequence" . - "ttgatggctagctcagtcctaggtacaatgctagctactagagtcacacaggaaagtactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J06504_sequence" . - "atggtgagcaagggcgaggaggataacatggccatcatcaaggagttcatgcgcttcaaggtgcacatggagggctccgtgaacggccacgagttcgagatcgagggcgagggcgagggccgcccctacgagggcacccagaccgccaagctgaaggtgaccaagggtggccccctgcccttcgcctgggacatcctgtcccctcagttcatgtacggctccaaggcctacgtgaagcaccccgccgacatccccgactacttgaagctgtccttccccgagggcttcaagtgggagcgcgtgatgaacttcgaggacggcggcgtggtgaccgtgacccaggactcctccttgcaggacggcgagttcatctacaaggtgaagctgcgcggcaccaacttcccctccgacggccccgtaatgcagaagaagaccatgggctgggaggcctcctccgagcggatgtaccccgaggacggcgccctgaagggcgagatcaagcagaggctgaagctgaaggacggcggccactacgacgctgaggtcaagaccacctacaaggccaagaagcccgtgcagctgcccggcgcctacaacgtcaacatcaagttggacatcacctcccacaacgaggactacaccatcgtggaacagtacgaacgcgccgagggccgccactccaccggcggcatggacgagctgtacaag" . - . - . - "J23101_sequence" . - "tttacagctagctcagtcctaggtattatgctagc" . - . - . - "J23105_sequence" . - "ttgacagctagctcagtcctagggactatgctagc" . - . - . - "J364001_sequence" . - "tttacggctagctcagtcctaggtatagtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J364002_sequence" . - "ttgacagctagctcagtcctagggattgtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J364007_sequence" . - "ttgacggctagctcagtcctaggtacagtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J364009_sequence" . - "ttgacagctagctcagtcctagggactatgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "K592100_sequence" . - "atgagcgaactgatcaaagagaacatgcacatgaagctgtacatggaaggcaccgttgacaaccaccactttaagtgcacgtctgagggtgagggtaagccgtacgaaggcacccaaaccatgcgtatcaaagttgtggagggcggtccactgccgttcgcttttgacattctggcgaccagcttcctgtacggttccaaaacgttcattaaccatactcagggcattccggatttcttcaaacagagctttccggaaggtttcacctgggagcgtgtcaccacgtatgaagatggtggtgtgttgaccgccacccaagatacctccctgcaagatggctgtctgatctataacgtgaaaattcgtggcgtcaactttacgagcaatggtccggtgatgcagaagaaaaccctgggttgggaggcgtttacggaaaccctgtatccggccgatggtggcctggagggccgtaacgacatggcactgaagctggttggtggcagccatttgatcgcaaatatcaagacgacgtaccgcagcaagaaaccggcgaaaaatctgaagatgccgggtgtttactatgtcgactaccgtctggaacgcattaaagaagcgaataatgagacttacgtggagcagcacgaggttgcagtcgcgcgctattgcgacttgcctagcaagctgggtcataaactgaat" . - . - . "LinearDNAProducts" . . . . "LinearDNAProducts" . . - "LmrA" . - . - . - . - . - "From SymBioHub: https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/LmrA/1" . - "R0040_sequence" . - "tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac" . - . - . . "VariableFeature1" . . @@ -545,12 +539,12 @@ . "VariableFeature1" . . - . - . - . - . - . - . + . + . + . + . + . + . . "_2018_Interlab_ins" . . @@ -595,10 +589,6 @@ . . . - "mCerulean3_sequence" . - "atggtgtcgaaaggtgaagaactttttacaggtgtggtccccattttagtcgaattagatggggatgtgaatggtcacaaattctcggtgtctggggagggtgaaggtgacgcgacctacgggaagttgactctgaaattcatttgcactacggggaagttaccagtgccctggcccactctggttacaacactgtcatggggcgtccaatgttttgctcgttatcctgaccacatgaaacagcatgacttcttcaagagcgcaatgccggaaggctatgtccaagagcgtactatctttttcaaagacgatgggaactacaaaacacgcgcagaagtgaagtttgagggagataccctggttaatcgcattgaattgaaaggtatcgacttcaaggaggatggtaatatcctggggcacaaattggagtacaacgctatccacggcaatgtttacattacggcagacaaacagaaaaacggaattaaggccaatttcggacttaactgcaacatcgaagatgggtcggtacaactggcagaccactatcagcaaaatacgcctattggtgacggtcctgtcctgttaccggacaatcattatctttccactcagtcgaaactgagtaaagatccgaacgagaagcgcgatcacatggtattattagagttcgtcacagccgcaggtattacgttagggatggatgagctttacaag" . - . - . "mTagBFP2" . . . @@ -642,12 +632,22 @@ . . "pMB1 replicon, 100-300 copy" . + "LmrA" . + . + . + . + . + . "mCerulean3" . "ATP07149_u46_1" . . - . + . . . . . "Cyan FP; codon optimized using IDT tool " . + "mCerulean3_sequence" . + "atggtgtcgaaaggtgaagaactttttacaggtgtggtccccattttagtcgaattagatggggatgtgaatggtcacaaattctcggtgtctggggagggtgaaggtgacgcgacctacgggaagttgactctgaaattcatttgcactacggggaagttaccagtgccctggcccactctggttacaacactgtcatggggcgtccaatgttttgctcgttatcctgaccacatgaaacagcatgacttcttcaagagcgcaatgccggaaggctatgtccaagagcgtactatctttttcaaagacgatgggaactacaaaacacgcgcagaagtgaagtttgagggagataccctggttaatcgcattgaattgaaaggtatcgacttcaaggaggatggtaatatcctggggcacaaattggagtacaacgctatccacggcaatgtttacattacggcagacaaacagaaaaacggaattaaggccaatttcggacttaactgcaacatcgaagatgggtcggtacaactggcagaccactatcagcaaaatacgcctattggtgacggtcctgtcctgttaccggacaatcattatctttccactcagtcgaaactgagtaaagatccgaacgagaagcgcgatcacatggtattattagagttcgtcacagccgcaggtattacgttagggatggatgagctttacaag" . + . + . diff --git a/SBOL3_simple_library4.xlsx b/SBOL3_simple_library4.xlsx index 352bc21..269a7ad 100644 Binary files a/SBOL3_simple_library4.xlsx and b/SBOL3_simple_library4.xlsx differ diff --git a/excelutils/excel_sbol_utils/helpers.py b/excelutils/excel_sbol_utils/helpers.py index 73399c8..254db55 100644 --- a/excelutils/excel_sbol_utils/helpers.py +++ b/excelutils/excel_sbol_utils/helpers.py @@ -1,5 +1,6 @@ import re import string +import rdflib from openpyxl.worksheet import cell_range, worksheet from pathlib import Path @@ -146,3 +147,52 @@ def read_variant_table(excel_file: Path) -> tuple[str, str, list[list]]: variant_lists = [[v for v in column if v] for column in column_iterator] # drop the empty cells from each range return library_name, base_sequence, variant_lists + +def update_uri_refs(doc, update_dict, use_derived=True, derived_ls = ['_sequence']): + """ + This updates a set of referenced uris (may be a namespace or identity update) + + Args: + doc (SBOL3 Document): document to be updated + update_dict (dict): dictionary of the form {old_uri:new_uri} + use_derived (bool, optional): Whether or not to also update derived uris. Defaults to True. + derived_ls (list, optional): List of derivations e.g. also version of the uri + with _sequence added to the end. Defaults to ['_sequence']. + + Returns: + doc (SBOL3 Document): updated document + """ + # create all the additional uris that will need to be updated + derived_keys = [] + for deriv in derived_ls: + der_update = [f'{x}{deriv}' for x in update_dict.keys()] + derived_keys.extend(der_update) + + # pull the graph from the document + g = doc.graph() + for index, (subject, predicate, _object) in enumerate(g): + # if the object is one of the items to be updated do so + if str(_object) in update_dict: + g.remove((subject, predicate, _object)) + new = rdflib.URIRef(update_dict[str(_object)]) + g.add((subject, predicate, new)) + # update any derived objects + elif use_derived and str(_object) in derived_keys: + suffix = str(_object).split('_')[-1] # assumes suffix starts with '_' + suffix = f'_{suffix}' + g.remove((subject, predicate, _object)) + old = str(_object) + new = f"{update_dict[old.replace(suffix, '')]}{suffix}" + new = rdflib.URIRef(new) + g.add((subject, predicate, new)) + # update any derived subjects + if use_derived and str(subject) in derived_keys: + suffix = str(subject).split('_')[-1] # assumes suffix starts with '_' + suffix = f'_{suffix}' + g.remove((subject, predicate, _object)) + old = str(subject) + new = f"{update_dict[old.replace(suffix, '')]}{suffix}" + new = rdflib.URIRef(new) + g.add((new, predicate, _object)) + doc._parse_graph(g) + return doc \ No newline at end of file diff --git a/excelutils/excel_sbol_utils/library3.py b/excelutils/excel_sbol_utils/library3.py index 28f33b5..7ef244b 100644 --- a/excelutils/excel_sbol_utils/library3.py +++ b/excelutils/excel_sbol_utils/library3.py @@ -154,12 +154,13 @@ def dataSource(rowobj): val = vals[list(vals.keys())[colnum]] datasource_dict = {'GenBank':{'Replace Example':'https://www.ncbi.nlm.nih.gov/nuccore/{REPLACE_HERE}', 'Literal Part':'TRUE', 'Namespace':'https://www.ncbi.nlm.nih.gov/nuccore', 'Prefix':'gb'}, - 'PubMed':{'Replace Example':'https://pubmed.ncbi.nlm.nih.gov/{REPLACE_HERE}/', 'Literal Part':'FALSE', 'Namespace':'', 'Prefix':''}, + 'PubMed':{'Replace Example':'https://pubmed.ncbi.nlm.nih.gov/{REPLACE_HERE}/', 'Literal Part':'FALSE', 'Namespace':'', 'Prefix':'', 'derived_from':''}, 'iGEM registry':{'Replace Example':'http://parts.igem.org/Part:{REPLACE_HERE}', 'Literal Part':'TRUE', 'Namespace':'http://parts.igem.org', 'Prefix':'igem'}, 'AddGene':{'Replace Example':'https://www.addgene.org/{REPLACE_HERE}/', 'Literal Part':'FALSE', 'Namespace':'', 'Prefix':''}, 'Seva plasmids':{'Replace Example':'http://www.sevahub.es/public/Canonical/{REPLACE_HERE}/1', 'Literal Part':'TRUE', 'Namespace':'', 'Prefix':''}, 'Tax_id':{'Replace Example':'https://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?mode=Info&id={REPLACE_HERE}', 'Literal Part':'FALSE', 'Namespace':'', 'Prefix':''}, 'SynBioHub':{'Replace Example':'{REPLACE_HERE}', 'Literal Part':'TRUE', 'Namespace':'', 'Prefix':''}, + 'URL':{'Replace Example':'{REPLACE_HERE}', 'Literal Part':'FALSE', 'Namespace':val, 'Prefix':'', 'derived_from':f'{val}/{rowobj.obj.displayId}'}, 'Local Sequence File':{'Replace Example':'', 'Literal Part':'FALSE', 'Namespace':'', 'Prefix':''}, 'URL for GenBank file':{'Replace Example':'{REPLACE_HERE}', 'Literal Part':'TRUE', 'Namespace':'', 'Prefix':''}, 'URL for FASTA file':{'Replace Example':'{REPLACE_HERE}', 'Literal Part':'TRUE', 'Namespace':'', 'Prefix':''} @@ -168,28 +169,37 @@ def dataSource(rowobj): literal = datasource_dict[pref]['Literal Part'] if literal == 'FALSE': - rowobj.obj.wasDerivedFrom = val + if len(datasource_dict[pref]['derived_from']) > 0: + rowobj.obj.derived_from = [datasource_dict[pref]['derived_from']] + ns = datasource_dict[pref]['Namespace'] + if len(ns) > 0: + if len(datasource_dict[pref]['Prefix']) > 0: + if datasource_dict[pref]['Prefix'] not in rowobj.doc_pref_terms: + rowobj.doc.bind(datasource_dict[pref]['Prefix'], ns) + rowobj.doc_pref_terms.append(datasource_dict[pref]['Prefix']) + + old_id = rowobj.obj.identity + rowobj.doc.change_object_namespace([rowobj.obj], ns) + new_id = rowobj.obj.identity + rowobj.data_source_id_to_update[old_id] = new_id else: ns = datasource_dict[pref]['Namespace'] if len(ns) > 0: - if datasource_dict[pref]['Prefix'] not in rowobj.doc_pref_terms: - rowobj.doc.bind(datasource_dict[pref]['Prefix'], ns) - rowobj.doc_pref_terms.append(datasource_dict[pref]['Prefix']) + if len(datasource_dict[pref]['Prefix']) > 0: + if datasource_dict[pref]['Prefix'] not in rowobj.doc_pref_terms: + rowobj.doc.bind(datasource_dict[pref]['Prefix'], ns) + rowobj.doc_pref_terms.append(datasource_dict[pref]['Prefix']) old_id = rowobj.obj.identity rowobj.doc.change_object_namespace([rowobj.obj], ns) new_id = rowobj.obj.identity rowobj.data_source_id_to_update[old_id] = new_id if val != rowobj.obj.display_id: - # rowobj.data_source_id_to_update[rowobj.obj.identity] = {'current_id': rowobj.obj.display_id, - # 'update_id': val} new_identity = str(rowobj.obj.identity).replace(rowobj.obj.display_id, helpers.check_name(val)) id_map = {rowobj.obj.identity:new_identity} - # print(str(id_map)) rowobj.obj.set_identity(new_identity) rowobj.obj.update_all_dependents(id_map) # this function doesn't yet do everything it should - warnings.warn('not yet possible to have display id that is different from source value') rowobj.data_source_id_to_update[old_id] = new_identity def sequence(rowobj): diff --git a/out_test.nt b/out_test.nt deleted file mode 100644 index f15bf37..0000000 --- a/out_test.nt +++ /dev/null @@ -1,653 +0,0 @@ - "GFPmut3" . - "E0040" . - . - . - . - . - . - "Green FP (off patent)" . - "mRFP1" . - "E1010" . - . - . - . - . - . - "Red FP (off patent)" . - "I20270" . - . - . - . - . - . - "positive control 2018 interlab" . - "mCherry" . - "J06504" . - . - . - . - . - . - "Red FP (off patent)" . - "J23101" . - . - . - . - . - . - "5.5 SLM (high, but variable)" . - "J23105" . - . - . - . - . - . - "TBD SLM (expect 4.5)" . - "J364001" . - . - . - . - . - . - "J23106 2018 interlab" . - "J364002" . - . - . - . - . - . - "J23117 2018 interlab" . - "J364007" . - . - . - . - . - . - "J23100 2018 interlab" . - "J364009" . - . - . - . - . - . - "J23116 2018 interlab" . - "TagBFP2" . - "K592100" . - . - . - . - . - . - "Blue FP" . - "R0040" . - . - . - . - . - . - "negative control 2018 interlab" . - . - "VariableFeature1" . - . - . - . - . - . - . - . - . - . - . - . - "All_FPs" . - . - . - . - . - "LocalSubComponent1" . - "Part 1" . - . - . - . - "All_FPs_template" . - . - . - . - . - "B0015" . - . - . - . - . - . - "B0015_sequence" . - "ccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "B0032" . - . - . - . - . - . - "Moderate (?)" . - "B0032_sequence" . - "tcacacaggaaag" . - . - . - "5' UTR including B0032 RBS and BB scars (long and short)" . - "BB_u45_B0032_u45_BB" . - . - . - . - "Constraint1" . - . - . - . - . - "Constraint2" . - . - . - . - . - "SubComponent1" . - . - "Part 0" . - . - . - "SubComponent2" . - . - "Part 1" . - . - . - "SubComponent3" . - . - "Part 2" . - . - . - "BB_u45_B0032_u45_BB_template" . - . - . - . - . - . - . - . - . - "Collection from the Basic Parts sheet" . - "Basic_Parts" . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - . - "BioBricks_scar_long" . - . - . - . - . - . - "BioBricks scar including ag (not before CDS)" . - "BioBricks_scar_long_sequence" . - "tactagag" . - . - . - "BioBricks_scar_short" . - . - . - . - . - . - "BioBricks scar (short one, w/o ag, before CDS)" . - "BioBricks_scar_short_sequence" . - "tactag" . - . - . - "Collection from the Composite Parts sheet" . - "Composite_Parts" . - . - . - . - . - . - . - . - . - "E0040_sequence" . - "atgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaa" . - . - . - "E1010_sequence" . - "atggcttcctccgaagacgttatcaaagagttcatgcgtttcaaagttcgtatggaaggttccgttaacggtcacgagttcgaaatcgaaggtgaaggtgaaggtcgtccgtacgaaggtacccagaccgctaaactgaaagttaccaaaggtggtccgctgccgttcgcttgggacatcctgtccccgcagttccagtacggttccaaagcttacgttaaacacccggctgacatcccggactacctgaaactgtccttcccggaaggtttcaaatgggaacgtgttatgaacttcgaagacggtggtgttgttaccgttacccaggactcctccctgcaagacggtgagttcatctacaaagttaaactgcgtggtaccaacttcccgtccgacggtccggttatgcagaaaaaaaccatgggttgggaagcttccaccgaacgtatgtacccggaagacggtgctctgaaaggtgaaatcaaaatgcgtctgaaactgaaagacggtggtcactacgacgctgaagttaaaaccacctacatggctaaaaaaccggttcagctgccgggtgcttacaaaaccgacatcaaactggacatcacctcccacaacgaagactacaccatcgttgaacagtacgaacgtgctgaaggtcgtcactccaccggtgcttaataacgctgatagtgctagtgtagatcgc" . - . - . - "ECFP" . - "ECFP" . - . - . - . - . - . - . - "Cyan FP; codon optimized using IDT tool " . - "ECFP_sequence" . - "atggttagtaaaggggaagagttgtttacgggcgttgttccaatcttggtggagttggacggggacgttaatgggcacaaattttcggtctctggggaaggcgagggggacgccacgtatggtaagctgaccttgaagttcatttgcactactgggaaattgccggttccctggcctacgcttgttaccacgttgacctggggcgtacaatgtttctcgcgctatcctgaccacatgaaacaacatgatttctttaagtcagctatgcctgagggctacgtgcaggagcgcactatcttcttcaaggatgacgggaattacaaaacccgtgcggaggtaaagttcgagggtgacacgcttgtcaaccgcatcgagttgaagggcattgattttaaggaggatggcaacattttaggacataaattagagtataactatatttcgcataatgtctacattactgctgacaaacaaaagaacggcatcaaggctaatttcaaaattcgccacaacatcgaggatggatcggttcagttagcagatcattaccagcaaaacacgcccatcggtgacggaccagttctgttacctgacaaccactatctttctacacagagtgctcttagcaaggaccctaacgaaaaacgtgaccacatggtcctgctggagtttgtgacagccgcaggtattacattggggatggacgaattgtataag" . - . - . - . - "VariableFeature1" . - . - . - . - "FPs_small" . - . - . - . - . - . - "VariableFeature1" . - . - . - . - . - "VariableFeature2" . - . - . - . - . - . - "VariableFeature3" . - . - . - . - . - "VariableFeature4" . - . - . - . - "FPs_small_ins" . - . - . - . - . - . - "FPs_small_ins" . - . - . - . - "Constraint1" . - . - . - . - . - "Constraint2" . - . - . - . - . - "Constraint3" . - . - . - . - . - "Constraint4" . - . - . - . - . - "Constraint5" . - . - . - . - . - "LocalSubComponent1" . - "Part 1" . - . - . - . - "LocalSubComponent2" . - "Part 2" . - . - . - . - "LocalSubComponent3" . - "Part 3" . - . - . - . - "LocalSubComponent4" . - "Part 4" . - . - . - . - "SubComponent1" . - . - "Part 4" . - . - . - "SubComponent2" . - . - "Part 5" . - . - . - "FPs_small_ins_template" . - . - . - . - . - . - . - . - . - . - . - . - . - "FPs_small_ins_template" . - . - . - "Constraint1" . - . - . - . - . - "Constraint2" . - . - . - . - . - "LocalSubComponent1" . - "Inserted construct" . - . - . - "SubComponent1" . - . - . - "FPs_small_template" . - . - . - . - . - . - . - . - "FinalProducts" . - . - . - . - "FinalProducts" . - . - "I20270_sequence" . - "ttgatggctagctcagtcctaggtacaatgctagctactagagtcacacaggaaagtactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J06504_sequence" . - "atggtgagcaagggcgaggaggataacatggccatcatcaaggagttcatgcgcttcaaggtgcacatggagggctccgtgaacggccacgagttcgagatcgagggcgagggcgagggccgcccctacgagggcacccagaccgccaagctgaaggtgaccaagggtggccccctgcccttcgcctgggacatcctgtcccctcagttcatgtacggctccaaggcctacgtgaagcaccccgccgacatccccgactacttgaagctgtccttccccgagggcttcaagtgggagcgcgtgatgaacttcgaggacggcggcgtggtgaccgtgacccaggactcctccttgcaggacggcgagttcatctacaaggtgaagctgcgcggcaccaacttcccctccgacggccccgtaatgcagaagaagaccatgggctgggaggcctcctccgagcggatgtaccccgaggacggcgccctgaagggcgagatcaagcagaggctgaagctgaaggacggcggccactacgacgctgaggtcaagaccacctacaaggccaagaagcccgtgcagctgcccggcgcctacaacgtcaacatcaagttggacatcacctcccacaacgaggactacaccatcgtggaacagtacgaacgcgccgagggccgccactccaccggcggcatggacgagctgtacaag" . - . - . - "J23101_sequence" . - "tttacagctagctcagtcctaggtattatgctagc" . - . - . - "J23105_sequence" . - "ttgacagctagctcagtcctagggactatgctagc" . - . - . - "J364001_sequence" . - "tttacggctagctcagtcctaggtatagtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J364002_sequence" . - "ttgacagctagctcagtcctagggattgtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J364007_sequence" . - "ttgacggctagctcagtcctaggtacagtgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "J364009_sequence" . - "ttgacagctagctcagtcctagggactatgctagctactagagaaagaggagaaatactagatgcgtaaaggagaagaacttttcactggagttgtcccaattcttgttgaattagatggtgatgttaatgggcacaaattttctgtcagtggagagggtgaaggtgatgcaacatacggaaaacttacccttaaatttatttgcactactggaaaactacctgttccatggccaacacttgtcactactttcggttatggtgttcaatgctttgcgagatacccagatcatatgaaacagcatgactttttcaagagtgccatgcccgaaggttatgtacaggaaagaactatatttttcaaagatgacgggaactacaagacacgtgctgaagtcaagtttgaaggtgatacccttgttaatagaatcgagttaaaaggtattgattttaaagaagatggaaacattcttggacacaaattggaatacaactataactcacacaatgtatacatcatggcagacaaacaaaagaatggaatcaaagttaacttcaaaattagacacaacattgaagatggaagcgttcaactagcagaccattatcaacaaaatactccaattggcgatggccctgtccttttaccagacaaccattacctgtccacacaatctgccctttcgaaagatcccaacgaaaagagagaccacatggtccttcttgagtttgtaacagctgctgggattacacatggcatggatgaactatacaaataataatactagagccaggcatcaaataaaacgaaaggctcagtcgaaagactgggcctttcgttttatctgttgtttgtcggtgaacgctctctactagagtcacactggctcaccttcgggtgggcctttctgcgtttata" . - . - . - "K592100_sequence" . - "atgagcgaactgatcaaagagaacatgcacatgaagctgtacatggaaggcaccgttgacaaccaccactttaagtgcacgtctgagggtgagggtaagccgtacgaaggcacccaaaccatgcgtatcaaagttgtggagggcggtccactgccgttcgcttttgacattctggcgaccagcttcctgtacggttccaaaacgttcattaaccatactcagggcattccggatttcttcaaacagagctttccggaaggtttcacctgggagcgtgtcaccacgtatgaagatggtggtgtgttgaccgccacccaagatacctccctgcaagatggctgtctgatctataacgtgaaaattcgtggcgtcaactttacgagcaatggtccggtgatgcagaagaaaaccctgggttgggaggcgtttacggaaaccctgtatccggccgatggtggcctggagggccgtaacgacatggcactgaagctggttggtggcagccatttgatcgcaaatatcaagacgacgtaccgcagcaagaaaccggcgaaaaatctgaagatgccgggtgtttactatgtcgactaccgtctggaacgcattaaagaagcgaataatgagacttacgtggagcagcacgaggttgcagtcgcgcgctattgcgacttgcctagcaagctgggtcataaactgaat" . - . - . - "LinearDNAProducts" . - . - . - . - "LinearDNAProducts" . - . - "LmrA" . - . - . - . - . - "From SymBioHub: https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/LmrA/1" . - "R0040_sequence" . - "tccctatcagtgatagagattgacatccctatcagtgatagagatactgagcac" . - . - . - . - "VariableFeature1" . - . - . - . - . - "Round_1_order" . - . - . - . - . - "LocalSubComponent1" . - "Part 1" . - . - . - . - "Round_1_order_template" . - . - . - . - . - "STOP" . - . - . - . - . - . - "2 stop codons" . - "STOP_sequence" . - "taataa" . - . - . - "UNSX" . - . - . - . - . - . - "UNSX_sequence" . - "ccaggatacatagattaccacaactccgagcccttccacc" . - . - . - "UNSX_u45_UP" . - . - . - . - "Constraint1" . - . - . - . - . - "SubComponent1" . - . - "Part 0" . - . - . - "SubComponent2" . - . - "Part 1" . - . - . - "UNSX_u45_UP_template" . - . - . - . - . - . - . - "UP_element_consensus" . - . - . - . - . - . - "consensus without runs of As and Ts -59 to -36 https://www.pnas.org/content/pnas/95/17/9761.full.pdf" . - "UP_element_consensus_sequence" . - "tgaaatatattttcgaaaagccgc" . - . - . - . - "VariableFeature1" . - . - . - . - "_2018_Interlab" . - . - . - . - . - "Swapped R0040 for TwistNeg as the negative control, due to Twist minimum synthesis length" . - . - "VariableFeature1" . - . - . - . - . - . - . - . - . - "_2018_Interlab_ins" . - . - . - "_2018_Interlab_ins" . - . - . - . - "LocalSubComponent1" . - "Part 1" . - . - . - . - "_2018_Interlab_ins_template" . - . - . - "_2018_Interlab_ins_template" . - . - . - "Constraint1" . - . - . - . - . - "Constraint2" . - . - . - . - . - "LocalSubComponent1" . - "Inserted construct" . - . - . - "SubComponent1" . - . - . - "_2018_Interlab_template" . - . - . - . - . - . - . - . - "mCerulean3_sequence" . - "atggtgtcgaaaggtgaagaactttttacaggtgtggtccccattttagtcgaattagatggggatgtgaatggtcacaaattctcggtgtctggggagggtgaaggtgacgcgacctacgggaagttgactctgaaattcatttgcactacggggaagttaccagtgccctggcccactctggttacaacactgtcatggggcgtccaatgttttgctcgttatcctgaccacatgaaacagcatgacttcttcaagagcgcaatgccggaaggctatgtccaagagcgtactatctttttcaaagacgatgggaactacaaaacacgcgcagaagtgaagtttgagggagataccctggttaatcgcattgaattgaaaggtatcgacttcaaggaggatggtaatatcctggggcacaaattggagtacaacgctatccacggcaatgtttacattacggcagacaaacagaaaaacggaattaaggccaatttcggacttaactgcaacatcgaagatgggtcggtacaactggcagaccactatcagcaaaatacgcctattggtgacggtcctgtcctgttaccggacaatcattatctttccactcagtcgaaactgagtaaagatccgaacgagaagcgcgatcacatggtattattagagttcgtcacagccgcaggtattacgttagggatggatgagctttacaag" . - . - . - "mTagBFP2" . - . - . - . - . - . - "Blue FP codon optimized" . - "mTagBFP2_sequence" . - "atggtatcgaagggtgaagagttgattaaggaaaacatgcacatgaagttatacatggaagggaccgtggataatcaccatttcaaatgcacatctgaaggagagggaaaaccttacgaagggacccagacaatgcgtatcaaagtggtcgagggtggccctttaccattcgcgttcgacatcctggcgacctcctttttatatgggagcaaaacattcattaaccacacccagggaatcccggatttcttcaagcagtctttccctgaagggtttacgtgggagcgtgtgacaacttatgaggatggcggggttttgacggctacgcaggatacttcgttacaagacggttgcttaatttacaatgtaaagattcgtggagtaaattttacatcaaacggtccggtcatgcaaaagaaaacccttggttgggaggcgtttaccgagacattgtatcctgccgacgggggattagagggtcgcaatgatatggcactgaaacttgtgggggggtctcatttaattgcaaacgctaagacaacttaccgctccaagaagcccgctaagaacctgaaaatgcctggggtctactatgttgactatcgccttgagcgtatcaaggaggcgaacaacgagacttacgtcgagcagcatgaggtagcggttgcccgttactgtgacctgccatctaagttaggacataagttgaat" . - . - . - "meffCFP" . - "meffCFP" . - . - . - . - . - . - . - "Cyan FP (free); codon optimized using IDT tool " . - "meffCFP_sequence" . - "atggcgctttcaaagcagagtttaccgagtgacatgaagttgatctaccacatggacgggaacgtgaatggtcactctttcgtcattaagggtgaaggcgagggaaaaccctatgaaggaacacatactatcaagctgcaagttgttgagggctcaccgttacctttcagcgccgacattctgtccacagtttttcaatatgggaaccgctgtttcactaagtatccgcctaatatcgtcgattattttaagaatagctgttctggtgggggctacaagtttggacgcagctttctttacgaagacggtgcggtctgtacggcgtcaggcgatattactctgtccgcagacaaaaagagctttgaacacaaatcgaaattcttaggcgtgaacttcccggctgacggtccggtgatgaagaaagagaccaccaactgggaaccatcgtgcgaaaaaatgactccgaatggcatgacactgatcggtgacgttacgggttttttgttgaaggaggacggaaagcgttacaaatgtcaatttcataccttccatgacgctaaagataagtccaaaaagatgccgatgcccgacttccactttgtccagcataaaattgagcgcaaggaccttcctggaagtatgcaaacatggcgtcttaccgagcacgcggcagcatgtaaaacttgttttacggag" . - . - . - "mmilCFP" . - "mmilCFP" . - . - . - . - . - . - . - "Blue FP (free); codon optimized using IDT tool " . - "mmilCFP_sequence" . - "atggctctgcctaaacaaatgaaactgacttatcacatggagggtactgtgaacggtcatttttttatcatcaagggcgaaggagggggagagccgtatgagggtactcatacgatcaagttacaggtggtagagggaagcccgttgcccttttcaccggatattctttccaccgtcttccaatacggcaaccgctgcttcactaaataccctcccaacatcgttgattacttcaaaaactcctgctcgggcggcggttatacttttggacgtagcttcctttatgaggacggagctgtctgtactgcttccggtgacattacgctgagcagcgacaaatcatcctttgagcacaaatctaaatttctgggagtaaactttcctgccgatggcccggtgatgaaaaaagaaaccactaattgggagccttcatgtgagaaaatgacacccaacgggatgaccttaatcggtgatgtgacggagttcctgttgaagaaggacggtaagcgttacaagtgccaattccacacattccacgacgcgaaggagaaaagccgcaatatgccgatgcccgatttccatttcgttcagcacgagattgaacgtaaagatttgccaggaccaatgcaaacatggcagttgaccgagcacgcagcagcctgtaagaactgtttcacagag" . - . - . - "pSB1C3" . - . - . - . - . - "pMB1 replicon, 100-300 copy" . - "mCerulean3" . - "ATP07149_u46_1" . - . - . - . - . - . - . - "Cyan FP; codon optimized using IDT tool " . diff --git a/temp2.py b/temp2.py index 569ac9d..757ed6c 100644 --- a/temp2.py +++ b/temp2.py @@ -1,51 +1,18 @@ import sbol3 import os -import rdflib -cwd = os.getcwd() -print(cwd) +direct = os.path.split(__file__)[0] +file_path_out = os.path.join(direct, 'out.nt') -file_path_in = os.path.join(cwd, 'SBOL3_simple_library4.nt') -file_path_out = os.path.join(cwd, 'out_test.nt') +doc = sbol3.Document() +comp = sbol3.Component('http://sbolstandard.org/testfiles/hello', sbol3.SBO_DNA) +comp.derived_from = (['www.example.com']) +seq = sbol3.Sequence('http://sbolstandard.org/testfiles/hello_sequence', elements='ATGC') +doc.add(comp) +doc.add(seq) -update_dict = {'http://sbolstandard.org/testfiles/J23101': 'http://parts.igem.org/J23101', 'http://sbolstandard.org/testfiles/J23105': 'http://parts.igem.org/J23105', 'http://sbolstandard.org/testfiles/K592100': 'http://parts.igem.org/K592100', 'http://sbolstandard.org/testfiles/mCerulean3': 'https://www.ncbi.nlm.nih.gov/nuccore/ATP07149_u46_1', 'http://sbolstandard.org/testfiles/E0040': 'http://parts.igem.org/E0040', 'http://sbolstandard.org/testfiles/E1010': 'http://parts.igem.org/E1010', 'http://sbolstandard.org/testfiles/J06504': 'http://parts.igem.org/J06504', 'http://sbolstandard.org/testfiles/R0040': 'http://parts.igem.org/R0040', 'http://sbolstandard.org/testfiles/I20270': 'http://parts.igem.org/I20270', 'http://sbolstandard.org/testfiles/J364001': 'http://parts.igem.org/J364001', 'http://sbolstandard.org/testfiles/J364002': 'http://parts.igem.org/J364002', 'http://sbolstandard.org/testfiles/J364007': 'http://parts.igem.org/J364007', 'http://sbolstandard.org/testfiles/J364009': 'http://parts.igem.org/J364009'} -seq_update = [f'{x}_sequence' for x in update_dict.keys()] -print(seq_update) +comp.sequences = [seq] -g = rdflib.Graph() -g.parse(file_path_in) -for index, (subject, predicate, _object) in enumerate(g): - if str(_object) in update_dict: - g.remove((subject, predicate, _object)) - new = rdflib.URIRef(update_dict[str(_object)]) - g.add((subject, predicate, new)) - # print(subject, predicate, _object) - elif str(_object) in seq_update: - g.remove((subject, predicate, _object)) - old = str(_object) - new = f"{update_dict[old.replace('_sequence', '')]}_sequence" - new = rdflib.URIRef(new) - g.add((subject, predicate, new)) - # print(subject, predicate, _object) +doc.change_object_namespace([seq], 'http://parts.igem.org') -nt_text = g.serialize(format='nt') -lines = [line for line in nt_text.splitlines() if line] -lines.sort() - -lines_type = type(lines[0]) -if lines_type is bytes: - # rdflib 5 - result = b'\n'.join(lines) + b'\n' -elif lines_type is str: - # rdflib 6 - result = '\n'.join(lines) + '\n' - -with open(file_path_out, 'w') as outfile: - outfile.write(result) - -# doc =sbol3.Document() -# doc.read(file_path_in) - -# comp = sbol3.Component('hello', sbol3.SBO_DNA) - -# print(comp._properties) \ No newline at end of file +doc.write(file_path_out) \ No newline at end of file