def promoter_assemblies_build_more_than_384(): utr_linkers = [ "UTR1-RBS1", "UTR1-RBS2", "UTR1-RBS3", "UTR2-RBS1", "UTR2-RBS2", "UTR2-RBS3", "UTR3-RBS1", "UTR3-RBS2", "UTR3-RBS3", ] promoter_assemblies = [] for utr_linker in utr_linkers: promoter_assemblies += [ bsb.BasicAssembly( f"promoter_construct_{ind}_{utr_linker}", bsb.BASIC_SEVA_PARTS["v0.1"]["26"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMP"], promoter, bsb.BASIC_BIOLEGIO_LINKERS["v0.1"][utr_linker], bsb.BASIC_CDS_PARTS["v0.1"]["sfGFP"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMS"], ) for ind, promoter in enumerate( bsb.BASIC_PROMOTER_PARTS["v0.1"].values()) ] return bsb.BasicBuild(*promoter_assemblies)
def test_basic_build_indetical_ids(five_part_assembly): from basicsynbio.cam import BuildException with pytest.raises( BuildException, match=f"ID '{five_part_assembly.id}' has been assigned to 2 BasicAssembly instance/s. All assemblies of a build should have a unique 'id' attribute.", ): bsb.BasicBuild(five_part_assembly, five_part_assembly)
def build_json(): promoter_assemblies = (bsb.BasicAssembly( f"promoter_construct_{ind}", bsb.BASIC_SEVA_PARTS["v0.1"]["26"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMP"], promoter, bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["UTR1-RBS2"], bsb.BASIC_CDS_PARTS["v0.1"]["sfGFP"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMS"], ) for ind, promoter in enumerate(bsb.BASIC_PROMOTER_PARTS["v0.1"].values()) ) build = bsb.BasicBuild(*promoter_assemblies) return build
def small_build_example(): return bsb.BasicBuild( bsb.BasicAssembly( "First_Assembly_With_18", bsb.BASIC_SEVA_PARTS["v0.1"]["18"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMP"], bsb.BASIC_CDS_PARTS["v0.1"]["sfGFP"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMS"], ), bsb.BasicAssembly( "Second_Assembly_With_26", bsb.BASIC_SEVA_PARTS["v0.1"]["26"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMP"], bsb.BASIC_CDS_PARTS["v0.1"]["sfGFP"], bsb.BASIC_BIOLEGIO_LINKERS["v0.1"]["LMS"], ), )