comparison SMART/Java/Python/CompareOverlappingSmallRef.py @ 55:2ac71607aa60

Uploaded
author m-zytnicki
date Fri, 10 Jan 2014 08:59:23 -0500
parents 169d364ddd91
children 90f4b29d884f
comparison
equal deleted inserted replaced
54:7f0e49595f31 55:2ac71607aa60
72 self.antisense = False 72 self.antisense = False
73 self.collinear = False 73 self.collinear = False
74 self.distance = None 74 self.distance = None
75 self.pcOverlapQuery = False 75 self.pcOverlapQuery = False
76 self.pcOverlapRef = False 76 self.pcOverlapRef = False
77 self.minOverlap = False
77 self.bins = {} 78 self.bins = {}
78 self.notOverlapping = False 79 self.notOverlapping = False
79 80
80 def setReferenceFile(self, fileName, format): 81 def setReferenceFile(self, fileName, format):
81 chooser = ParserChooser(self.verbosity) 82 chooser = ParserChooser(self.verbosity)
103 self.invert = boolean 104 self.invert = boolean
104 105
105 def setMinPercentOverlap(self, pcOverlapQuery, pcOverlapRef): 106 def setMinPercentOverlap(self, pcOverlapQuery, pcOverlapRef):
106 self.pcOverlapQuery = pcOverlapQuery 107 self.pcOverlapQuery = pcOverlapQuery
107 self.pcOverlapRef = pcOverlapRef 108 self.pcOverlapRef = pcOverlapRef
109
110 def setMinOverlap(self, minOverlap):
111 self.minOverlap = minOverlap
108 112
109 def includeNotOverlapping(self, boolean): 113 def includeNotOverlapping(self, boolean):
110 self.notOverlapping = boolean 114 self.notOverlapping = boolean
111 115
112 def loadRef(self): 116 def loadRef(self):
136 if not queryTranscript.overlapWithExon(refTranscript): 140 if not queryTranscript.overlapWithExon(refTranscript):
137 return False 141 return False
138 if self.collinear and queryTranscript.getDirection() != refTranscript.getDirection(): 142 if self.collinear and queryTranscript.getDirection() != refTranscript.getDirection():
139 return False 143 return False
140 if self.antisense and queryTranscript.getDirection() == refTranscript.getDirection(): 144 if self.antisense and queryTranscript.getDirection() == refTranscript.getDirection():
145 return False
146 if self.minOverlap and not queryTranscript.overlapWithExon(refTranscript, self.minOverlap):
141 return False 147 return False
142 querySize = queryTranscript.getSize() 148 querySize = queryTranscript.getSize()
143 if self.pcOverlapQuery and not queryTranscript.overlapWithExon(refTranscript, int(querySize * self.pcOverlapQuery / 100.0)): 149 if self.pcOverlapQuery and not queryTranscript.overlapWithExon(refTranscript, int(querySize * self.pcOverlapQuery / 100.0)):
144 return False 150 return False
145 refSize = refTranscript.getSize() 151 refSize = refTranscript.getSize()
215 parser.add_option("-d", "--distance", dest="distance", action="store", default=0, type="int", help="accept some distance between query and reference [format: int]") 221 parser.add_option("-d", "--distance", dest="distance", action="store", default=0, type="int", help="accept some distance between query and reference [format: int]")
216 parser.add_option("-c", "--collinear", dest="collinear", action="store_true", default=False, help="provide collinear features [format: bool] [default: false]") 222 parser.add_option("-c", "--collinear", dest="collinear", action="store_true", default=False, help="provide collinear features [format: bool] [default: false]")
217 parser.add_option("-a", "--antisense", dest="antisense", action="store_true", default=False, help="provide antisense features [format: bool] [default: false]") 223 parser.add_option("-a", "--antisense", dest="antisense", action="store_true", default=False, help="provide antisense features [format: bool] [default: false]")
218 parser.add_option("-p", "--pcOverlapQuery", dest="pcOverlapQuery", action="store", default=False, type="int", help="min. % overlap of the query [format: bool] [default: false]") 224 parser.add_option("-p", "--pcOverlapQuery", dest="pcOverlapQuery", action="store", default=False, type="int", help="min. % overlap of the query [format: bool] [default: false]")
219 parser.add_option("-P", "--pcOverlapRef", dest="pcOverlapRef", action="store", default=False, type="int", help="min. % overlap of the reference [format: bool] [default: false]") 225 parser.add_option("-P", "--pcOverlapRef", dest="pcOverlapRef", action="store", default=False, type="int", help="min. % overlap of the reference [format: bool] [default: false]")
226 parser.add_option("-m", "--minOverlap", dest="minOverlap", action="store", default=False, type="int", help="min. # overlap between query and reference [format: bool] [default: false]")
220 parser.add_option("-x", "--exclude", dest="exclude", action="store_true", default=False, help="invert the match [format: bool] [default: false]") 227 parser.add_option("-x", "--exclude", dest="exclude", action="store_true", default=False, help="invert the match [format: bool] [default: false]")
221 parser.add_option("-v", "--verbosity", dest="verbosity", action="store", default=1, type="int", help="trace level [format: int]") 228 parser.add_option("-v", "--verbosity", dest="verbosity", action="store", default=1, type="int", help="trace level [format: int]")
222 (options, args) = parser.parse_args() 229 (options, args) = parser.parse_args()
223 230
224 cosr = CompareOverlappingSmallRef(options.verbosity) 231 cosr = CompareOverlappingSmallRef(options.verbosity)
228 cosr.includeNotOverlapping(options.notOverlapping) 235 cosr.includeNotOverlapping(options.notOverlapping)
229 cosr.setDistance(options.distance) 236 cosr.setDistance(options.distance)
230 cosr.setAntisense(options.antisense) 237 cosr.setAntisense(options.antisense)
231 cosr.setInvert(options.exclude) 238 cosr.setInvert(options.exclude)
232 cosr.setMinPercentOverlap(options.pcOverlapQuery, options.pcOverlapRef) 239 cosr.setMinPercentOverlap(options.pcOverlapQuery, options.pcOverlapRef)
240 cosr.setMinOverlap(options.minOverlap)
233 cosr.run() 241 cosr.run()
234 242