Mercurial > repos > pfrommolt > ngsrich
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/NGSrich_0.5.5/src/datastructures/Read.java Mon Nov 21 08:12:19 2011 -0500 @@ -0,0 +1,96 @@ +package datastructures; + +import java.io.File; +import java.io.IOException; +import java.lang.InterruptedException; +import java.util.Scanner; +import java.util.Vector; + +public class Read implements Comparable<Object> { + + String query; + int flag; + String rname; + int pos; + int mapq; + String cigar; + String rnext; + int pnext; + int tlen; + String seq; + String qual; + Vector<String> optional; + + public Read(String line) { + Scanner s = new Scanner(line); + query = s.next(); + flag = s.nextInt(); + rname = s.next(); + pos = s.nextInt(); + mapq = s.nextInt(); + cigar = s.next(); + rnext = s.next(); + pnext = s.nextInt(); + tlen = s.nextInt(); + seq = s.next(); + qual = s.next(); + if (s.hasNext()) { + optional = new Vector<String>(); + while (s.hasNext()) { + optional.add(s.next()); + } + } + } + + public String getRname() { + return rname; + } + + public int getPos() { + return pos; + } + + @Override + public int compareTo(Object o) { + return 0; + } + + public static void sort(File input) { + Runtime rt = Runtime.getRuntime(); + try { + String rawOutput = input.getAbsolutePath(), + tmpD = input.getParentFile().getAbsolutePath(), + outputName = input.getName(), + pathname = input.getParentFile().getAbsolutePath() + "/" + + outputName + "Sorted"; + + input = new File(pathname); + + if (!input.exists()) + input.createNewFile(); + + String command = "sort -k3,3 -k4n,4 -T " + tmpD + " " + rawOutput+" > "+pathname; + Process p = rt.exec(command); + try{p.waitFor();} + catch(InterruptedException e){e.printStackTrace();} + System.out.println("Fertig"); + /* Scanner ps = new Scanner(p.getInputStream()); + FileWriter fw = new FileWriter(input); + + while (ps.hasNextLine()) { + String nextLine = ps.nextLine(); + fw.write(nextLine + "\r\n"); + } + + fw.close(); */ + + new File(rawOutput).delete(); + new File(pathname).renameTo(new File(rawOutput)); + System.out.println("File " + new File(rawOutput).getAbsolutePath() + + " sorted\n"); + + } catch (IOException e1) { + e1.printStackTrace(); + } + } +}