/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package data.cerevisiae.vanbakel2013;
import fork.lib.base.file.management.Dirs;
import fork.lib.bio.anno.genomic.BedAttribute;
import fork.lib.bio.anno.genomic.BedReader;
import fork.lib.bio.anno.genomic.region.GenomicRegion;
import fork.lib.bio.anno.genomic.region.GenomicRegionsBuilder;
import java.io.File;
import java.util.Iterator;
/**
*
* @author muxin gu
*/
public class PrepareZUD {
protected File fw, ft;
public PrepareZUD(File fw, File ft){
this.fw=fw;
this.ft=ft;
}
public void writeToFile(File out)throws Exception{
GenomicRegionsBuilder gbout= new GenomicRegionsBuilder(),
gbf= new BedReader(fw).getGenomicRegionsBuilder(),
gbr= new BedReader(ft).getGenomicRegionsBuilder();
Iterator<GenomicRegion> itw= gbf.iterator();
Iterator<GenomicRegion> itt= gbr.iterator();
while(itw.hasNext()){
GenomicRegion grf= itw.next();
GenomicRegion grr= itt.next();
double vw= grf.getValue();
double vt= grr.getValue();
double lfc;
if(vw<10 & vt<10){
lfc=0;
}else{
double vwm= vw==0 ? 0.1 : vw;
double vtm= vt==0 ? 0.1 : vt;
lfc= Math.log(vtm/vwm)/Math.log(2);
}
GenomicRegion gr= grf.clone();
gr.setValue(lfc);
gbout.add(gr);
}
gbout.writeToFileBed(out);
}
public static void main(String[] args) throws Exception { //debug
File dir= Dirs.getFile("dir");
File d= new File(dir+"/other_datasets/vanbakel_2013");
//String tag= "sense";
String tag= "antisense";
File fw= new File(dir+"/data/rna/norm/score/sacCer1-xu/884-rrp6d_r1_"+tag+".bed");
File ft= new File(dir+"/data/rna/norm/score/sacCer1-xu/885-rrp6d-zd_r1_"+tag+".bed");
PrepareZUD pp= new PrepareZUD(fw,ft);
File od= new File(d+"/score/score_"+tag);
File out= new File(od+"/"+tag+"_log-fc_htz1.bed");
pp.writeToFile(out);
}
}