R/flank.region.R

# 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.

flank.region <- function(x, n.add = NULL, start.add = NULL, end.add = NULL, species = "human", build = "hg19", check.zero.based = TRUE, check.chr = TRUE, check.valid = TRUE, check.sort = TRUE, check.merge = TRUE, verbose = TRUE){

	catv("FLANKING\n");

	if (is.null(n.add) & is.null(start.add) & is.null(end.add)) {
		n.add <- 100;
		catv("    Defaulting to 100bp.\n")
		}

	if (!is.null(n.add) & (is.null(start.add) | is.null(end.add))) {
		start.add <- NULL;
		end.add   <- NULL;
		catv("    start.add and end.add are being ignored because n.add was specified.\n");
		}

	n.add            <- ifelse(is.null(n.add), "", paste("-b ", n.add));
	start.add        <- ifelse(is.null(start.add), "", paste("-l ", start.add));
	end.add          <- ifelse(is.null(end.add), "", paste("-r ", end.add));
	genome.file      <- paste0("genomes/", species, ".", build, ".genome");
	genome.file      <- system.file(genome.file, package = "bedr");
	genome.file      <- paste0("-g ", genome.file);

	x <- bedr(engine = "bedtools", input = list(i = x), method = "flank", params = paste(n.add, start.add, end.add, genome.file), check.zero.based = check.zero.based, check.chr = check.chr, check.valid = check.valid, check.sort = check.sort, check.merge = check.merge, verbose = TRUE);

	return(x);
	}

Try the bedr package in your browser

Any scripts or data that you put into this service are public.

bedr documentation built on May 2, 2019, 11:36 a.m.