annotate NGSrich_0.5.5/src/datastructures/Read.java @ 0:89ad0a9cca52 default tip

Uploaded
author pfrommolt
date Mon, 21 Nov 2011 08:12:19 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
1 package datastructures;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
2
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
3 import java.io.File;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
4 import java.io.IOException;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
5 import java.lang.InterruptedException;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
6 import java.util.Scanner;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
7 import java.util.Vector;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
8
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
9 public class Read implements Comparable<Object> {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
10
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
11 String query;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
12 int flag;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
13 String rname;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
14 int pos;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
15 int mapq;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
16 String cigar;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
17 String rnext;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
18 int pnext;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
19 int tlen;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
20 String seq;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
21 String qual;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
22 Vector<String> optional;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
23
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
24 public Read(String line) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
25 Scanner s = new Scanner(line);
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
26 query = s.next();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
27 flag = s.nextInt();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
28 rname = s.next();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
29 pos = s.nextInt();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
30 mapq = s.nextInt();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
31 cigar = s.next();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
32 rnext = s.next();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
33 pnext = s.nextInt();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
34 tlen = s.nextInt();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
35 seq = s.next();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
36 qual = s.next();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
37 if (s.hasNext()) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
38 optional = new Vector<String>();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
39 while (s.hasNext()) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
40 optional.add(s.next());
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
41 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
42 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
43 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
44
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
45 public String getRname() {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
46 return rname;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
47 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
48
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
49 public int getPos() {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
50 return pos;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
51 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
52
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
53 @Override
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
54 public int compareTo(Object o) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
55 return 0;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
56 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
57
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
58 public static void sort(File input) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
59 Runtime rt = Runtime.getRuntime();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
60 try {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
61 String rawOutput = input.getAbsolutePath(),
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
62 tmpD = input.getParentFile().getAbsolutePath(),
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
63 outputName = input.getName(),
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
64 pathname = input.getParentFile().getAbsolutePath() + "/" +
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
65 outputName + "Sorted";
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
66
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
67 input = new File(pathname);
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
68
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
69 if (!input.exists())
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
70 input.createNewFile();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
71
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
72 String command = "sort -k3,3 -k4n,4 -T " + tmpD + " " + rawOutput+" > "+pathname;
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
73 Process p = rt.exec(command);
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
74 try{p.waitFor();}
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
75 catch(InterruptedException e){e.printStackTrace();}
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
76 System.out.println("Fertig");
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
77 /* Scanner ps = new Scanner(p.getInputStream());
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
78 FileWriter fw = new FileWriter(input);
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
79
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
80 while (ps.hasNextLine()) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
81 String nextLine = ps.nextLine();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
82 fw.write(nextLine + "\r\n");
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
83 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
84
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
85 fw.close(); */
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
86
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
87 new File(rawOutput).delete();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
88 new File(pathname).renameTo(new File(rawOutput));
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
89 System.out.println("File " + new File(rawOutput).getAbsolutePath()
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
90 + " sorted\n");
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
91
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
92 } catch (IOException e1) {
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
93 e1.printStackTrace();
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
94 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
95 }
89ad0a9cca52 Uploaded
pfrommolt
parents:
diff changeset
96 }