| 
0
 | 
     1 package datastructures;
 | 
| 
 | 
     2 
 | 
| 
 | 
     3 import java.util.Scanner;
 | 
| 
 | 
     4 
 | 
| 
 | 
     5 /**
 | 
| 
 | 
     6  * Represents a read line from the read alignment file.
 | 
| 
 | 
     7  * 
 | 
| 
 | 
     8  * @author Ali Abdallah
 | 
| 
 | 
     9  * @version 03.08.2011
 | 
| 
 | 
    10  * @since Java 1.6
 | 
| 
 | 
    11  */
 | 
| 
 | 
    12 
 | 
| 
 | 
    13 public class ReadLine implements Line {
 | 
| 
 | 
    14 	
 | 
| 
 | 
    15 	String 
 | 
| 
 | 
    16 	/**
 | 
| 
 | 
    17 	 * Query (pair) name.
 | 
| 
 | 
    18 	 */
 | 
| 
 | 
    19 	name, 
 | 
| 
 | 
    20 	/**
 | 
| 
 | 
    21 	 * Reference sequence name.
 | 
| 
 | 
    22 	 */
 | 
| 
 | 
    23 	chrom;
 | 
| 
 | 
    24 	/**
 | 
| 
 | 
    25 	 * Start position of the read.
 | 
| 
 | 
    26 	 */
 | 
| 
 | 
    27 	int start, 
 | 
| 
 | 
    28 	/**
 | 
| 
 | 
    29 	 * End Position of the read.
 | 
| 
 | 
    30 	 */
 | 
| 
 | 
    31 	end, 
 | 
| 
 | 
    32 	/**
 | 
| 
 | 
    33 	 * Length of the read.
 | 
| 
 | 
    34 	 */
 | 
| 
 | 
    35 	length;
 | 
| 
 | 
    36 	
 | 
| 
 | 
    37 	public ReadLine(String line){
 | 
| 
 | 
    38 		// line format:
 | 
| 
 | 
    39 		// qname flag rname pos mapq cigar mrnm mpos isize seq qual tag
 | 
| 
 | 
    40 		Scanner s = new Scanner(line);
 | 
| 
 | 
    41 		name = s.next();
 | 
| 
 | 
    42 		s.next();
 | 
| 
 | 
    43 		chrom = s.next();
 | 
| 
 | 
    44 		start = s.nextInt();
 | 
| 
 | 
    45 		s.next(); s.next();s.next();s.next();s.next();
 | 
| 
 | 
    46 		length = s.next().length();
 | 
| 
 | 
    47 		end = start+length-1;
 | 
| 
 | 
    48 	}
 | 
| 
 | 
    49 	
 | 
| 
 | 
    50 	public String name(){
 | 
| 
 | 
    51 		return name;
 | 
| 
 | 
    52 	}
 | 
| 
 | 
    53 	
 | 
| 
 | 
    54 	public String chrom() {
 | 
| 
 | 
    55 		return chrom;
 | 
| 
 | 
    56 	}
 | 
| 
 | 
    57 
 | 
| 
 | 
    58 	public int end() {
 | 
| 
 | 
    59 		return end;
 | 
| 
 | 
    60 	}
 | 
| 
 | 
    61 
 | 
| 
 | 
    62 	public int start() {
 | 
| 
 | 
    63 		return start;
 | 
| 
 | 
    64 	}
 | 
| 
 | 
    65 
 | 
| 
 | 
    66 	public int length(){
 | 
| 
 | 
    67 		return length;
 | 
| 
 | 
    68 	}
 | 
| 
 | 
    69 	
 | 
| 
 | 
    70 	public String toString(){
 | 
| 
 | 
    71 		return name+"\t"+chrom+"\t"+start+"\t"+end;
 | 
| 
 | 
    72 	}
 | 
| 
 | 
    73 }
 |