配列表記



塩基配列はATGCの4文字。SNPなら01の2文字、SNPが作るハプロタイプも2文字、SNPが作るジェノタイプは3文字。


String DNAseq = "102332210";//A=0,T=1,G=2,C=3
String haplotype = "0010101010";
String genotype = "221001002";

それぞれ、n塩基サイトあるとすると、4^n,2^n,3^n通り。でも本当に存在するのは、ごく一部。


int dna = Integer.parseInt(DNAseq,4);
int hap = Integer.parseInt(haplotype,2);
int gen = integer.parseInt(genotype,3);

もう一度、"01001"表記にデコードするときは


String DNAseq2 = Integer.toString(dna,4);
String haplotype2 = Integer.toString(hap,2);
//もしくは
String haplotype2_2 = Integer.toBinaryString(hap);
String genotype2 = Integer.toString(gen,3);