genome.js
Making DNA analysis easy, open, and free
The human genome is massive.
There are an estimated 10 million places in the genome where a single letter of the sequence sometimes differs from one person to the next.
These are known as SNPs (single nucleotide polymorphisms)
You can pay $99, spit in a tube, and a lab will sequence your DNA for you
Your SNP file is a diff of your genome against the standard human genome.
- Chop up the DNA into 1 million little pieces
- Wash the DNA over a BeadChip
-
Beads attach to specific DNA fragments
- DNA fragments are triggered to glow
- Computer looks at the glowing fragments to see SNPs
- Computer generates a file with all of the SNP information
Quick Survey:
How much do you know about your body?
Think of a few attributes
Phenotypes
- Height
- Weight
- Eye color
- Hair color
- Skin color
- Gender
Phenotypes = traits
Under the surface
SNPs basically determine everything that make up your body
Some examples:
- Allergies
- Food tastes
- Disease risks (Cancer, diabetes, parkinsons, etc.)
- Immunity to disease (AIDS, stomach flu, etc.)
- Drug response
Your History
Not only can SNPs tell you about your current state, they let you glimpse into your past.
SNP patterns can be used to determine your lineage.
Examples
if (rs601338 === "AA") {
isImmune = true;
}
This would be considered a genoset. If a certain SNP == a certain value, it means something. That's all.
This example will determine if you are immune to norovirus.
How do we find these correlations?
Surveys.
Let's say we have 1000 genomes.
We can ask them all if they are allergic to wheat.
25 respond yes.
Those 25 share the same SNP mutation value (AA).
The others do not (AT).
What can we assume?
When that SNP == AA you are allergic to wheat.
Enter genome.js
- A converter and a standardized genome format
- A query language for pattern matching the genome (gql)
- An ecosystem of patterns (genosets) for finding things from your genome
- A tool for finding SNP correlations to make new discoveries