Homework

Weekly homework submissions:

  • Week 1 HW: Principles and Practices

    Name of the proyect: Fungi Biodyes The project I am interested in working on focuses on the textile industry, which is responsible for 20% of global industrial water pollution, with approximately 200,000 tons of dyes lost annually in effluents during dyeing processes. More than 8,000 synthetic chemicals are used in textile dyeing, many of which are toxic and non-biodegradable. (Dutta, 2024)

  • Week 10 hw: Imaging and measurement

    Homework: Final Project Fungi Biodyes: Please identify at least one (ideally many) aspect(s) of your project that you will measure. It could be the mass or sequence of a protein, the presence, absence, or quantity of a biomarker, etc. Please describe all of the elements you would like to measure, and furthermore describe how you will perform these measurements. What are the technologies you will use (e.g., gel electrophoresis, DNA sequencing, mass spectrometry, etc.)? Describe in detail.

  • Week 11 hw: Building genomes

    Part A: The 1,536 Pixel Artwork Canvas | Collective Artwork Next year Community Bioart Project Reflection Unfortunately, I was not able to participate in this year’s collaborative bioart project before the editing deadline. However, I really liked the concept of creating a global artwork experiment where many people contribute together to form a larger scientific and artistic piece.

  • Week 2 dna read write and edit

    Nature’s machinery for copying DNA is called polymerase. What is the error rate of polymerase? How does this compare to the length of the human genome. How does biology deal with that discrepancy? The error rate is the 1:10^6, for the other hand the size of the human genome, which is approximately 3 × 10⁹ base pairs. If DNA polymerase functioned only at its intrinsic error rate, replication would introduce an extremely high number like would result in about 300 errors every time the genome is copied a lot mutation and problems, making genomic stability impossible.

  • Week 3 HW: Lab automation

    Python Script for Opentrons Artwork — DUE BY YOUR LAB TIME Portrait opentrons-art.rcdonovan.com/?id=s49o23t6m4pr6v4 Option 2. Flower opentrons-art.rcdonovan.com/?id=g5u4j61fb0v70e7 metadata = { 'protocolName': 'HTGAA Opentrons Lab', 'author': 'MARIAORTIZ', 'source': 'HTGAA 2022', 'apiLevel': '2.20' } ############################################################################## ### Robot deck setup constants - don't change these ############################################################################## TIP_RACK_DECK_SLOT = 9 COLORS_DECK_SLOT = 6 AGAR_DECK_SLOT = 5 PIPETTE_STARTING_TIP_WELL = 'A1' well_colors = { 'A1' : 'Red', 'B1' : 'Yellow', 'C1' : 'Green', 'D1' : 'Cyan', 'E1' : 'Blue' # if in a 24-well plate, this needs to be moved to e.g. D2 } red_points = [(-5, 25), (0, 25), (5, 25), (-15, 20), (-10, 20), (-5, 20), (10, 20), (15, 20), (-10, 15), (-5, 15), (10, 15), (15, 15), (-15, 10), (-10, 10), (-5, 10), (0, 10), (5, 10), (10, 10), (15, 10), (-20, 5), (-15, 5), (15, 5), (-20, 0), (20, 0)] green_points = [(-30, -15), (-25, -15), (-20, -15), (-15, -15), (15, -15), (20, -15), (25, -15), (30, -15), (-30, -20), (-25, -20), (-20, -20), (-15, -20), (-10, -20), (-5, -20), (0, -20), (5, -20), (10, -20), (15, -20), (20, -20), (25, -20), (30, -20), (-20, -25), (-15, -25), (-10, -25), (-5, -25), (0, -25), (5, -25), (10, -25), (15, -25), (20, -25)] red1_points = [(-5, 30), (0, 30), (5, 30), (-15, 25), (-10, 25), (10, 25), (15, 25), (-20, 20), (20, 20), (-20, 15), (20, 15), (-25, 10), (25, 10), (-25, 5), (-10, 5), (-5, 5), (0, 5), (5, 5), (10, 5), (25, 5), (-25, 0), (-15, 0), (-5, 0), (5, 0), (15, 0), (25, 0), (-20, -5), (-15, -5), (-5, -5), (5, -5), (15, -5), (20, -5), (-15, -10), (15, -10), (-10, -15), (-5, -15), (0, -15), (5, -15), (10, -15)] def run(protocol): ############################################################################## ### Load labware, modules and pipettes ############################################################################## ############################################################################## ### Patterning ############################################################################## ### ### Helper functions for this lab ###)` # pass this e.g. 'Red' and get back a Location which can be passed to aspirate() def location_of_color(color_string): for well,color in well_colors.items(): if color.lower() == color_string.lower(): return color_plate[well] raise ValueError(f"No well found with color {color_string}") # For this lab, instead of calling pipette.dispense(1, loc) use this: dispense_and_jog(pipette, 1, loc) def dispense_and_jog(pipette, volume, location): """ Dispense and then move up 5mm and back down to shake all dispensed fluid off the tip; this also ensures it's not moving laterally before the dispense is done. """ assert(isinstance(volume, (int, float))) pipette.dispense(volume, location) currLoc = pipette._get_last_location_by_api_version() pipette.move_to(currLoc.move(types.Point(z=5))) pipette.move_to(currLoc) ### ### YOUR CODE HERE to create your design pipette_20ul.pick_up_tip() red_points = [(29.7,25.3),(29.7,23.1),(14.3,20.9),(25.3,20.9),(27.5,20.9),(5.5,18.7),(20.9,18.7),(23.1,18.7),(25.3,18.7),(27.5,18.7),(16.5,16.5),(18.7,16.5),(20.9,16.5),(25.3,16.5),(12.1,14.3),(14.3,14.3),(16.5,14.3),(18.7,14.3),(20.9,14.3),(23.1,14.3),(25.3,14.3),(1.1,12.1),(7.7,12.1),(12.1,12.1),(14.3,12.1),(16.5,12.1),(23.1,12.1),(25.3,12.1),(9.9,9.9),(12.1,9.9),(14.3,9.9),(18.7,9.9),(20.9,9.9),(23.1,9.9),(27.5,9.9),(29.7,9.9),(5.5,7.7),(9.9,7.7),(12.1,7.7),(16.5,7.7),(18.7,7.7),(20.9,7.7),(23.1,7.7),(7.7,5.5),(12.1,5.5),(14.3,5.5),(16.5,5.5),(18.7,5.5),(20.9,5.5),(23.1,5.5),(14.3,3.3),(16.5,3.3),(18.7,3.3),(20.9,3.3),(12.1,1.1),(5.5,-1.1),(7.7,-1.1),(12.1,-1.1),(14.3,-1.1),(16.5,-1.1),(18.7,-1.1),(20.9,-1.1),(7.7,-3.3),(12.1,-3.3),(14.3,-3.3),(16.5,-3.3),(18.7,-3.3),(27.5,-3.3),(5.5,-5.5),(12.1,-5.5),(14.3,-5.5),(29.7,-5.5),(7.7,-7.7),(9.9,-7.7),(12.1,-7.7),(16.5,-7.7),(18.7,-7.7),(20.9,-7.7),(1.1,-9.9),(9.9,-9.9),(12.1,-9.9),(14.3,-9.9),(12.1,-12.1),(14.3,-12.1),(16.5,-12.1),(25.3,-12.1),(14.3,-14.3),(9.9,-16.5),(23.1,-16.5),(1.1,-18.7),(3.3,-18.7),(16.5,-18.7),(18.7,-18.7),(16.5,-20.9),(12.1,-23.1),(9.9,27.5),(7.7,25.3),(5.5,23.1),(27.5,23.1),(1.1,20.9),(3.3,20.9),(29.7,20.9),(1.1,18.7),(3.3,18.7),(29.7,18.7),(1.1,16.5),(3.3,16.5),(27.5,16.5),(1.1,14.3),(3.3,14.3),(27.5,14.3),(3.3,12.1),(5.5,12.1),(9.9,12.1),(27.5,12.1),(1.1,9.9),(3.3,9.9),(5.5,9.9),(7.7,9.9),(25.3,9.9),(1.1,7.7),(3.3,7.7),(7.7,7.7),(25.3,7.7),(1.1,5.5),(3.3,5.5),(5.5,5.5),(25.3,5.5),(1.1,3.3),(3.3,3.3),(5.5,3.3),(7.7,3.3),(9.9,3.3),(12.1,3.3),(23.1,3.3),(1.1,1.1),(3.3,1.1),(5.5,1.1),(7.7,1.1),(1.1,-1.1),(3.3,-1.1),(9.9,-1.1),(1.1,-3.3),(3.3,-3.3),(5.5,-3.3),(20.9,-3.3),(23.1,-3.3),(25.3,-3.3),(1.1,-5.5),(3.3,-5.5),(7.7,-5.5),(9.9,-5.5),(23.1,-5.5),(25.3,-5.5),(27.5,-5.5),(1.1,-7.7),(3.3,-7.7),(23.1,-7.7),(25.3,-7.7),(27.5,-7.7),(3.3,-9.9),(18.7,-9.9),(20.9,-9.9),(23.1,-9.9),(25.3,-9.9),(27.5,-9.9),(1.1,-12.1),(3.3,-12.1),(20.9,-12.1),(23.1,-12.1),(27.5,-12.1),(1.1,-14.3),(3.3,-14.3),(16.5,-14.3),(18.7,-14.3),(23.1,-14.3),(1.1,-16.5),(3.3,-16.5),(16.5,-16.5),(18.7,-16.5),(20.9,-16.5),(20.9,-18.7),(1.1,-20.9),(3.3,-20.9),(1.1,-23.1),(3.3,-23.1)] for x, y in red_points: adjusted_location = center_location.move(types.Point(x=x, y=y)) if pipette_20ul.current_volume == 0: pipette_20ul.aspirate(1, location_of_color('Red')) dispense_and_jog(pipette_20ul, 1, adjusted_location) pipette_20ul.drop_tip() pipette_20ul.pick_up_tip() green_points = [(-7.7,20.9),(-5.5,20.9),(-12.1,18.7),(-9.9,18.7),(-5.5,18.7),(-3.3,18.7),(-14.3,16.5),(-12.1,16.5),(-3.3,16.5),(-16.5,14.3),(-12.1,14.3),(-5.5,14.3),(-3.3,14.3),(-16.5,12.1),(-12.1,12.1),(-9.9,12.1),(-7.7,12.1),(-5.5,12.1),(-3.3,12.1),(-18.7,9.9),(-14.3,9.9),(-9.9,9.9),(-7.7,9.9),(-5.5,9.9),(-18.7,7.7),(-16.5,7.7),(-9.9,7.7),(-7.7,7.7),(-5.5,7.7),(-3.3,7.7),(-20.9,5.5),(-16.5,5.5),(-14.3,5.5),(-12.1,5.5),(-9.9,5.5),(-3.3,5.5),(-16.5,3.3),(-14.3,3.3),(-12.1,3.3),(-7.7,3.3),(-5.5,3.3),(-3.3,3.3),(-16.5,1.1),(-9.9,1.1),(-5.5,1.1),(-12.1,-1.1),(-9.9,-1.1),(-7.7,-1.1),(-5.5,-1.1),(-3.3,-1.1),(-9.9,-3.3),(-7.7,-3.3),(-5.5,-3.3),(-5.5,-5.5),(-3.3,-5.5),(-5.5,-7.7),(-3.3,20.9),(-7.7,18.7),(-14.3,14.3),(-18.7,5.5),(-20.9,3.3),(-18.7,3.3),(-20.9,1.1),(-3.3,1.1),(-20.9,-1.1),(-16.5,-1.1),(-14.3,-3.3),(-12.1,-3.3),(-20.9,-5.5),(-18.7,-5.5),(-16.5,-5.5),(-14.3,-5.5),(-12.1,-5.5),(-16.5,-7.7),(-14.3,-7.7),(-9.9,-7.7),(-7.7,-7.7),(-12.1,-9.9),(-5.5,-9.9),(-3.3,-9.9),(-16.5,-12.1),(-12.1,-12.1),(-7.7,-12.1),(-3.3,-12.1),(-14.3,-14.3),(-9.9,-14.3),(-3.3,-14.3),(-9.9,-16.5),(-7.7,-16.5),(-5.5,-16.5),(-3.3,-16.5),(-9.9,-18.7),(-5.5,-20.9),(-9.9,16.5),(-7.7,14.3),(-16.5,9.9),(-3.3,9.9),(-14.3,7.7),(-5.5,5.5),(-18.7,1.1),(-7.7,1.1),(-18.7,-1.1),(-14.3,-1.1),(-20.9,-3.3),(-3.3,-3.3),(-7.7,-5.5),(-18.7,-7.7),(-3.3,-7.7),(-16.5,-9.9),(-9.9,-9.9),(-14.3,-12.1),(-5.5,-12.1),(-12.1,-14.3),(-5.5,-18.7),(-3.3,-18.7),(-5.5,25.3),(-3.3,25.3),(-7.7,23.1),(-5.5,23.1),(-3.3,23.1),(-9.9,20.9),(-18.7,16.5),(-16.5,16.5),(-18.7,14.3),(-20.9,12.1),(-18.7,12.1),(-20.9,9.9),(-23.1,5.5),(-23.1,3.3),(-25.3,1.1),(-23.1,1.1),(-25.3,-1.1),(-23.1,-3.3),(-23.1,-5.5),(-23.1,-7.7),(-20.9,-7.7),(-20.9,-9.9),(-18.7,-9.9),(-20.9,-12.1),(-18.7,-12.1),(-18.7,-14.3),(-16.5,-14.3),(-18.7,-16.5),(-16.5,-16.5),(-14.3,-16.5),(-18.7,-18.7),(-16.5,-18.7),(-14.3,-18.7),(-12.1,-18.7),(-12.1,-20.9),(-9.9,-20.9),(-7.7,-20.9),(-7.7,-23.1),(-5.5,-23.1)] for x, y in green_points: adjusted_location = center_location.move(types.Point(x=x, y=y)) if pipette_20ul.current_volume == 0: pipette_20ul.aspirate(1, location_of_color('Green')) dispense_and_jog(pipette_20ul, 1, adjusted_location) pipette_20ul.drop_tip() Post-Lab Questions — DUE BY START OF FEB 24 LECTURE Find and describe a published paper that utilizes the Opentrons or an automation tool to achieve novel biological applications.

  • Week 4 hw protein design part

    Part A. Conceptual Questions How many amino acid molecules do you ingest when eating 500 grams of meat? (Average amino acid ≈ 100 Daltons) Approximately 20% of meat is protein. Therefore, 500 g of meat contains about 100 g of protein. If we assume an average amino acid molecular weight of 100 g/mol (≈100 Daltons), then: 100 g protein ÷ 100 g/mol ≈ 1 mol of amino acids. One mole corresponds to 6 × 10²³ molecules (Avogadro’s number). Therefore, eating 500 g of meat provides on the order of 6 × 10²³ amino acid molecules.

  • Week 5 hw: protein design part ii

    Part A: SOD1 Binder Peptide Design (From Pranam) Part 1: Generate Binders with PepMLM Begin by retrieving the human SOD1 sequence from UniProt (P00441) and introducing the A4V mutation. {Normal} MATKAVCVLKGDGPVQGIINFEQKESNGPVKVWGSIKGLTEGLHGFHVHEFGDNTAGCTSAGPHFNPLSRKHGGPKDEERHVGDLGNVTADKDGVADVSIEDSVISLSGDHCIIGRTLVVHEKADDLGKGGNEESTKTGNAGSRLACGVIGIAQ {Mutation} MATKVVCVLKGDGPVQGIINFEQKESNGPVKVWGSIKGLTEGLHGFHVHEFGDNTAGCTSAGPHFNPLSRKHGGPKDEERHVGDLGNVTADKDGVADVSIEDSVISLSGDHCIIGRTLVVHEKADDLGKGGNEESTKTGNAGSRLACGVIGIAQ Using the PepMLM Colab linked from the HuggingFace PepMLM-650M model card: Generate four peptides of length 12 amino acids conditioned on the mutant SOD1 sequence. To your generated list, add the known SOD1-binding peptide FLYRWLPSRRGG for comparison.

  • Week 6 hw: genetic circuits part i

    DNA Assembly What are some components in the Phusion High-Fidelity PCR Master Mix and what is their purpose? This process relies on a specialized DNA polymerase with proofreading activity. Unlike standard Taq polymerase, high-fidelity enzymes (such as Phusion DNA Polymerase) possess 3’→5’ exonuclease activity, which allows them to detect and correct errors during DNA synthesis.Phusion High-Fidelity PCR Master Mix PCR consists of repeated cycles with three main steps: Denaturation (~98°C) The double-stranded DNA is separated into single strands.

  • Week 7 hw: genetic circuits part ii

    Assignment Part 1: Intracellular Artificial Neural Networks (IANNs) What advantages do IANNs have over traditional genetic circuits, whose input/output behaviors are Boolean functions? Intracellular Artificial Neural Networks (IANNs) offer significant advantages over traditional genetic circuits that rely on Boolean logic. While Boolean circuits produce binary outputs (ON/OFF), IANNs can process continuous input signals and generate graded responses. This allows cells to integrate multiple inputs simultaneously and respond in a more flexible and nuanced way. Additionally, IANNs can assign different weights to inputs, enabling more complex decision-making processes compared to rigid Boolean logic gates. This makes them particularly useful in environments where signals are noisy or variable, as they can produce smoother and more adaptive outputs.

  • Week 9 hw: cell free systems

    Homework Part A: General and Lecturer-Specific Questions General homework questions Explain the main advantages of cell-free protein synthesis over traditional in vivo methods, specifically in terms of flexibility and control over experimental variables. Name at least two cases where cell-free expression is more beneficial than cell production. Cell-free protein synthesis (CFPS) offers significant advantages over traditional in vivo methods, particularly in terms of flexibility and control over experimental variables. One of the main advantages is that CFPS operates as an open system, allowing direct manipulation of all reaction components. Researchers can precisely control variables such as DNA or mRNA concentration, ion composition (Mg²⁺, K⁺), cofactors, and environmental conditions like temperature and pH. In contrast, others systems are limited by cellular regulation and metabolic constraints.