Example #1
0
def example1():
    '''Simple example.'''
    setHomespace("http://sys-bio.org")
    doc = Document()

    gene = ComponentDefinition("BB0001")
    promoter = ComponentDefinition("R0010")
    cds = ComponentDefinition("B0032")
    rbs = ComponentDefinition("E0040")
    terminator = ComponentDefinition("B0012")

    promoter.roles.set(SO_PROMOTER)
    cds.roles.set(SO_CDS)
    rbs.roles.set(SO_RBS)
    terminator.roles.set(SO_TERMINATOR)

    doc.addComponentDefinition(gene)
    doc.addComponentDefinition(promoter)
    doc.addComponentDefinition(cds)
    doc.addComponentDefinition(rbs)
    doc.addComponentDefinition(terminator)

    gene.assemble([promoter, rbs, cds, terminator])

    first = gene.getFirstComponent()
    print first.identity.get()
    last = gene.getLastComponent()
    print last.identity.get()

    # promoter_seq = Sequence("R0010", "ggctgca")
    # rbs_seq = Sequence("B0032", "aattatataaa")
    # cds_seq = Sequence("E0040", "atgtaa")
    # terminator_seq = Sequence("B0012", "attcga")
    # gene_seq = Sequence("BB0001")

    # doc.addSequence(promoter_seq)
    # doc.addSequence(cds_seq)
    # doc.addSequence(rbs_seq)
    # doc.addSequence(terminator_seq)
    # doc.addSequence(gene_seq)

    # promoter.sequence.set(promoter_seq.identity.get())
    # cds.sequence.set(cds_seq.identity.get())
    # rbs.sequence.set(rbs_seq.identity.get())
    # terminator.sequence.set(terminator_seq.identity.get())
    # gene.sequence.set(gene_seq.identity.get())

    # gene_seq.assemble()
    # print gene_seq.elements.get()

    doc.write("gene_cassette.xml")

    # Round trip...
    doc.write('gene_cassette.xml')

    new_doc = Document()
    new_doc.read('gene_cassette.xml')
    new_doc.write('gene_cassette_out.xml')
Example #2
0
def main():
    '''main method.'''
    doc = Document()
    doc.read('sbol.xml')

    for seq in doc.sequences:
        print seq.identity.get()
        print seq.elements.get()

    doc.write('out.xml')
Example #3
0
def read(filename):
    '''Parses SBOL v1.'''
    doc = Document()
    doc.read(filename)

    comp_def = doc.componentDefinitions[0]

    params = _read_dna_comp(comp_def)
    params.update({'seq': doc.sequences[0].elements})
    dna = DNA(**params)

    for annot in comp_def.sequenceAnnotations:
        _read_annot(dna, annot)

    return dna
Example #4
0
def to_query(filename, taxonomy_id):
    '''Convert SBOL documents to PartsGenie query.'''
    doc = Document()
    doc.read(filename)
    return _to_query(doc, taxonomy_id)