R/is.sorted.region.R

Defines functions is.sorted.region

Documented in is.sorted.region

# The bedr package is copyright (c) 2014 Ontario Institute for Cancer Research (OICR)
# This package and its accompanying libraries is free software; you can redistribute it and/or modify it under the terms of the GPL
# (either version 1, or at your option, any later version) or the Artistic License 2.0.  Refer to LICENSE for the full license text.
# OICR makes no representations whatsoever as to the SOFTWARE contained herein.  It is experimental in nature and is provided WITHOUT
# WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR ANY OTHER WARRANTY, EXPRESS OR IMPLIED. OICR MAKES NO REPRESENTATION
# OR WARRANTY THAT THE USE OF THIS SOFTWARE WILL NOT INFRINGE ANY PATENT OR OTHER PROPRIETARY RIGHT.
# By downloading this SOFTWARE, your Institution hereby indemnifies OICR against any loss, claim, damage or liability, of whatsoever kind or
# nature, which may arise from your Institution's respective use, handling or storage of the SOFTWARE.
# If publications result from research using this SOFTWARE, we ask that the Ontario Institute for Cancer Research be acknowledged and/or
# credit be given to OICR scientists, as scientifically appropriate.

is.sorted.region <- function(x, method = "lex", engine = "unix", check.zero.based = TRUE, check.chr = TRUE, check.valid = TRUE, check.merge = TRUE, verbose = FALSE) {

	x.sort    <- bedr.sort.region(x, method = method, engine = engine, check.zero.based = check.zero.based, check.chr = check.chr, check.valid = check.valid, check.merge = check.merge, verbose = FALSE);
	is.sorted <- all(x == x.sort); # use data.frame to drop attributes

	catv(" * Checking sort order... ")
	if (is.sorted) {
		catv("PASS\n");
		}
	else {
		catv("FAIL\n")
		catv(paste0("   The input for object is not *lexographically* ordered!\n   This can cause unexpected results for some set operations.\n   try: x <- bedr.sort.region(x)\n"));
		}
		
	
	return(is.sorted);
	}
uclahs-cds/public-R-bedr documentation built on May 12, 2024, 3:56 p.m.