The problem is this:
A = homozygous reference
B = heterzygous
C = homozygous non-reference
rows are samples, columns are genomic position
header row is labels, data is ordered by genomic position
This data is contrived.
The data:
123456789
ABAAAAABC
ABCAAAABC
ABCAAAABC
BBAAAAABA
ABCAABABC
ABCAAAABC
BBCAAACBC
ABCAAAABC
The x and y dimensions can get very large (1000x10000 for example).
I want to develop an open source, graphical tool to browse this data.
The core code could be ported anywhere but the first implementation would be for cgi/html/html5 I want a user to be able to mouse over a column and see what's in "linkage disequilibrium" (LD) with that particular genomic position. Speed, usability and reasonable accuracy are critical specs.
The problem, is, of course "phasing" (or whatever it's called) the B (heterzygous) calls so that LD can be calculated.
The questions are: what is the best non-patented algorithm for this? "Un-encumbered" by patent is fine, that is if it is patented but unrestricted license is granted. Also, is there an implementation I could check my results with? GPL/LGPL/MIT/DWTFYW whatever is fine. I can port anything to the target language (C for absolute speed).
This would be a great tool for checking out GWAS results using the newly emerging NGS data sets: "what else is near that sneaky little problem snp?"
A = homozygous reference
B = heterzygous
C = homozygous non-reference
rows are samples, columns are genomic position
header row is labels, data is ordered by genomic position
This data is contrived.
The data:
123456789
ABAAAAABC
ABCAAAABC
ABCAAAABC
BBAAAAABA
ABCAABABC
ABCAAAABC
BBCAAACBC
ABCAAAABC
The x and y dimensions can get very large (1000x10000 for example).
I want to develop an open source, graphical tool to browse this data.
The core code could be ported anywhere but the first implementation would be for cgi/html/html5 I want a user to be able to mouse over a column and see what's in "linkage disequilibrium" (LD) with that particular genomic position. Speed, usability and reasonable accuracy are critical specs.
The problem, is, of course "phasing" (or whatever it's called) the B (heterzygous) calls so that LD can be calculated.
The questions are: what is the best non-patented algorithm for this? "Un-encumbered" by patent is fine, that is if it is patented but unrestricted license is granted. Also, is there an implementation I could check my results with? GPL/LGPL/MIT/DWTFYW whatever is fine. I can port anything to the target language (C for absolute speed).
This would be a great tool for checking out GWAS results using the newly emerging NGS data sets: "what else is near that sneaky little problem snp?"
Comment