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 95 96 97 98 99 100 101 102 103 104
|
_bedtools_path = ""
_R_path = ""
tempfile_prefix = "pybedtools."
tempfile_suffix = ".tmp"
# Checking for BEDTools will happen when creating the first BedTool; other
# checks happen at first use (BAM object creation; tabix-ing a BedTool)
_bedtools_installed = False
_R_installed = False
_v_2_15_plus = False
_v_2_27_plus = False
bedtools_version = []
KEEP_TEMPFILES = False
_DEBUG = True
# Check calls against these names to only allow calls to known BEDTools
# programs (basic security)
#
_prog_names = {
# Genome arithmetic
"intersectBed": "intersect",
"windowBed": "window",
"closestBed": "closest",
"coverageBed": "coverage",
"mapBed": "map",
"genomeCoverageBed": "genomecov",
"mergeBed": "merge",
"clusterBed": "cluster",
"complementBed": "complement",
"subtractBed": "subtract",
"slopBed": "slop",
"shiftBed": "shift",
"flankBed": "flank",
"sortBed": "sort",
"randomBed": "random",
"shuffleBed": "shuffle",
"annotateBed": "annotate",
"spacing": "spacing",
# multi-way
"multiIntersectBed": "multiinter",
"unionBedGraphs": "unionbedg",
# PE
"pairToBed": "pairtobed",
"pairToPair": "pairtopair",
# format conversion
"bamToBed": "bamtobed",
"bedToBam": "bedtobam",
"bedpeToBam": "bedpetobam",
"bed12ToBed6": "bed12tobed6",
"bamToFastq": "bamtofastq",
# fasta
"fastaFromBed": "getfasta",
"maskFastaFromBed": "maskfasta",
"nucBed": "nuc",
# bam-centric
"multiBamCov": "multicov",
"tagBam": "tag",
# stats
"jaccard": "jaccard",
"reldist": "reldist",
# misc
"getOverlap": "overlap",
"bedToIgv": "igv",
"linksBed": "links",
"windowMaker": "makewindows",
"groupBy": "groupby",
"expandCols": "expand",
"sample": "sample",
"fisher": "fisher",
"split": "split",
}
_old_names = list(_prog_names.keys())
_new_names = list(_prog_names.values())
_column_names = {
"bed": [
"chrom",
"start",
"end",
"name",
"score",
"strand",
"thickStart",
"thickEnd",
"itemRgb",
"blockCount",
"blockSizes",
"blockStarts",
],
"gff": [
"seqname",
"source",
"feature",
"start",
"end",
"score",
"strand",
"frame",
"attributes",
],
}
|