Original Plan


Game Objective: Translate DNA sequences into codons and their corresponding amino acids to visually and interactively understand the process of genetic translation.

  1. The user starts the game and selects the species they want to analyze the DNA for (bacteria, virus, human, or strawberry).
  2. An animation of the DNA appears with the string of the DNA.
  3. The user selects the “analyze” button, which then stops the animation and zooms into the codons.
  4. Adenine, Guanine, Thymine, and Cytosine are displayed with their corresponding colors.
  5. The user can hover over each to learn more about its role in the DNA of the species.
  6. Simulation can be run over and over again, each time with a different species selected.

Improvements Made

  • Species Selection: The user can now select the species they want to analyze the DNA for from gene sequences of different organisms stored in the backend.
    This operates off an Ensembl API endpoint which uses the [POST] method to send the species name to the server. The server then returns the DNA sequence of the species along with other information associated.

Intended flow of the program:

1. The user selects the species they want to analyze the DNA for.

Request Payload (JSON):

{
  "organism": "Homo sapiens",
  "gene": "BRCA2"
}

Behavior:
Validates Input: Ensures both organism and gene are provided.

2. Gene ID Lookup: Uses Ensembl API to find the Ensembl gene ID.

https://rest.ensembl.org/xrefs/symbol/{organism}/{gene}

3. Sequence Retrieval: Fetches the DNA sequence for the gene using its Ensembl ID.

https://rest.ensembl.org/sequence/id/{gene_id}

4. Intended Response (on Postman)

{
  "gene": "BRCA2",
  "organism": "homo_sapiens",
  "ensembl_id": "ENSG00000139618",
  "sequence": "ATG..."
}