Package org.snpeff.vcf
Class FileIndexChrPos
- java.lang.Object
-
- org.snpeff.vcf.FileIndexChrPos
-
public class FileIndexChrPos extends java.lang.Object
Index 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 class
FileIndexChrPos.FileRegion
A part of a fileclass
FileIndexChrPos.LineAndPos
A line and the position on the file where it begins
-
Field Summary
Fields Modifier and Type Field Description static int
POS_OFFSET
-
Constructor Summary
Constructors Constructor Description FileIndexChrPos(java.lang.String fileName)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
close()
Close filejava.lang.String
dump(java.lang.String chr, int posStart, int posEnd, boolean toString)
Dump all lines in the interval chr:posStart-posEndlong
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:posbyte
get(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 chromosomeslong
getEnd(java.lang.String chr)
Get position where 'chr' endsFileIndexChrPos.LineAndPos
getLine(long pos)
Get the line where 'pos' hitsFileIndexChrPos.LineAndPos
getLineSlow(long pos)
A slow method for getLinelong
getStart(java.lang.String chr)
Get position where 'chr' startsvoid
index()
Index chromosomes in the whole filevoid
open()
Open file and initiate mappingsint
pos(java.lang.String line)
The position argument of a line (second column in tab-separated format).void
setDebug(boolean debug)
void
setVerbose(boolean verbose)
long
size()
File sizejava.lang.String
toString()
-
-
-
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:
toString
in classjava.lang.Object
-
-