BufferedWriter bw= new BufferedWriter(new FileWriter(outSub));
BedGraphExporter.writeTitle(bw, FileName.getBaseName(outSub));
String[] chrs= lbf.getUnsortedChromosomeList();
for( int i=0; i<chrs.length; i++ ){
LandscapeBuilder lbout= new LandscapeBuilder();
String chr= chrs[i];
System.out.print(chr+" ");
ArrayList<Region> frs= lbf.getLandscape2DForChromosome(chr).getRegions();
ArrayList<Region> irs= lbi.getLandscape2DForChromosome(chr).getRegions();
RegionBuffer buf= new RegionBuffer(irs);
for( int j=0; j<frs.size(); j++ ){
Region fr= frs.get(j);
ArrayList<Region> bufrs= buf.reloadAndGetList(fr);
double ival= RegionBuffer.getOverlap(bufrs, fr) / (fr.getRange()+1);
double fval= (double)fr.attribute();
double nv= fval - ival*rat;
//System.out.println(fval+" "+ ival+" "+ fr.getRange());
nv= nv<0 ? 0 : nv;
fr.setAttribute(nv);
lbout.add(chr, fr);
}
BedGraphExporter be= new BedGraphExporter(lbout);
be.appendToFile(bw);
}
bw.close();