Package org.snpeff.vcf
Class FileIndexChrPos
- java.lang.Object
-
- org.snpeff.vcf.FileIndexChrPos
-
public class FileIndexChrPos extends java.lang.ObjectIndex a file that has "chr \t pos" as the beginning of a line (e.g. VCF) WARNING: It is assumed that the file is ordered by position (chromosome order does not matter)- Author:
- pcingola
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classFileIndexChrPos.FileRegionA part of a fileclassFileIndexChrPos.LineAndPosA line and the position on the file where it begins
-
Field Summary
Fields Modifier and Type Field Description static intPOS_OFFSET
-
Constructor Summary
Constructors Constructor Description FileIndexChrPos(java.lang.String fileName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Close filejava.lang.Stringdump(java.lang.String chr, int posStart, int posEnd, boolean toString)Dump all lines in the interval chr:posStart-posEndlongfind(java.lang.String chr, int pos, boolean lessEq)Find the position in the file for the first character of the first line equal or less than a specific chr:posbyteget(long bytePosition)Get a byte from a filebyte[]get(long bytePosition, int len)Read 'len' bytes after 'bytePosition' or until a '\n' is reached.java.util.Set<java.lang.String>getChromos()Available chromosomeslonggetEnd(java.lang.String chr)Get position where 'chr' endsFileIndexChrPos.LineAndPosgetLine(long pos)Get the line where 'pos' hitsFileIndexChrPos.LineAndPosgetLineSlow(long pos)A slow method for getLinelonggetStart(java.lang.String chr)Get position where 'chr' startsvoidindex()Index chromosomes in the whole filevoidopen()Open file and initiate mappingsintpos(java.lang.String line)The position argument of a line (second column in tab-separated format).voidsetDebug(boolean debug)voidsetVerbose(boolean verbose)longsize()File sizejava.lang.StringtoString()
-
-
-
Field Detail
-
POS_OFFSET
public static final int POS_OFFSET
- See Also:
- Constant Field Values
-
-
Method Detail
-
close
public void close()
Close file
-
dump
public java.lang.String dump(java.lang.String chr, int posStart, int posEnd, boolean toString)Dump all lines in the interval chr:posStart-posEnd- Parameters:
chr- : ChromosomeposStart- : Start coordinate in chromosome (zero-based)posEnd- : End coordinate in chromosome (zero-based)toString- : Return a sting with file contents?- Returns:
- If toString is 'true', return a string with file's content between those coordinates (this is used only for test cases and debugging)
-
find
public long find(java.lang.String chr, int pos, boolean lessEq)Find the position in the file for the first character of the first line equal or less than a specific chr:pos
-
get
public byte get(long bytePosition)
Get a byte from a file
-
get
public byte[] get(long bytePosition, int len)Read 'len' bytes after 'bytePosition' or until a '\n' is reached. If len is negative, read 'abs(len)' bytes before bytePosition or until '\n' is reached- Parameters:
bytePosition-len-- Returns:
- An array of 'len' bytes. null if either end of file (len > 0) or beginning of file (len < 0)
-
getChromos
public java.util.Set<java.lang.String> getChromos()
Available chromosomes- Returns:
-
getEnd
public long getEnd(java.lang.String chr)
Get position where 'chr' ends- Parameters:
chr-- Returns:
- -1 if 'chr' is not in the index
-
getLine
public FileIndexChrPos.LineAndPos getLine(long pos)
Get the line where 'pos' hits- Returns:
- A string with the line that 'pos' hits, null if it's out of boundaries
-
getLineSlow
public FileIndexChrPos.LineAndPos getLineSlow(long pos)
A slow method for getLine
-
getStart
public long getStart(java.lang.String chr)
Get position where 'chr' starts- Parameters:
chr-- Returns:
- -1 if 'chr' is not in the index
-
index
public void index()
Index chromosomes in the whole file
-
open
public void open()
Open file and initiate mappings
-
pos
public int pos(java.lang.String line)
The position argument of a line (second column in tab-separated format). Negative if not found- Returns:
- The position argument of a line. Negative if not found
-
setDebug
public void setDebug(boolean debug)
-
setVerbose
public void setVerbose(boolean verbose)
-
size
public long size()
File size
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-