Set a Filter to Sample or Variant (original) (raw)
seqSetFilter: Set a Filter to Sample or Variant
Description Usage Arguments Details Value Author(s) See Also Examples
Sets a filter to sample and/or variant.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | ## S4 method for signature 'SeqVarGDSClass,ANY' seqSetFilter(object, variant.sel, sample.sel=NULL, variant.id=NULL, sample.id=NULL, action=c("set", "intersect", "push", "push+set", "push+intersect", "pop"), verbose=TRUE) ## S4 method for signature 'SeqVarGDSClass,GRanges' seqSetFilter(object, variant.sel, rm.txt="chr", intersect=FALSE, verbose=TRUE) ## S4 method for signature 'SeqVarGDSClass,GRangesList' seqSetFilter(object, variant.sel, rm.txt="chr", intersect=FALSE, verbose=TRUE) ## S4 method for signature 'SeqVarGDSClass,IRanges' seqSetFilter(object, variant.sel, chr, intersect=FALSE, verbose=TRUE) seqResetFilter(object, sample=TRUE, variant=TRUE, verbose=TRUE) seqSetFilterChrom(object, include=NULL, is.num=NA, from.bp=NULL, to.bp=NULL, intersect=FALSE, verbose=TRUE) seqSetFilterPos(object, chr, pos, intersect=FALSE, multi.pos=FALSE, verbose=TRUE) seqSetFilterAnnotID(object, id, verbose=TRUE) |
|---|
| object | a SeqVarGDSClass object |
|---|---|
| variant.sel | a logical/raw/index vector indicating the selected variants; GRanges, a GRanges object for the genomic locations; GRangesList, a GRangesList object for storing a collection of GRanges objects; IRanges, a IRanges object for storing a collection of range objects |
| sample.sel | a logical/raw/index vector indicating the selected samples |
| variant.id | ID of selected variants |
| sample.id | ID of selected samples |
| action | "set" – set the current filter via sample.id,variant.id, samp.sel or variant.sel;"intersect" – set the current filter to the intersection of selected samples and/or variants;"push" – push the current filter to the stack, and it could be recovered by "pop" later, no change on the current filter;"push+set" – push the current filter to the stack, and changes the current filter via sample.id, variant.id,samp.sel or variant.sel;"push+intersect" – push the current filter to the stack, and set the current filter to the intersection of selected samples and/or variants;"pop" – pop up the last filter |
| rm.txt | a character, the characters will be removed fromseqnames(variant.sel) |
| chr | a vector of character for chromsome coding |
| pos | a vector of numeric values for genome coordinate |
| sample | logical, if TRUE, include all samples |
| variant | logical, if TRUE, include all variants |
| include | NULL, or a vector of characters for specified chromosome(s) |
| is.num | a logical variable: TRUE, chromosome code is numeric;FALSE, chromosome is not numeric; is.num=TRUE is usually used to exclude non-autosomes |
| from.bp | NULL, no limit; a numeric vector, the lower bound of position |
| to.bp | NULL, no limit; a numeric vector, the upper bound of position |
| intersect | if FALSE, the candidate samples/variants for selection are all samples/variants (by default); if TRUE, the candidate samples/variants are from the selected samples/variants defined via the previous call |
| multi.pos | FALSE, use the first matched position;TRUE, allow multiple variants at the same position |
| id | a character vector for RS IDs (stored in "annotation/id") |
| verbose | if TRUE, show information |
seqResetFilter(file) is equivalent to seqSetFilter(file), where the selection arguments in seqSetFilter are NULL.
If from.bp and to.bp has values, they should be equal-size as include. A trio of include, from.bp and to.bpindicates a region on human genomes. NA in from.bp is treated as 0, and NA in to.bp is treated as the maximum of integer (2^31 - 1).
None.
Xiuwen Zheng
[seqSetFilterChrom](/bioc/SeqArray/man/seqSetFilterChrom.html), [seqSetFilterCond](/bioc/SeqArray/man/seqSetFilterCond.html),[seqGetFilter](/bioc/SeqArray/man/seqGetFilter.html), [seqGetData](/bioc/SeqArray/man/seqGetData.html),[seqApply](/bioc/SeqArray/man/seqApply.html)
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | # the GDS file (gds.fn <- seqExampleFileName("gds")) # display (f <- seqOpen(gds.fn)) # get 'sample.id (samp.id <- seqGetData(f, "sample.id")) # "NA06984" "NA06985" "NA06986" ... # get 'variant.id' head(variant.id <- seqGetData(f, "variant.id")) # get 'chromosome' table(seqGetData(f, "chromosome")) # get 'allele' head(seqGetData(f, "allele")) # "T,C" "G,A" "G,A" ... # set sample and variant filters seqSetFilter(f, sample.id=samp.id[c(2,4,6,8)]) set.seed(100) seqSetFilter(f, variant.id=sample(variant.id, 5)) # get genotypic data seqGetData(f, "genotype") ## OR # set sample and variant filters seqSetFilter(f, sample.sel=c(2,4,6,8)) set.seed(100) seqSetFilter(f, variant.sel=sample.int(length(variant.id), 5)) # get genotypic data seqGetData(f, "genotype") ## set the intersection seqResetFilter(f) seqSetFilterChrom(f, 10L) seqSummary(f, "genotype", check="none") AF <- seqAlleleFreq(f) table(AF <= 0.9) seqSetFilter(f, variant.sel=(AF<=0.9), action="intersect") seqSummary(f, "genotype", check="none") ## chromosome seqResetFilter(f) seqSetFilterChrom(f, is.num=TRUE) seqSummary(f, "genotype", check="none") seqSetFilterChrom(f, is.num=FALSE) seqSummary(f, "genotype", check="none") seqSetFilterChrom(f, 1:4) seqSummary(f, "genotype", check="none") table(seqGetData(f, "chromosome")) # HLA region seqSetFilterChrom(f, 6, from.bp=29719561, to.bp=32883508) seqSummary(f, "genotype", check="none") # two regions seqSetFilterChrom(f, c(1, 6), from.bp=c(1000000, 29719561), to.bp=c(90000000, 32883508)) seqSummary(f, "genotype", check="none") seqGetData(f, "chromosome") ## intersection option seqResetFilter(f) seqSetFilterChrom(f, 6, from.bp=29719561, to.bp=32883508) # MHC seqSetFilterChrom(f, include=6) # chromosome 6 seqResetFilter(f) seqSetFilterChrom(f, 6, from.bp=29719561, to.bp=32883508) # MHC seqSetFilterChrom(f, include=6, intersect=TRUE) # MHC region only # close the GDS file seqClose(f) |
|---|
SeqArray documentation built on Nov. 8, 2020, 5:08 p.m.