jpayne@68
|
1 _bedtools_path = ""
|
jpayne@68
|
2 _R_path = ""
|
jpayne@68
|
3
|
jpayne@68
|
4 tempfile_prefix = "pybedtools."
|
jpayne@68
|
5 tempfile_suffix = ".tmp"
|
jpayne@68
|
6
|
jpayne@68
|
7 # Checking for BEDTools will happen when creating the first BedTool; other
|
jpayne@68
|
8 # checks happen at first use (BAM object creation; tabix-ing a BedTool)
|
jpayne@68
|
9 _bedtools_installed = False
|
jpayne@68
|
10 _R_installed = False
|
jpayne@68
|
11 _v_2_15_plus = False
|
jpayne@68
|
12 _v_2_27_plus = False
|
jpayne@68
|
13 bedtools_version = []
|
jpayne@68
|
14
|
jpayne@68
|
15 KEEP_TEMPFILES = False
|
jpayne@68
|
16 _DEBUG = True
|
jpayne@68
|
17
|
jpayne@68
|
18 # Check calls against these names to only allow calls to known BEDTools
|
jpayne@68
|
19 # programs (basic security)
|
jpayne@68
|
20 #
|
jpayne@68
|
21 _prog_names = {
|
jpayne@68
|
22 # Genome arithmetic
|
jpayne@68
|
23 "intersectBed": "intersect",
|
jpayne@68
|
24 "windowBed": "window",
|
jpayne@68
|
25 "closestBed": "closest",
|
jpayne@68
|
26 "coverageBed": "coverage",
|
jpayne@68
|
27 "mapBed": "map",
|
jpayne@68
|
28 "genomeCoverageBed": "genomecov",
|
jpayne@68
|
29 "mergeBed": "merge",
|
jpayne@68
|
30 "clusterBed": "cluster",
|
jpayne@68
|
31 "complementBed": "complement",
|
jpayne@68
|
32 "subtractBed": "subtract",
|
jpayne@68
|
33 "slopBed": "slop",
|
jpayne@68
|
34 "shiftBed": "shift",
|
jpayne@68
|
35 "flankBed": "flank",
|
jpayne@68
|
36 "sortBed": "sort",
|
jpayne@68
|
37 "randomBed": "random",
|
jpayne@68
|
38 "shuffleBed": "shuffle",
|
jpayne@68
|
39 "annotateBed": "annotate",
|
jpayne@68
|
40 "spacing": "spacing",
|
jpayne@68
|
41 # multi-way
|
jpayne@68
|
42 "multiIntersectBed": "multiinter",
|
jpayne@68
|
43 "unionBedGraphs": "unionbedg",
|
jpayne@68
|
44 # PE
|
jpayne@68
|
45 "pairToBed": "pairtobed",
|
jpayne@68
|
46 "pairToPair": "pairtopair",
|
jpayne@68
|
47 # format conversion
|
jpayne@68
|
48 "bamToBed": "bamtobed",
|
jpayne@68
|
49 "bedToBam": "bedtobam",
|
jpayne@68
|
50 "bedpeToBam": "bedpetobam",
|
jpayne@68
|
51 "bed12ToBed6": "bed12tobed6",
|
jpayne@68
|
52 "bamToFastq": "bamtofastq",
|
jpayne@68
|
53 # fasta
|
jpayne@68
|
54 "fastaFromBed": "getfasta",
|
jpayne@68
|
55 "maskFastaFromBed": "maskfasta",
|
jpayne@68
|
56 "nucBed": "nuc",
|
jpayne@68
|
57 # bam-centric
|
jpayne@68
|
58 "multiBamCov": "multicov",
|
jpayne@68
|
59 "tagBam": "tag",
|
jpayne@68
|
60 # stats
|
jpayne@68
|
61 "jaccard": "jaccard",
|
jpayne@68
|
62 "reldist": "reldist",
|
jpayne@68
|
63 # misc
|
jpayne@68
|
64 "getOverlap": "overlap",
|
jpayne@68
|
65 "bedToIgv": "igv",
|
jpayne@68
|
66 "linksBed": "links",
|
jpayne@68
|
67 "windowMaker": "makewindows",
|
jpayne@68
|
68 "groupBy": "groupby",
|
jpayne@68
|
69 "expandCols": "expand",
|
jpayne@68
|
70 "sample": "sample",
|
jpayne@68
|
71 "fisher": "fisher",
|
jpayne@68
|
72 "split": "split",
|
jpayne@68
|
73 }
|
jpayne@68
|
74
|
jpayne@68
|
75 _old_names = list(_prog_names.keys())
|
jpayne@68
|
76 _new_names = list(_prog_names.values())
|
jpayne@68
|
77
|
jpayne@68
|
78 _column_names = {
|
jpayne@68
|
79 "bed": [
|
jpayne@68
|
80 "chrom",
|
jpayne@68
|
81 "start",
|
jpayne@68
|
82 "end",
|
jpayne@68
|
83 "name",
|
jpayne@68
|
84 "score",
|
jpayne@68
|
85 "strand",
|
jpayne@68
|
86 "thickStart",
|
jpayne@68
|
87 "thickEnd",
|
jpayne@68
|
88 "itemRgb",
|
jpayne@68
|
89 "blockCount",
|
jpayne@68
|
90 "blockSizes",
|
jpayne@68
|
91 "blockStarts",
|
jpayne@68
|
92 ],
|
jpayne@68
|
93 "gff": [
|
jpayne@68
|
94 "seqname",
|
jpayne@68
|
95 "source",
|
jpayne@68
|
96 "feature",
|
jpayne@68
|
97 "start",
|
jpayne@68
|
98 "end",
|
jpayne@68
|
99 "score",
|
jpayne@68
|
100 "strand",
|
jpayne@68
|
101 "frame",
|
jpayne@68
|
102 "attributes",
|
jpayne@68
|
103 ],
|
jpayne@68
|
104 }
|