Hi Dario, AFAIK the 'start' and 'end' are strand-independent concepts so it wouldn't be a good idea to let the user specify a strand-specific window thru these arguments. That means a strand-aware restrict() would need to have 2 additional arguments. But how should we name them?
My preference would be to support negative values for 'start' and 'end' like we do for subseq(). When negative, the position is counted from the end of the sequence (-1 being the last nucleotide). If we had this, then you could do your strand-specific trimming with: restrict(gr, start=ifelse(strand(gr) == "-", 51, 1), end=ifelse(strand(gr) == "-", -1, -51)) Note that using negative values is convenient but not strictly needed: start <- ifelse(strand(gr) == "-", 51, 1) end <- extractROWS(seqlengths(gr), seqnames(gr)) end <- ifelse(strand(gr) == "-", end, end - 50) restrict(gr, start=start, end=end) Cheers, H. On 02/14/2016 09:00 PM, Dario Strbenac wrote:
Hello, The restrict function currently has no strand settings. This would be useful if I am creating fixed size windows, 50 bases wide, by sampling the start positions of the windows from a GRanges object. I'd like to restrict the GRanges object being sampled from, but only on the - stand when removing positions 1 to 50 and only on the positive strand when removing positions within the last 50 bases of the chromosome. So, a strand-aware version would be useful, to avoid sampling start positions too close to the ends of chromosomes. I suppose that setdiff will be a suitable alternative, if the first and last 50 bases are calculated of each chromosome. -------------------------------------- Dario Strbenac PhD Student University of Sydney Camperdown NSW 2050 Australia _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel
-- Hervé Pagès Program in Computational Biology Division of Public Health Sciences Fred Hutchinson Cancer Research Center 1100 Fairview Ave. N, M1-B514 P.O. Box 19024 Seattle, WA 98109-1024 E-mail: hpa...@fredhutch.org Phone: (206) 667-5791 Fax: (206) 667-1319 _______________________________________________ Bioc-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/bioc-devel