Package data.cerevisiae.region.aclen

Source Code of data.cerevisiae.region.aclen.Locate

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

import fork.lib.base.file.io.txt.ReadTable;
import fork.lib.base.file.management.Dirs;
import fork.lib.bio.anno.genomic.BedAttribute;
import fork.lib.bio.anno.genomic.BedExporter;
import fork.lib.bio.anno.genomic.BedReader;
import fork.lib.bio.anno.genomic.region.GenomicRegion;
import fork.lib.bio.anno.genomic.region.GenomicRegionsBuilder;
import fork.lib.bio.anno.genomic.region.GenomicRegionsLocator;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.text.DecimalFormat;
import java.util.Iterator;

/**
*
* @author forksapien
*/
public class Locate {
   
static double[] zs= new double[]{
    0, 20, 40
};
static double[] acs= new double[]{
    0, 2, 10, 20, 40,1000
};
   
   
public static void main(String[] args) throws Exception {
    File dir= Dirs.getFile("dir");
    File d= new File(dir+"/anno/bed/len/score");
    File od= new File(d+"/select_ac");
    od.mkdirs();
    File rf= new File(dir+"/anno/xu_2009_orfs.bed");
   

   
    for( int i=0; i<zs.length ; i++ ){
        double z= zs[i];
        for( int j=0; j<acs.length ; j++ ){
            double ac= acs[j];
       
   

            File fa= new File(d+"/score_norm_htz1_len_150.bed");
            File fb= new File(d+"/score_norm_k8ac_len_150.bed");
            GenomicRegionsBuilder gba= new BedReader(fa).getGenomicRegionsBuilder();
            GenomicRegionsBuilder gbb= new BedReader(fb).getGenomicRegionsBuilder();

            GenomicRegionsBuilder gbde= new GenomicRegionsBuilder();
            GenomicRegionsBuilder gbac= new GenomicRegionsBuilder();

            Iterator<GenomicRegion> ita= gba.iterator();
            Iterator<GenomicRegion> itb= gbb.iterator();
            while(ita.hasNext()){
                GenomicRegion ra= ita.next();
                GenomicRegion rb= itb.next();
                double va= ra.getValue();
                double vb= rb.getValue();
                if(va>z){
                    rb.setID(Double.toString(va)+"_"+Double.toString(vb));
                    rb.setValue(0);
                    if(vb<ac){
                        gbde.add(rb);
                    }else{
                        gbac.add(rb);
                    }
                }
            }

            String tag= "z"+z+"_ac"+ac;
            new BedExporter(gbde).writeToFile(new File(od+"/select-de_"+tag+".bed"));
            GenomicRegionsLocator gl= new GenomicRegionsLocator(
                        gbde,
                        new BedReader(rf).getGenomicRegionsBuilder()
                    );
            gl.writeToSeparateFiles(
                    new File(od+"/locate-de_"+tag+"_in.txt"),
                    new File(od+"/locate-de_"+tag+"_between.txt")
                    );
           
            new BedExporter(gbac).writeToFile(new File(od+"/select-ac_"+tag+".bed"));
            gl= new GenomicRegionsLocator(
                        gbac,
                        new BedReader(rf).getGenomicRegionsBuilder()
                    );
            gl.writeToSeparateFiles(
                    new File(od+"/locate-ac_"+tag+"_in.txt"),
                    new File(od+"/locate-ac_"+tag+"_between.txt")
                    );
        }
    }
}


}
TOP

Related Classes of data.cerevisiae.region.aclen.Locate

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.