Package data.cerevisiae.vanbakel2013

Source Code of data.cerevisiae.vanbakel2013.PrepareZUD

/*
* 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);
}
   
   
   
}
TOP

Related Classes of data.cerevisiae.vanbakel2013.PrepareZUD

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.