public class GTBFilter
extends java.lang.Object
限定符和类型 | 方法和说明 |
---|---|
GTBFilter |
addFilter(GTBFilter filter)
添加过滤器
|
void |
clear()
清空过滤器
|
GTBFilter |
filterByAC(edu.sysu.pmglab.container.Interval<java.lang.Integer> range)
按照等位基因频数过滤
等位基因频数指所有非 .
|
GTBFilter |
filterByAF(edu.sysu.pmglab.container.Interval<java.lang.Float> range)
按照等位基因频率过滤
等位基因频率指所有非 .
|
GTBFilter |
filterByAlleleNum(edu.sysu.pmglab.container.Interval<java.lang.Integer> range)
按照可变等位基因数过滤位点
|
GTBFilter |
filterByAN(edu.sysu.pmglab.container.Interval<java.lang.Integer> range)
按照等位基因总数过滤
等位基因总数指所有非 .
|
GTBFilter |
filterByChromosome(Chromosome chromosome)
添加染色体过滤器
|
GTBFilter |
filterByChromosomes(Chromosome... chromosomes)
添加染色体过滤器
|
GTBFilter |
filterByChromosomes(java.lang.Iterable<Chromosome> chromosomes)
添加染色体过滤器
|
GTBFilter |
filterByCoordinate(Chromosome chromosome,
int position)
添加染色体-坐标过滤器
|
GTBFilter |
filterByCoordinateRange(Chromosome chromosome,
edu.sysu.pmglab.container.Interval<java.lang.Integer> ranges)
添加染色体-坐标过滤器
|
GTBFilter |
filterByCoordinateRanges(java.util.Map<Chromosome,edu.sysu.pmglab.container.Interval<java.lang.Integer>> poses)
添加多个染色体-坐标范围过滤器
|
GTBFilter |
filterByCoordinates(Chromosome chromosome,
java.lang.Iterable<java.lang.Integer> poses)
添加染色体-坐标过滤器
|
GTBFilter |
filterByCoordinates(java.util.Map<Chromosome,java.lang.Iterable<java.lang.Integer>> poses)
添加多个染色体-坐标过滤器
|
<T> GTBFilter |
filterByFieldFunction(java.lang.String fieldName,
java.util.function.Function<T,java.lang.Boolean> function)
函数式过滤器, 提供了更为全面的列值检查方法
|
<T> GTBFilter |
filterByFieldValue(java.lang.String fieldName,
T enableValue)
数值过滤器, 只能选取指定的值
|
<T extends java.lang.Number & java.lang.Comparable<T>> |
filterByFieldValueRange(java.lang.String fieldName,
edu.sysu.pmglab.container.Interval<T> range)
数值过滤器, 只能选取指定的值
|
<T> GTBFilter |
filterByFieldValues(java.lang.String fieldName,
java.lang.Iterable<T> values)
数值过滤器, 只能选取指定的值
|
<T> GTBFilter |
filterByFieldValues(java.lang.String fieldName,
T[] values)
数值过滤器, 只能选取指定的值
|
GTBFilter |
filterByVariant(java.util.function.Function<Variant,java.lang.Boolean> function)
位点过滤器
|
GTBFilter |
filterByVariantIndex(edu.sysu.pmglab.container.Interval<java.lang.Long> indexRangeOfVariant)
添加变异位点指针范围过滤器
|
GTBFilter |
filterByVariantIndex(edu.sysu.pmglab.container.Interval<java.lang.Long> indexRangeOfVariant,
boolean containEnd)
添加变异位点指针范围过滤器
|
edu.sysu.pmglab.container.Interval<java.lang.Long> |
getVariantIndexFilter()
获取记录索引范围过滤器
|
boolean |
isEmpty()
查看过滤器容量, 用来判断是否为空
|
public GTBFilter()
public GTBFilter(GTBFilter filter)
filter
- 已有的过滤器实例, 将该过滤器注入此过滤器public boolean isEmpty()
public void clear()
public GTBFilter filterByChromosome(Chromosome chromosome)
chromosome
- 指定的染色体编号public GTBFilter filterByChromosomes(Chromosome... chromosomes)
chromosomes
- 染色体编号public GTBFilter filterByChromosomes(java.lang.Iterable<Chromosome> chromosomes)
chromosomes
- 染色体编号public GTBFilter filterByCoordinateRange(Chromosome chromosome, edu.sysu.pmglab.container.Interval<java.lang.Integer> ranges)
chromosome
- 染色体编号ranges
- 坐标范围public GTBFilter filterByCoordinate(Chromosome chromosome, int position)
chromosome
- 染色体编号position
- 可以读取的坐标public GTBFilter filterByCoordinates(Chromosome chromosome, java.lang.Iterable<java.lang.Integer> poses)
chromosome
- 染色体编号poses
- 可以读取的坐标public GTBFilter filterByCoordinateRanges(java.util.Map<Chromosome,edu.sysu.pmglab.container.Interval<java.lang.Integer>> poses)
poses
- 染色体编号及其可读取的坐标值范围, 坐标值为 null 时表示读取所有的坐标public GTBFilter filterByCoordinates(java.util.Map<Chromosome,java.lang.Iterable<java.lang.Integer>> poses)
poses
- 染色体编号及其可读取的坐标值, 坐标值为 null 时表示读取所有的坐标public GTBFilter filterByVariantIndex(edu.sysu.pmglab.container.Interval<java.lang.Long> indexRangeOfVariant)
indexRangeOfVariant
- 变异位点指针范围 (包含端点值)public GTBFilter filterByVariantIndex(edu.sysu.pmglab.container.Interval<java.lang.Long> indexRangeOfVariant, boolean containEnd)
indexRangeOfVariant
- 变异位点指针范围containEnd
- 是否包含端点值public GTBFilter filterByAlleleNum(edu.sysu.pmglab.container.Interval<java.lang.Integer> range)
range
- 可变等位基因数范围 (包含端点值)public GTBFilter filterByAC(edu.sysu.pmglab.container.Interval<java.lang.Integer> range)
等位基因频数指所有非 . 和 非 0 基因型的计数
range
- 频数范围 (包含端点值)public GTBFilter filterByAN(edu.sysu.pmglab.container.Interval<java.lang.Integer> range)
等位基因总数指所有非 . 基因型的计数
range
- 总数范围 (包含端点值)public GTBFilter filterByAF(edu.sysu.pmglab.container.Interval<java.lang.Float> range)
等位基因频率指所有非 . 和 非 0 基因型的计数
range
- 频率范围 (包含端点值)public <T> GTBFilter filterByFieldFunction(java.lang.String fieldName, java.util.function.Function<T,java.lang.Boolean> function)
T
- 值类型fieldName
- 字段名function
- 过滤函数public <T> GTBFilter filterByFieldValues(java.lang.String fieldName, java.lang.Iterable<T> values)
T
- 值类型fieldName
- 字段名values
- 过滤函数public <T> GTBFilter filterByFieldValues(java.lang.String fieldName, T[] values)
T
- 值类型fieldName
- 字段名values
- 过滤函数public <T> GTBFilter filterByFieldValue(java.lang.String fieldName, T enableValue)
T
- 值类型fieldName
- 字段名enableValue
- 过滤函数public <T extends java.lang.Number & java.lang.Comparable<T>> GTBFilter filterByFieldValueRange(java.lang.String fieldName, edu.sysu.pmglab.container.Interval<T> range)
T
- 值类型fieldName
- 字段名range
- 过滤范围 (包含端点值)public GTBFilter filterByVariant(java.util.function.Function<Variant,java.lang.Boolean> function)
function
- 过滤函数public edu.sysu.pmglab.container.Interval<java.lang.Long> getVariantIndexFilter()