public static void main(String[] args) throws Exception { //debug
File dir= Dirs.getFile("dir");
File od= new File(dir+"/anno/bed/sacCer1-xu/orient");
File f= new File(dir+"/anno/xu_2009_orfs.bed");
GenomicRegionsBuilder gb= new BedReader(f).getGenomicRegionsBuilder();
GenomicRegionsBuilder gbout= new GenomicRegionsBuilder();
String[] chrs= gb.getChromosomeList();
for(int i=0; i<chrs.length ; i++){
String chr= chrs[i];
ArrayList<Region> regs= gb.getRegionsForChromosome(chr);
for(int j=0; j<regs.size() ; j++){
DirectionalGenomicRegion dr= (DirectionalGenomicRegion)regs.get(j);
if(dr.isOnForwardStrand()){
if( j== regs.size()-1 ){
dr.setValue(331);
}else{
DirectionalGenomicRegion drn= (DirectionalGenomicRegion) regs.get(j+1);
if(drn.isOnForwardStrand()){
add(dr, drn, "35");
}else{
add(dr, drn, "33");
}
}
}else{
if(j==0){
dr.setValue(331);
}else{
DirectionalGenomicRegion drn= (DirectionalGenomicRegion) regs.get(j-1);
if(drn.isOnReverseStrand()){
add(dr, drn, "35");
}else{
add(dr, drn, "33");
}
}
}
gbout.add(dr);
}
}
gbout.writeToFileBed(new File(od+"/orient3.bed"));
}