文本处理,将交互组数据转化成邻接矩阵
来源:互联网 发布:国际贸易统计数据库 编辑:程序博客网 时间:2024/04/27 06:20
public static void main(String[] args) throws Exception {File file = new File("C:\\Users\\xuchichi\\Desktop\\method3\\123.txt");List<String> gene1 = readGeneName1(file);List<String> gene2 = readGeneName2(file);List<String> weight = readGeneName3(file);HashSet<String> geneId = insertGene(gene1,gene2);//读二元关系List<String> geneID = new ArrayList<String>(geneId);int n = geneID.size();float [][]arr = new float[n][n];for(int i=0;i<n;i++)for(int j=0;j<n;j++)arr[i][j] = 0;//initial(arr,gene1,gene2,weight,geneID);//初始化矩阵//ComputePath_IR_Whole((float) 0.2,arr,n);//迭代更新矩阵并将结果写入文件File file2 = new File("C:\\Users\\xuchichi\\Desktop\\method3\\456.txt");List <String> sim = readFileOne(file2);//读基因相似度readGeneSet(geneID,sim);//for(int i =0;i<n;i++)//System.out.println(geneID.get(i)+" "+i);}private static List<String> readFileOne(File file2) throws IOException{// TODO Auto-generated method stubList<String> r = new ArrayList<String>();if (file2.isFile() && file2.exists()) {InputStreamReader reader = new InputStreamReader(new FileInputStream(file2));BufferedReader bufferR = new BufferedReader(reader);// String GoTermId = null;String lineTxt = "";int count =0;while((lineTxt = bufferR.readLine()) != null){count++;if(count==6){String[] out = cutString(lineTxt);for(String s:out)r.add(s);break;}lineTxt = "";}}return r;}public static void readGeneSet(List<String> geneID,List <String> sim) throws IOException{File file2= new File("C:\\Users\\xuchichi\\Desktop\\method3\\result.txt");FileWriter out = new FileWriter(file2);System.out.println(geneID.size()+" "+sim.size());for(int i =0;i<geneID.size();i++){System.out.println(geneID.get(5)+" "+geneID.get(i)+sim.get(i));out.write(geneID.get(5)+"\t"+geneID.get(i)+"\t"+sim.get(i)+"\n");}}public static void initial(float[][]arr,List<String>gene1,List<String>gene2,List<String>weight,List<String>geneId){for(int i=0;i<gene1.size();i++){String str1 = gene1.get(i);String str2 = gene2.get(i);int x=-1;int y=-1;for(int j=0;j<geneId.size();j++){if(str1.equals(geneId.get(j)))x = j;if(str2.equals(geneId.get(j)))y = j;}arr[x][y] = Float.valueOf(weight.get(i));//System.out.println(i+" "+str1+" "+str2+" "+x+" "+y+" "+arr[x][y]);}}public static List<String> readGeneName1(File f) throws IOException {List<String> r = new ArrayList<String>();if (f.isFile() && f.exists()) {InputStreamReader reader = new InputStreamReader(new FileInputStream(f));BufferedReader bufferR = new BufferedReader(reader);// String GoTermId = null;String lineTxt = "";while ((lineTxt = bufferR.readLine()) != null) {String[] out = cutString(lineTxt);String in = out[0];r.add(in);}}return r;}public static List<String> readGeneName2(File f) throws IOException {List<String> r = new ArrayList<String>();if (f.isFile() && f.exists()) {InputStreamReader reader = new InputStreamReader(new FileInputStream(f));BufferedReader bufferR = new BufferedReader(reader);// String GoTermId = null;String lineTxt = "";while ((lineTxt = bufferR.readLine()) != null) {String[] out = cutString(lineTxt);String in = out[1];r.add(in);}}return r;}public static List<String> readGeneName3(File f) throws IOException {List<String> r = new ArrayList<String>();if (f.isFile() && f.exists()) {InputStreamReader reader = new InputStreamReader(new FileInputStream(f));BufferedReader bufferR = new BufferedReader(reader);// String GoTermId = null;String lineTxt = "";while ((lineTxt = bufferR.readLine()) != null) {String[] out = cutString(lineTxt);String in = out[2];r.add(in);}}return r;}public static String[] cutString(String in) {return in.split("");}public static HashSet<String>insertGene(List<String>list1,List<String>list2){HashSet<String> res = new HashSet<String>();for(int i =0;i<list1.size();i++){res.add(list1.get(i));res.add(list2.get(i));}return res;}
0 0
- 文本处理,将交互组数据转化成邻接矩阵
- mahout将文本数据转化成向量形式
- VB 串口发送,将文本中的字符串转化成16进制数据发送
- 使用JQuery 将DataTable 转化成JSON数据,前端无法处理JSON数据的注意事项
- python将文本转化成gif图片阅读
- 将dt转化成Json数据
- 将二进制数据转化成图片
- java将数据转化成json格式
- java将数据转化成json格式
- 将datatable数据转化成list
- Jsoncpp数据交互文本格式
- 文本挖掘--将分词之后的文档转化为结构化的数据
- 利用ArcGIS将经纬度数据转化成平面坐标数据
- abap:如何将数字转化为文本?
- ios 将文本转化成语音
- 将excel表格转化为html文本
- 文本转化成十六进制
- JavaScript 字符串处理 - 将 plist 文件地址转化成 png
- 汉诺塔问题的递归解法
- 求f(k)=k^k(k=1...n)的前n项和
- 二分查找算法的递归、循环实现及其缺陷
- 稀疏矩阵的列序递增法和一次定位快速转置法
- 二叉树的先序、中序、后序遍历等基本操作c++实现
- 文本处理,将交互组数据转化成邻接矩阵
- 打印菜单界面,用c语言实现二叉树的基本操作
- 用两个队列模拟实现一个栈的过程
- 二叉树打印
- Mysql免安装版注意事项
- Hibernate HQL语句总结
- 递归关于内存的深入理解
- 监听器
- Ubuntu中、英文环境设置