/aiml0

aiml

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

aiml0

aiml

script

a convergence of technologies is happening now that holds immense potential for helping human health. these are artificial intelligence, synthetic biology, robotics and miniturization.

there are approximately 100 million scientific papers ever published and of those 30 million papers are in biology. we propose to use artificial intelligence with retrieval augmented generation to solve various biological problems. With this vast amount of knowledge there are many different tasks that this could be applied to in biology. This is an enormous hidden gold mine, sitting in plain sight.

there are many such problems in biology that we could attack, such as life extension, development of vaccines, treatment for rare diseases, development of new antibiotics and cancer. In the field of cancer, there are many different kinds of treatments, some more amenable to computational methods than others. Some of these treatments have the potential to be used for many different cancers, we call these platforms.

Many different modalities of cancer treatment Some are : CAR-T Cells, TCR-T Cells, Antibody-Drug Conjugates (ADC), Checkpoint Inhibitors, Oncolytic Viruses, Tumor-Infiltrating Lymphocytes (TILs), Cancer Vaccines

One new platform that has been developed recently are BiTES or bispecific t-cell engagers. Tebentafusp is one of the first BiTES to be approved by the FDA for treatment of uveal melanoma, a particularily aggressive eye cancer, others have been approved and more are in development.

A BiTE is a synthetic protein with two parts, one that attaches to a killer T-cell from the human immune system. The other is an antibody that attaches to a gp100 fragment presented by an MHC molecule on the cancer cell. The BiTE brings both cells into contact, and the killer T-cell destroys the cancer cell.

The important part of this is the gp100 protein, an antigen that is found on uveal melanoma cells. We researched this and found that papers published long before tebentafusp was developed had mentions of the gp100 protein. We propose to do this on an industrial scale and try to cure all cancers, starting with the most low hanging fruit.

We propose to work with partners such as Ginkgo Bioworks and Twist Biosciences who are working on automating and miniturizing synthetic biology. The chip techology developed by Twist allows for millions of reactions to take place on a single chip, something that would take a large amount of laboratory space using traditional equipment.

For this project we have developed a web based artificial intelligence agent that will

one, search pubmed central for full text papers about a chosen cancer

two, process these papers using artificial intelligence and identify all potential antigens in these papers

three, use artificial intelligence to develop a robotic laboratory procedure using the ginkgo bioworks platform to generate antibodies using phage display that can bind to these antigens on MHC molecules

For our demo we first input the name of the cancer we are interested in studying. For this example we will use IDH-wildtype gliobastoma, an often agressive form of brain cancer.

After we type the name of the cancer, the AI gives us a summary of the cancer and does an analysis of how appropriate BiTE therapy could be for this cancer.

After this, the AI does a search for any Pubmed Central papers that would be helpful. This process can take a considerable amount of time.

After this, the AI then searches through these papers to find any antigens that appear to be overexpressed in this cancer.

The AI then develops pseudocode for the Ginkgo Bioworks platform to carry out the experiments necessary to create new antibody candidates and to sequence them. This process would take weeks to complete.

We then write patents with placeholders for the sequences for the antibodies we create.

We then write a business plan for the business.

aiml

aiml hackathon

pseudocode

pick one cancer

let the user pick one specific subtype of cancer

literature search

search the literature for antigens that have been found elevated in this cancer

computational modelling and screen

screen these antigens using AI for binding affinity to MHC molecules

generate antibodies phage display

Phage display can be used to create new antibodies by screening a vast library of phage-displayed antibody fragments against a target antigen, selecting and amplifying the phages that bind specifically, and further optimizing these binders to develop high-affinity antibodies.

computational modelling for BiTE

generate new BiTE using the antibody

Pseudocode

# Pseudocode for an Automated Phage Display Process

# Initialize robotic system
InitializeLabRobots()

# Step 1: Library Creation
function CreatePhageLibrary(dna_sequences):
    for dna_sequence in dna_sequences:
        InsertIntoPhageGenome(dna_sequence)
    PhageLibrary = DisplayOnSurface()
    return PhageLibrary

# Step 2: Immobilize Target Antigen
function ImmobilizeAntigen(antigen):
    PrepareSolidSurface()
    CoatSurfaceWithAntigen(antigen)
    return SurfacelD

# Step 3: Biopanning (Selection Process)
function Biopanning(phageLibrary, surfaceID):
    BindPhageToAntigen(phageLibrary, surfaceID)
    WashAwayNonBinders(surfaceID)
    BoundPhages = EluteBoundPhages(surfaceID)
    return BoundPhages

# Step 4: Amplification
function AmplifyPhages(phages):
    for phage in phages:
        InfectBacteria(phage)
        AmplifiedPhages = HarvestPhages(bacteriaCulture)
    return AmplifiedPhages

# Step 5: Screen and Characterize
function ScreenAndCharacterize(phages):
    for phage in phages:
        Sequence(phage)
        AssessBindingAffinity(phage)
    HighAffinityClones = SelectHighAffinityClones(phages)
    return HighAffinityClones

# Main workflow
function PhageDisplayWorkflow(dna_sequences, antigen):
    # Create phage library
    phageLibrary = CreatePhageLibrary(dna_sequences)

    # Immobilize target antigen
    surfaceID = ImmobilizeAntigen(antigen)

    # Perform multiple rounds of biopanning
    for round in 1 to NumberOfRounds:
        boundPhages = Biopanning(phageLibrary, surfaceID)
        phageLibrary = AmplifyPhages(boundPhages)

    # Screen and characterize high-affinity phages
    highAffinityClones = ScreenAndCharacterize(phageLibrary)

    return highAffinityClones

# Execute the workflow
dna_sequences = LoadDNALibrary("phage_dna_sequences.fasta")
antigen = LoadAntigen("gp100")
highAffinityAntibodies = PhageDisplayWorkflow(dna_sequences, antigen)
OutputResults(highAffinityAntibodies, "high_affinity_antibodies.txt")

OpenAI suggests

Step 1: Identify and Isolate High-Affinity Antibody Fragments

a. Phage Display

  • Objective: Use phage display to isolate antibody fragments (single-chain variable fragments, or scFvs) that bind to your target antigen on the cancer cells.
  • Process:
    1. Expose a phage library with diverse antibody fragments to the target antigen.
    2. Wash away non-binders and elute bound phages.
    3. Amplify the binding phages in bacteria.
    4. Repeat binding, washing, elution, and amplification for several rounds.
    5. Characterize the binders for specificity and affinity using binding assays.

b. Characterization

  • Confirm Binding: Run ELISA or surface plasmon resonance (SPR) to measure the affinity of your scFvs for the target antigen.

Step 2: Engineering the Bispecific Molecule

a. Design the Bispecific Construct

  • Select Antibody Fragments: Choose selected scFvs specific for the tumor antigen (e.g., gp100) and a constant anti-CD3 scFv to target T cells.
  • Fusion Protein Design: Genetically fuse the two scFvs to create a bispecific T-cell engager. The construct typically follows gp100-specific scFv-linker-CD3-specific scFv format.
  • Linker Choice: Use a flexible linker (commonly a 'Gly-Ser' repeat) to connect the two scFvs, allowing proper folding and function.

b. Cloning

  • Vector Insertion: Insert the bispecific construct into an expression vector suitable for mammalian expression.

Step 3: Expression and Purification

a. Expression Platform

  • Transfection: Use transient transfection in mammalian cells (e.g., Chinese Hamster Ovary [CHO] or HEK293 cells) for the expression of the bispecific antibody.

b. Purification

  • Purification Techniques: Harvest and purify the expressed protein using affinity chromatography (e.g., protein A/G columns) followed by size-exclusion chromatography to ensure purity and correct folding.

Step 4: Functional Assessment

a. In Vitro Testing

  • T-cell Activation Assays: Test the bispecific's ability to engage T cells and target cancer cells using co-culture assays with human T cells and cancer cells expressing the specific target antigen.
  • Cytotoxicity Assays: Assess T-cell mediated cytotoxicity against the target cancer cells.

b. Stability and Biophysical Properties

  • Stability Tests: Evaluate thermal stability and solubility.
  • Binding Affinity: Confirm that both binding domains function independently with high affinity.

Step 5: Preclinical Validation

a. In Vivo Studies

  • Animal Models: Test efficacy and safety in relevant animal models (e.g., mice xenografted with human tumor cells) to assess biodistribution, pharmacokinetics, and antitumor activity.

b. Safety & Toxicity Studies

  • Conduct toxicity studies to evaluate any adverse effects associated with administration.

Step 6: Regulatory and Clinical Development

  • Prepare for Investigational New Drug (IND) application to regulatory authorities by compiling data regarding efficacy, safety, and manufacturing standards.
  • Plan and initiate Phase I clinical trials to evaluate safety and preliminary efficacy in humans.

Procedure using Ginkgo bioworks

# Pseudocode for Automating the Development of a Bispecific Antibody

# Initialize the laboratory robotic systems
InitializeLabRobots()

# Step 1: Phage Display to Identify Antibody Fragments
function PhageDisplayAndSelection(target_antigen):
    phageLibrary = PreparePhageLibrary()
    for round in 1 to NumberOfRounds:
        phageLibrary = PerformBiopanning(phageLibrary, target_antigen)
    selectedAntibodyFragments = CharacterizeBinding(phageLibrary)
    return selectedAntibodyFragments

# Step 2: Design and Clone Bispecific Construct
function DesignBispecificConstruct(antibodyFragments):
    gp100_scFv = SelectFragment(antibodyFragments, target="gp100")
    CD3_scFv = LoadStandardFragment("anti-CD3_scFv")
    bispecificConstruct = CreateFusionProtein(gp100_scFv, CD3_scFv)
    InsertIntoExpressionVector(bispecificConstruct)
    return bispecificConstruct

# Step 3: Expression and Purification of Bispecific Molecule
function ExpressAndPurify(bispecificConstruct):
    cellCulture = TransfectCells("CHO_Cell_Line", bispecificConstruct)
    expressedProtein = HarvestProtein(cellCulture)
    purifiedProtein = PurifyWithChromatography(expressedProtein)
    return purifiedProtein

# Step 4: Functional Assessment
function AssessFunctionality(purifiedProtein):
    ActivateTCellAssay(purifiedProtein)
    MeasureCytotoxicity(purifiedProtein, target_cells="gp100_expressing_cells")
    AnalyzeBiophysicalProperties(purifiedProtein)
    return "Functional Assessment Completed"

# Step 5: Preclinical Validation
function ConductPreclinicalStudies(bispecificProtein):
    PerformInVivoEfficacyStudies(bispecificProtein, animalModel="xenograft_mice")
    ConductSafetyToxicityTests(bispecificProtein)
    return "Preclinical Validation Completed"

# Main Workflow Execution
function BispecificAntibodyDevelopmentWorkflow(target_antigen):
    # Step 1: Phage Display
    antibodyFragments = PhageDisplayAndSelection(target_antigen)

    # Step 2: Design Bispecific
    bispecificConstruct = DesignBispecificConstruct(antibodyFragments)

    # Step 3: Expression and Purification
    bispecificProtein = ExpressAndPurify(bispecificConstruct)

    # Step 4: Functional Assessment
    functionalityResults = AssessFunctionality(bispecificProtein)

    # Step 5: Preclinical Validation
    preclinicalResults = ConductPreclinicalStudies(bispecificProtein)

    return (functionalityResults, preclinicalResults)

# Execute the Workflow
target_antigen = LoadAntigen("gp100")
results = BispecificAntibodyDevelopmentWorkflow(target_antigen)
OutputResults(results, "bispecific_antibody_study_report.txt")

Explanation of Key Components

  • InitializeLabRobots: Sets up robotic systems for precise and automated task execution.

  • PhageDisplayAndSelection: Identifies antibody fragments using multiple rounds of selection, resulting in specific scFvs against a target antigen.

  • DesignBispecificConstruct: Engineers a bispecific construct by fusing antibody fragments specific for the tumor antigen and CD3.

  • ExpressAndPurify: Uses cell lines like CHO to transfect and express the construct, then purifies the resulting protein.

  • AssessFunctionality: Conducts in vitro assays to test T-cell activation and cytotoxicity against cancer cells.

  • ConductPreclinicalStudies: Evaluates the efficacy and safety through in vivo studies with animal models and toxicity tests.

  • OutputResults: Compiles and saves the results of the development and testing phases.

This pseudocode abstracts the laboratory processes into a sequence of automated steps, which could be implemented using the robotics and integrated systems available at a facility like Ginkgo Bioworks.

10314 for i in out-pmc-split*; python3 ../../test-cohere2.py $i | grep -v sagemaker | tee out0-${i:r}.out.txt

10301 split -d -l 500 out-pmc.txt out-pmc-split --additional-suffix=.txt

10264 for i in data/pmc/* ; python3 test-cohere1.py $i | grep -v sagemaker > out/out-pmc/${i:r}.txt