示例#1
0
    def getTrackView(self, region):
        allowOverlaps = self._trackFormatReq.allowOverlaps()
        borderHandling = self._trackFormatReq.borderHandling()
        assert (allowOverlaps is not None)
        assert (borderHandling is not None)

        origTrackView = self._getRawTrackView(region, borderHandling,
                                              allowOverlaps)

        if self.formatConverters is None:
            self.formatConverters = getFormatConverters(
                origTrackView.trackFormat, self._trackFormatReq)

        if self.formatConverters == []:
            raise IncompatibleTracksError(prettyPrintTrackName(self.trackName) + ' with format: '\
                                          + str(origTrackView.trackFormat) +
                                          ('(' + origTrackView.trackFormat._val + ')' if origTrackView.trackFormat._val else '') + \
                                          ' does not satisfy ' + str(self._trackFormatReq))

        if not self.formatConverters[0].canHandle(origTrackView.trackFormat,
                                                  self._trackFormatReq):
            raise IncompatibleTracksError(getClassName(self.formatConverters[0]) +\
                                          ' does not support conversion from ' + str(origTrackView.trackFormat) + \
                                          ' to ' + str(self._trackFormatReq))
        return self.formatConverters[0].convert(origTrackView)
示例#2
0
 def getUniqueKey(self, genome):
     assert self.formatConverters is not None and len(self.formatConverters) == 1, 'FC: '+str(self.formatConverters)
     assert( not None in [self._trackFormatReq.allowOverlaps(), \
                          self._trackFormatReq.borderHandling()] )
     
     if not self._trackId:
         self._trackId = TrackInfo(genome, self.trackName).id
         
     return hash((tuple(self.trackName), self._trackId, getClassName(self.formatConverters[0]), \
                  self.formatConverters[0].VERSION, self._trackFormatReq.allowOverlaps(), \
                  self._trackFormatReq.borderHandling()))
示例#3
0
    def getUniqueKey(self, genome):
        assert self.formatConverters is not None and len(
            self.formatConverters) == 1, 'FC: ' + str(self.formatConverters)
        assert( not None in [self._trackFormatReq.allowOverlaps(), \
                             self._trackFormatReq.borderHandling()] )

        if not self._trackId:
            self._trackId = TrackInfo(genome, self.trackName).id

        return hash((tuple(self.trackName), self._trackId, getClassName(self.formatConverters[0]), \
                     self.formatConverters[0].VERSION, self._trackFormatReq.allowOverlaps(), \
                     self._trackFormatReq.borderHandling()))
示例#4
0
 def getTrackView(self, region):
     allowOverlaps = self._trackFormatReq.allowOverlaps()
     borderHandling = self._trackFormatReq.borderHandling()
     assert(allowOverlaps is not None) 
     assert(borderHandling is not None) 
     
     origTrackView = self._getRawTrackView(region, borderHandling, allowOverlaps)
     
     if self.formatConverters is None:
         self.formatConverters = getFormatConverters(origTrackView.trackFormat, self._trackFormatReq)
     
     if self.formatConverters == []:
         raise IncompatibleTracksError(prettyPrintTrackName(self.trackName) + ' with format: '\
                                       + str(origTrackView.trackFormat) +
                                       ('(' + origTrackView.trackFormat._val + ')' if origTrackView.trackFormat._val else '') + \
                                       ' does not satisfy ' + str(self._trackFormatReq))
     
     if not self.formatConverters[0].canHandle(origTrackView.trackFormat, self._trackFormatReq):
         raise IncompatibleTracksError(getClassName(self.formatConverters[0]) +\
                                       ' does not support conversion from ' + str(origTrackView.trackFormat) + \
                                       ' to ' + str(self._trackFormatReq))
     return self.formatConverters[0].convert(origTrackView)