Skip to content

UserRequirements

Keith Sheppard edited this page Sep 14, 2010 · 3 revisions

User Requirements for Drake Genetics (Draft)

Authors: Dave Walton

Overview

See document "Introduction to Drake Genetics" (August 12, 2010) by Paul Szauter, for general overview, concepts and agenda of the application. Much of the content of Paul's overview document, is broken out, and recycled below into the specific requirements of the application.

This document will focus on requirements for the initial release, targeted for February 2011. The requirements listed here are less general and "game oriented", but instead focused from a software engineering perspective of what functionality needs to exist.

High Level Requirements

Chromosomes

  • XX (female) -- X is 70 cM in females with a centromere at 70 cM
  • XY (male) -- ? length, centromere?
  • 2 -- 100 cM, centromere at 30 cM
  • 3 -- 100 cM, centromere at 50 cM

Sex Chromosome Aneuploids that are Viable

  • XO females
  • XXY males

Both sterile and phenotypically distinct as "Scruffy" - squat body, disorganized scales.

QUESTION: What is "O"?

Sex Chromosome Aneuploids that are Not Viable

  • XXX
  • XXXY
  • OY
  • OO

Autosomal Aneuploids

None are viable.

Drake biology

Female drakes lay 24 eggs upon mating.

Mating with sterile male (XXY) results in 24 unfertilized eggs.

QUESTION: How are unfertilized eggs distinguishable from from fertilized?

The individual drake

The individual drake should have:

  • It's own sequence, set of chromosomes, genome?
  • Phenotype(s) for relevant phenotypes that will be tracked (coat color, diabetes, size, scale quality (Scruffy?)... etc?)
  • Age: Adult or child?
  • Gender: Female or Male

Game Framework High Level Description

Currency

The currency of the game is Gold Pieces (GP), which can be used for purchasing Drakes and other items.

Question: It's not at all clear to me how students get GP. Is it strictly from selling dragons? Do they get it for completing experiments? Do they have to apply for grants? Do we give them startup funds? It seems to me that there are some critical aspects of the game that they can?t do without gold (buy protocols for example). While I know we want to have a "game feel" to this so that it is engaging to students, I wouldn't want the earning of GP to get in the way of the science, or the desire to do more science and learn limited by lack of GP (this isn't the real world after all).

Communication, Collaboration and Trading

Communication

Communication between students is encouraged in the game. Definition of a standard mechanism of communication needs to be defined: Chat room, bulletin boards, forums, etc?

Collaboration and Trading

One mechanism to encourage communication is trading. Students may trade information or materials (drakes, GP, other items to be determined, data and protocols)

Teams (Optional: this will be treated as a nice to have which we will do with time remaining)

Students will be organized into teams (QUESTION: How will this happen, how will it be supported, who will organized this, what special support needs to be provided for teams?). The team concept will help with communication between students.

Competition between teams will serve as incentive to move ahead in the game.

Progress

Triggered events

There will be some mechanism that causes ?Events? to occur in the game based on some triggering mechanism. This trigger may be time based. For example after so many game hours a scientific paper is published with information that will help the students progress. Another trigger might be, if a student makes a discovering in the game, this might trigger information to become available to all students.

COMMENT: How this mechanism will work will require some thought and discussion. It will require some AI to track progress of students and make decisions to publish information, or some timer based mechanism to kick off events. It will require some database will all the events defined and what their triggers are?

Student Progress

There are four ranks that a student can attain:

  • Apprentice (where they begin the game)
  • Journeyman
  • Master
  • Grand Master

A student follows a separate track of mastery within different subjects. The subjects in the game currently include:

  • Heredity
  • Meiosis
  • Alchemy (QUESTION: shouldn?t we call metabolism, or something based in science since it is one of the subjects being taught?)

Advancement is driven by successful completion of experiments and examinations.

Master and Grandmaster levels require knowledge across two or more disciplines. (Q: Why? I'd like to hear more about this as it only allows a student to advance to Journeyman in any single subject without switching to another subject? Is that what we want? Doesn't really seem like multiple tracks in this case.)

Simulated Scientific Progress

Progress made by students will trigger events in the game.

For example: Once the first student reaches Journeyman status in the area of Heredity, a paer or set of papers will be released through PubDrake and the Library (Q: will these papers become available to everyone? What is the reward for being the student that reaches the level first?)

Places

There is an over-riding requirement to be able track a students progress not only in terms of accomplishments, but paths traveled through the application. There needs to be an underlying mechanism that logs and can report a student's path they travel.

Mechanism to implement:

  • this could be as simple as a log, but I think Randy is looking for a cleaner report when all is said and done.

Lab Module

The Lab Module includes the function of all "places" that involve manipulating the user's drakes. Most of the procedures that can be done in the specific laboratories (Microscopy and Metabolism) require protocols. Protocols can be purchased from the alchemist in the market place or discovered through literature found in DracoBase or the Library (Q: Is this true? Is there another way to discover, acquire protocols?)

Stables

The stable is where an individual student keeps their drakes. There is limited space in the stable, so a student can only keep 50 drakes at a time (Q: Should this be increased, since we've increased the number of eggs in breeding to 24?).

(Q: Should we give a student the option to purchase additional stable space?)

Excess drakes must be:

  • Given up for adoption (Q: What happens to these drakes? Do they disappear from the game, do they become the stock available in the marketplace?)
  • Traded to other students
  • Sold (if they are rare or favored types) (Q: To whom? Other students? Someone on the market? How are prices set?)

Mechanisms need to be implemented to:

  • Keep track of drakes in stable.
  • Display drakes in stable with their detail information
  • Move drakes in and out of the stable to other locations in the game
  • Sell drakes to?
  • Put drakes up for adoption (is this immediate removal from stable?)
  • Communicate with other students so that drakes may be traded (negotiations? Chat room? Bulletin board? Forum?)
Breeding Pen

The breeding pen can only hold the mating pair plus one set of progeny.

As mentioned before the female drake lays 24 eggs.

(Q: In Paul's document he mentioned the student's needing to select food to feed the parents and the clutch. I'm not completely clear on the purpose or need for this. I understand how feeding fits into the metabolism unit. Not here. Are we going to require that the students care for the dragons in general? Is so would there be feeding in the stable? What effects do the diets of the parents how on the phenotypes of the off-spring? Am I missing something?)

Should we move ahead with feeding in this section, Paul mentioned that the basic diet will be meat and bones. Other diets become available as protocols. (Q: What is the affect/value of other diets at this point?)

The student should be able to score phenotypes of drakes and their progeny within the breeding pen.

Once students have acquired the appropriate protocols, they will be able to send out blood samples for:

  • SNP Typing
  • DNA Sequencing

(Q: Where? In another Lab? Do we need to create a lab for these functions, or will they occur in one we already have? The microscopy lab? Do we want to send out blood samples, or have the students drag the drakes of interest to the appropriate Lab and do the procedures themselves in the lab, and then view their results? What does the student do with the results of these two tests? Make observations about the relationship between genotypes and phenotypes?)

Mechanisms need to be implemented to:

  • Receive 1 male & 1 female
  • Move drakes back to stable
  • Sell drakes to?
  • Put drakes up for adoption (is this immediate removal from stable?)
  • Communicate with other students so that drakes may be traded (negotiations? Chat room? Bulletin board? Forum?)
  • Mechanism to breed drakes
    • Uses meiosis engine mentioned later
  • Feed drakes and progeny (to what end?)
  • Score phenotypes of drakes and progeny (how should this work, what should it look like, what does the student do with the information once they've done it?)
  • Send out blood samples to (See questions above about this):
    • SNP Typing
    • Sequencing
Microscopy Laboratory

With appropriate protocols acquired, a student can use the microscopy laboratory. Protocols include:

  • Karyotyping
    • Adult drakes
    • Progeny
    • Eggs that have undergone developmental arrest
  • In situ hybridization of DNA probes to chromosomes

(Q: Are there other protocols in the microscopy lab? How should the Karyotyping work? Display of images of the specimen?s set of chromosomes based on the results of the meiosis engine?)

Mechanisms need to be implemented to:

  • Receive a drake or egg
  • Move a drake back to the stable
  • Dispose of an egg
  • Do karyotyping - Drake, progeny (same as drake?), egg (different?)
  • Insitu hybridization (will this go to another engine/simulater? How will this work? To what end? What will the student do with the results?)
Metabolism Laboratory

This module is based on Gary's idea that involves using the differential equations simulator provided by the group at Duke University. Keith and I need to review the Duke code and fully understand what functionality is available here.

From a base understanding of discussion with Gary, this module will allow a student to feed (or not) a drake over a time period. Then a specific time points (2 minutes, 1/2 hour, hour, etc...) the student can take measurements of various attributes:

  • blood plasma
  • glucose
  • liver
  • muscle
  • fat
  • blood

The example be that you feed your drake a big sugary meal, what happens over time?

Gary mentioned then being able to manipulate conditions and retesting the specimen to see what happens. What should we be able to manipulate? Diet type? Quantity of food?

Gary mentioned allowing the student to look at the Drake "in layers"

  • blood keytones (what is this?)
  • liver biopsy (what will the results of this look like?)
  • glucose assay (glucose tolerance test?)
  • insulin assay

We're assuming that there will be visual plots to represent all of these tests.

Like the microscopy Laboratory, the student would need to acquire the appropriate protocols before they could do the various tests. (I wonder if this becomes a stumbling block to getting into the interesting aspects of the science...)

Paul mentioned also respiration related testing. I don't remember this from the discussion with Gary and am curious what he has in mind here... Where would the simulator for this come from? Was this something else that was going to be in the Duke software?

Mechanisms need to be implemented to:

  • Receive a drake
  • Move a drake back to the stable
  • Control diet
  • Take measurements over time (see Metabolism simulator)
  • Do tests (see Metabolism simulator)

Computer Module

Notebook

This is a piece where the picture in my head difference quite a bit from what I think Paul is envisioning. In Paul's document he mentions that the notebook is a "spreadsheet-style tool". While I pictured it more like a traditional lab-note book (lined or grid style paper) where the student can enter data free form just like taking notes and then include links to results (as Keith described in our last meeting).

The notebook can be an extremely simple or fairly complicated piece to implement, and I think we should be very careful that we don't get in the business of implementing Microsoft excel. If we go with a spreadsheet style notebook, I think we need to be fairly rigid about it's functionality. The more things we add like sorting and categorizing data, the more complicated the notebook needs to be. I think at least at this point we need to keep this simple.

Paul also mentioned that the electronic notebook will capture results passively. I'm not sure what this means...

One thing I'm curious about is whether or not we want to allow students to publish things out of their notebook and if so what? Will we have a separate place for students to go to "write papers" for publication, or will that come out of here? How will that work?

Also, should the student be able to have their notebook open at any point of time? While breeding, while in a laboratory? We should talk about interface layout a bit and how this might work so that it is always available but doesn't get in the way of the main portion of the interface (laboratory, etc...).

Difficult to list the mechanisms that need to be implemented here until I have a clearer picture of the requirements for the notebooks.

PubDrake

Q: Will this be strictly a read only interface?

How will we push new canned or student publications to it?

How will publication review happen? If a teacher has to review publications, will that slow the pace at which a student can progress through the game? Maybe a good thing in this case?

Where will all the publications be stored? Who will create them (Paul, Randy)? We will need to come up with a clean way for these things to be written, and entered so they can be stored and brought up on demand. Maybe simple HTML format pages, snippets that can be inserted in the interface, stored in a database table...

Mechanisms need to be implemented to:

  • Search for and read papers
  • Receive triggered events to publish new papers
DracoBase

DracoBase sounds like a trimmed down version of MGI. There are similar issues here as with the PubDrake. Default information will be available. I assume Paul and/or Randy will generate all of this. We will need to come up with a mechanism for getting this information in, storing it, and releasing it when triggered.

As defined by Paul's document, the initial state of this section will include entries on single genes known by phenotypic variants.

The "database" will then be populated by triggered events.

Paul made a specific reference to "genes encoding metabolic enzymes" appearing. I'd like more detail on this. What does this mean, what triggers this, etc?

Additionally, over time, gene entries will receive more information from triggering events, such as:

  • map positions
  • sequence data
  • other data?

I'm curious how much of this will be from student discoveries? If it is from student discoveries, how will the information get in? Or will it all be prestored, and when a student makes a discovery, that will trigger the precanned info to go in. If we are adding detail to the gene pages as we go, then the pages can't really be static HTML, we will need to generate them on the fly.

I can see an opportunity to lose a lot of time on this trying to make it to robust (too much like MGI, Ensembl, etc..).

Mechanisms need to be implemented to:

  • Search for/Browse genes
  • Receive triggered events

Library

For a description of the library see Paul's document.

I'd like to have a better understanding of exactly how this would differ from PubDrake. Seems very similar. Will there be separate style content provided that is like journals vs. online articles? How will we maintain this duplicated content? If it's displayed the same as PubDrake I have difficulty understanding why we would need both (extra work that will make it hard to deliver everything on time).

The magazines with clues is a nice idea, but again more content that we'll need to figure out how to store and release over time (I assume this also will be triggered).

I'd like more detail on how exactly the "Reference Librarian" is going to work. If it's at all interactive it could quickly degrade into a Question/Response kind of an AI which could also be time consuming to implement.

I think I'd like a bit more information on the library before I think much more about what the software mechanisms are that need to be implemented.

Marketplace Module

Drake Market
Alchemist
Peddlers
Guild Academy
Dragon Lair

Engines an Simulaters

Meiosis engine

Metabolism simulator