Exemplo n.º 1
0
def test():
  rule = "RFC25"
  content = component_union.union(rule, sys.argv[1:])
  # path = 'F:/igemgit/project/Python27/web/test/BBa_E1010.xml'
  # content = component_union.union(rule, path)
  dna_sequence = component_union.connect(rule, content)
  sbol = component_union.formatter_v11(content, dna_sequence)
  print sbol
  print format_to_json(sbol)
Exemplo n.º 2
0
def plasmid_sbol(db, groups, rule="RFC10"):
    circuit = groups["circuit"]
    copy = groups["copy"]
    components = []
    sequence = ""
    offset = 0
    plasmid_backbone = db.getPlasmidBackboneNearValue(copy)["Number"]
    circuit[-1]["sbol"].append({"type": "PlasmidBackbone", "name": plasmid_backbone})
    for data in circuit:
        comp_names = [cc["name"] for cc in data["sbol"]]
        file_list = [find_file(s + ".xml", ".") for s in comp_names]
        sbol = component_union.get_sbol(file_list, rule)
        sbol2 = format_to_json(sbol)
        idx = 0
        for item in sbol2["DnaComponent"]["annotations"]:
            tmp = item["SequenceAnnotation"]
            tmp["subComponent"]["DnaComponent"]["type"] = data["sbol"][idx]["type"]
            tmp["bioStart"] = str(int(tmp["bioStart"]) + offset)
            tmp["bioEnd"] = str(int(tmp["bioEnd"]) + offset)
            idx += 1
        offset += len(sbol2["DnaComponent"]["DnaSequence"]["nucleotides"])
        components += sbol2["DnaComponent"]["annotations"]
        if data["state"] == "trans":
            sequence += trans(sbol2["DnaComponent"]["DnaSequence"]["nucleotides"])
        else:
            sequence += sbol2["DnaComponent"]["DnaSequence"]["nucleotides"]
    sbol2["DnaComponent"]["annotations"] = components
    sbol2["DnaComponent"]["DnaSequence"]["nucleotides"] = sequence
    return sbol2
Exemplo n.º 3
0
 def getPlasmidSbol_deprecated(self, message):
   sbol = component_union.get_sbol(message["component"], rule)
   ret = format_to_json(sbol)
   return ret