基因組序列特徵提取

在給定的DNA鹼基對信息中提取特徵值

代碼如下:

package artificial_intelligence;
import Ynu.Sei.cpLibrary.BASIC.*;


import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.InputStream;
import java.io.InputStreamReader;
public class DNAreader {
String encoding="utf-8";

public void readtxt(String directory){
int AA=0,AT=0,AC=0,AG=0,TT=0,TA=0,TC=0,TG=0,CC=0,CA=0,CT=0,CG=0,GG=0,GA=0,GT=0,GC=0;
String last="";
try{
File dna=new File(directory);
if(dna.isFile()&&dna.exists()){
InputStreamReader in=new InputStreamReader(new FileInputStream(directory),encoding);
BufferedReader buff=new BufferedReader(new FileReader(directory));
String line; String [] temp;String [] window=new String[2];

while((line=buff.readLine())!=null){

temp=line.split("");
if(last.equals("")){

for(int i=0;i+1<temp.length;i++){
window[0]=temp[i];
window[1]=temp[i+1];
switch(window[0]+window[1])
{  case "AA":{AA++;break;}
case"AT":{AT++;break;}
case "AC":{AC++;break;}
case "AG":{AG++;break;}
case "TT":{TT++;break;}
case "TA":{TA++;break;}
case "TC":{TC++;break;}
case "TG":{TG++;break;}
case "GG":{GG++;break;}
case "GA":{GA++;break;}
case "GT":{GT++;break;}
case "GC":{GC++;break;}
case "CC":{CC++;break;}
case "CT":{CT++;break;}
case "CA":{CA++;break;}
case "CG":{CG++;break;}
}//SWITCH
last=temp[temp.length-1];//最後一個元素賦值給last
}//for temp
}else{
window[0]=last;
window[1]=temp[0];
switch(window[0]+window[1])
{  case "AA":{AA++;break;}
case"AT":{AT++;break;}
case "AC":{AC++;break;}
case "AG":{AG++;break;}
case "TT":{TT++;break;}
case "TA":{TA++;break;}
case "TC":{TC++;break;}
case "TG":{TG++;break;}
case "GG":{GG++;break;}
case "GA":{GA++;break;}
case "GT":{GT++;break;}
case "GC":{GC++;break;}
case "CC":{CC++;break;}
case "CT":{CT++;break;}
case "CA":{CA++;break;}
case "CG":{CG++;break;}
}//SWITCH  last

for(int i=0;i+1<temp.length;i++){
window[0]=temp[i];
window[1]=temp[i+1];

switch(window[0]+window[1])
{  case "AA":{AA++;break;}
case"AT":{AT++;break;}
case "AC":{AC++;break;}
case "AG":{AG++;break;}
case "TT":{TT++;break;}
case "TA":{TA++;break;}
case "TC":{TC++;break;}
case "TG":{TG++;break;}
case "GG":{GG++;break;}
case "GA":{GA++;break;}
case "GT":{GT++;break;}
case "GC":{GC++;break;}
case "CC":{CC++;break;}
case "CT":{CT++;break;}
case "CA":{CA++;break;}
case "CG":{CG++;break;}
}//SWITCH
last=temp[temp.length-1];
}//for temp
}//else last!=""
cpOutput out=new cpOutput("/home/cyl/桌面/data1/result/chromosome 21q.txt");
String AA1=String.valueOf(AA);
String AT1=String.valueOf(AT);
String AG1=String.valueOf(AG);
String AC1=String.valueOf(AC);
String TT1=String.valueOf(TT);
String TA1=String.valueOf(TA);
String TC1=String.valueOf(TC);
String TG1=String.valueOf(TG);
String CC1=String.valueOf(CC);
String CA1=String.valueOf(CA);
String CG1=String.valueOf(CG);
String CT1=String.valueOf(CT);
String GG1=String.valueOf(GG);
String GA1=String.valueOf(GA);
String GC1=String.valueOf(GC);
String GT1=String.valueOf(GT);

out.print("AA:");out.println(AA1);
out.print("AT:");out.println(AT1);
out.print("AG:");out.println(AG1);
out.print("AC:");out.println(AC1);
out.print("TT:");out.println(TT1);
out.print("TA:");out.println(TA1);
out.print("TC:");out.println(TC1);
out.print("TG:");out.println(TG1);
out.print("CC:");out.println(CC1);
out.print("CA:");out.println(CA1);
out.print("CG:");out.println(CG1);
out.print("CT:");out.println(CT1);
out.print("GG:");out.println(GG1);
out.print("GA:");out.println(GA1);
out.print("GC:");out.println(GC1);
out.print("GT:");out.println(GT1);



}
}else{System.out.println("There is not such file in this directory!");}
}catch( Exception e){
System.out.println("There is something wrong!sorry!");
}
System.out.println(AG);
}


public static void main(String args[]){
DNAreader d=new DNAreader();
d.readtxt("/home/cyl/桌面/data1/chromosome 21q.txt");
}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章