this.probe=probe;
this.std=std;
init();
}
protected void init() throws Exception{
GenomicRegionsBuilder gba= new BedReader(anno).getGenomicRegionsBuilder();
String[][] arr= new ReadTable(probe).getTableAsArray();
double pp=-1; String pc="", pid=""; int ind=0;
for(int i=0; i<arr.length ; i++){
String[] r= arr[i];
if(r[2].equalsIgnoreCase(std)){
String id= r[0];
double loc= Double.parseDouble(r[3]);
String chr= r[1].substring(0,r[1].length()-12).toLowerCase();
if(ind!=0){
if(gba.containsChromosome(pc)){
if(pc.equals(chr)){
GenomicRegion gr= new GenomicRegion(pc, (int)pp, (int)loc-1);
ptr.put(pid, gr);
}else{
double cl= gba.getRegionsForChromosome(pc).get(0).high;
GenomicRegion gr= new GenomicRegion(pc, (int)pp, (int)cl-1);
ptr.put(pid, gr);
}
}
}
if(i==arr.length-1){
if(gba.containsChromosome(chr)){
double cl= gba.getRegionsForChromosome(chr).get(0).high;
GenomicRegion gr= new GenomicRegion(chr, (int)loc, (int)cl-1);
ptr.put(id, gr);
}
}
pp= loc;