Package data.cerevisiae

Source Code of data.cerevisiae.ConsToWig

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package data.cerevisiae;

import fork.lib.base.file.FileName;
import fork.lib.base.file.io.txt.ReadTable;
import fork.lib.base.file.management.Dirs;
import fork.lib.bio.anno.genomic.BedGraphExporter;
import fork.lib.bio.anno.genomic.LandscapeBuilder;
import fork.lib.math.algebra.elementary.set.continuous.Region;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.util.ArrayList;

/**
*
* @author forksapien
*/
public class ConsToWig {
   
protected ArrayList<File> fs;
   
   

    public ConsToWig(ArrayList<File> fs){
        this.fs=fs;
    }



public int res= 50;

public void writeToFile(File out, String tit) throws Exception{
    out.getParentFile().mkdirs();
    BufferedWriter bw= new BufferedWriter(new FileWriter(out));
    BedGraphExporter.writeTitle(bw, tit+"_res"+res);
    for( int i=0; i<fs.size() ; i++ ){
        File f= fs.get(i);
        System.out.println(f);
        String chr= FileName.getBaseName(f);
        String[][] arr= new ReadTable(f).getTableAsArray();
        LandscapeBuilder lb= new LandscapeBuilder();
        int pp=0; double pv=0;
        for( int j=0; j<arr.length ; j++ ){
            String[] r= arr[j];
            int p= Integer.parseInt(r[0]);
            double v= Double.parseDouble(r[1]);
            if(pp!=0){
                Region reg= new Region(pp, p-1);
                reg.attr= (double)Math.round(pv*res)/res;
                lb.add(chr, reg);
            }
            pp=p; pv=v;
        }
       
        BedGraphExporter be= new BedGraphExporter(lb);
        be.appendToFile(bw);
    }
    bw.close();
}



public static void main(String[] args) throws Exception {
    File dir= Dirs.getFile("dir");
    File d= new File(dir+"/anno/sacCer1_cons");
   
    ArrayList<File> fs= new ArrayList<>();
    //for( int i=8; i<=8 ; i++ ){
    for( int i=1; i<=16 ; i++ ){
        fs.add(new File(d+"/chr"+i+".txt"));
    }
    fs.add(new File(d+"/chrM.txt"));
   
    ConsToWig cc= new ConsToWig(fs);
    cc.writeToFile(new File(d+"/phastCons_sacCer1.wig"), "phastCons_sacCer1");
   
}


   


}




TOP

Related Classes of data.cerevisiae.ConsToWig

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.