Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

implements new echo instruction pipeline #135

Merged
merged 4 commits into from
Jun 18, 2021
Merged

Conversation

Benedict-Carling
Copy link
Collaborator

Addresses #134

import basicsynbio as bsb
import zipfile
import os
import pandas as pd
from pathlib import Path

utr_linkers = ["UTR1-RBS1"]
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())
    ]
my_build = bsb.BasicBuild(*promoter_assemblies)
echozippath = bsb.export_echo_assembly(
    my_build, alternate_well=True, clips_plate_size=1536
)

An example of the new zip file that is created when the above code is ran

Echo_Instructions_17-06-2021_16.54.28.zip

the following three arguments are added to echo_instructions

  • assemblies_per_clip: int = 28,
    
  • clips_plate_size: Literal[6, 24, 96, 384, 1536] = 384,
    
  • assemblies_plate_size: Literal[6, 24, 96, 384, 1536] = 96,
    

the following arguments are added to csv_export

  • clip_plate_mapping: dict = None,
    
  • assembly_plate_mapping: dict = None,
    

The original echo_instruction unit tests have not been changed and still pass which is ideal, and new unit tests are added to check the new columns of the csv with and without alternate_wells

@hainesm6 hainesm6 linked an issue Jun 17, 2021 that may be closed by this pull request
@hainesm6
Copy link
Collaborator

Some nice work @Benedict-Carling! Just wondering if it's feasible to do type hinting on the clip_plate_mapping and assembly_plate_mapping arguments? Just trying to figure out the format of them.

@Benedict-Carling
Copy link
Collaborator Author

Hi @hainesm6 Just did that! the clips contains a list as the same clip can be in multiple wells - the assemblies one is just a str as I don't think the same unique assembly can be in different wells if I'm not mistaken.

Copy link
Collaborator

@hainesm6 hainesm6 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just the one minor comment @Benedict-Carling. Great work!

basicsynbio/cam/echo_instructions.py Outdated Show resolved Hide resolved
@hainesm6 hainesm6 marked this pull request as draft June 18, 2021 09:01
@hainesm6 hainesm6 marked this pull request as ready for review June 18, 2021 09:07
@hainesm6 hainesm6 merged commit 7ecf225 into master Jun 18, 2021
@hainesm6 hainesm6 deleted the well-location-in-csv branch June 18, 2021 09:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Won't be able to implement export_echo_assembly() in wet lab
2 participants