Skills required: Javascript.
Details: Looking at the table in [3], we only see personal genome
data, lacking population context. Looking up the allele frequency for
rs762551 in the EnsEMBL variation API, we could add data to the table
(via a browser extension) for the frequency of each allele in a
(selected) population.
Good luck!
Dan.
[1] http://www.ensembl.org/info/docs/api/index.html
[1] http://www.ensembl.org/info/docs/api/variation/index.html#api
[2] http://code.google.com/chrome/extensions/devguide.html
[3] https://www.23andme.com/health/Caffeine-Metabolism/
If you've read and understood the links I provided, you're well on
your way. Else, please start there and let me know if you have any
questions. I'm relatively inexperienced with extension building in
chrome, but the docs look good and there are plenty of examples, so
I'm sure we can work it out.
The biggest unknown for me is how to query the EnsEMBL API from
JavaScript, and how to modify the DOM to display the results.
You could read up about the 1000 genomes and the HapMap project to
understand the EnsEMBL variation data better.
Thanks for your interest!
Dan.
Right.
> Jumping right into the biggest unknown, to summarize the points in
> question:
> -the first application is the 23andMe report.
> -the second would be a Chrome Extension to find allele frequencies.
>
> These two applications would not communicate directly with each other.
>
> Information on alleles would be read from the report page, and
> inputted into the Chrome Extension.
>
> The Chrome Extension would securely query EnsEMBL and display allele
> frequencies, alongside and separate from the 23andMe report.
That sounds about right, but (just to clarify) the chrome extension
can manipulate the DOM of the report page, so (ideally) the user would
just see one table in the web page with a new column giving the
population frequencies (the appropriate reference population could be
picked up from the users settings in 23andMe, or we could present data
for all available populations). I made a little mockup (attached).
> A dedicated intermediary website location can be created, installing
> the EnsEMBL Perl API into that site.
>
> To recap, the Chrome Extension can call the intermediate site,
> questioning allele variation using JavaScript. The intermediate site,
> in turn, queries EnsEMBL, in Perl. The results are passed back, in
> turn, to the Chrome Extension.
Yup, that sounds like a really good solution to the problem of
querying the EnsEMBL variation API from within JavaScript. I was
thinking the best way to do this is to wrap the EnsEMBL Perl API
functions we as some kind of web service. This has a number of
advantages. 1) By making our intermediate site use standard
web-service protocols, it can serve a broader function than just our
little chrome extension, providing EnsEMBL data to a larger community
of developers. 2) Their should be existing Perl modules for creating
web services (SOAP, REST, etc) from the underlying Perl functions,
which means it should be easier to code up.
> I hope to investigate the Perl Allele variation API, tomorrow. I also
> have experience in JavaScript DOM modification. Building the Chrome
> Extension would take some learning, but it doesn't seem too difficult.
The tutorial for the variation API seems pretty good. Let me know if
you get stuck on any part of that.
Yup, if I can write an extension
(https://chrome.google.com/webstore/detail/gjenoaajcdepabdfmbeffflggenahedp),
it has to be easy!
> Thank you for the opportunity!
Thank you for your interest!
Once we write the extension, lets offer a commercial version to sell
to the 23andMe users :-D We can have two versions, one with marketing
(for a cost) and one without (free).
All the best,
Dan.
Right.
> Jumping right into the biggest unknown, to summarize the points in
> question:
> -the first application is the 23andMe report.
> -the second would be a Chrome Extension to find allele frequencies.
>
> These two applications would not communicate directly with each other.
>
> Information on alleles would be read from the report page, and
> inputted into the Chrome Extension.
>
> The Chrome Extension would securely query EnsEMBL and display allele
> frequencies, alongside and separate from the 23andMe report.
That sounds about right, but (just to clarify) the chrome extension
can manipulate the DOM of the report page, so (ideally) the user would
just see one table in the web page with a new column giving the
population frequencies (the appropriate reference population could be
picked up from the users settings in 23andMe, or we could present data
for all available populations). I made a little mockup (attached).
> A dedicated intermediary website location can be created, installing
> the EnsEMBL Perl API into that site.
>
> To recap, the Chrome Extension can call the intermediate site,
> questioning allele variation using JavaScript. The intermediate site,
> in turn, queries EnsEMBL, in Perl. The results are passed back, in
> turn, to the Chrome Extension.
Yup, that sounds like a really good solution to the problem of
querying the EnsEMBL variation API from within JavaScript. I was
thinking the best way to do this is to wrap the EnsEMBL Perl API
functions we as some kind of web service. This has a number of
advantages. 1) By making our intermediate site use standard
web-service protocols, it can serve a broader function than just our
little chrome extension, providing EnsEMBL data to a larger community
of developers. 2) Their should be existing Perl modules for creating
web services (SOAP, REST, etc) from the underlying Perl functions,
which means it should be easier to code up.
> I hope to investigate the Perl Allele variation API, tomorrow. I also
> have experience in JavaScript DOM modification. Building the Chrome
> Extension would take some learning, but it doesn't seem too difficult.
The tutorial for the variation API seems pretty good. Let me know if
you get stuck on any part of that.
Yup, if I can write an extension
(https://chrome.google.com/webstore/detail/gjenoaajcdepabdfmbeffflggenahedp),
it has to be easy!
> Thank you for the opportunity!
Thank you for your interest!
Once we write the extension, lets offer a commercial version to sell
to the 23andMe users :-D We can have two versions, one with marketing
(for a cost) and one without (free).
All the best,
Dan.
> Sincerely,