示例#1
0
    def __new__(cls,
                regSpec,
                binSpec,
                genome=None,
                categoryFilterList=None,
                strictMatch=True,
                includeExtraChrs=False):  #,fileType):
        if regSpec in ['file', 'track'] + getSupportedFileSuffixesForBinning():
            #if fileType != 'bed':
            #    raise NotImplementedError

            assert genome is not None

            from gtrackcore.input.core.GenomeElementSource import GenomeElementSource
            if regSpec == 'file':
                geSource = GenomeElementSource(binSpec, genome=genome)
            elif regSpec == 'track':
                from gtrackcore.input.adapters.TrackGenomeElementSource import FullTrackGenomeElementSource
                trackName = convertTNstrToTNListFormat(binSpec)
                geSource = FullTrackGenomeElementSource(genome,
                                                        trackName,
                                                        allowOverlaps=False)
            else:
                geSource = GenomeElementSource(binSpec,
                                               genome=genome,
                                               suffix=regSpec)

            if categoryFilterList is not None:
                from gtrackcore.input.wrappers.GECategoryFilter import GECategoryFilter
                geSource = GECategoryFilter(geSource,
                                            categoryFilterList,
                                            strict=strictMatch)
            return cls._applyEnvelope(geSource)
        else:
            if binSpec == '*':
                binSize = None
            else:
                binSize = parseShortenedSizeSpec(binSpec)

            from gtrackcore.input.userbins.AutoBinner import AutoBinner
            return AutoBinner(
                parseRegSpec(regSpec,
                             genome,
                             includeExtraChrs=includeExtraChrs), binSize)
示例#2
0
 def getGESource(fullFn,
                 fileSuffix,
                 extTrackName=None,
                 genome=None,
                 printWarnings=False):
     from gtrackcore.input.core.GenomeElementSource import GenomeElementSource
     return GenomeElementSource(fullFn,
                                suffix=fileSuffix,
                                forPreProcessor=True,
                                genome=genome,
                                trackName=extTrackName,
                                external=True,
                                printWarnings=printWarnings)
示例#3
0
    def _allGESources(self, trackName):
        baseDir = createOrigPath(self._genome, trackName)

        self._status = 'Trying os.listdir on: ' + baseDir
        for relFn in sorted(os.listdir(baseDir)):
            fn = os.sep.join([baseDir, relFn])

            self._status = 'Checking file: ' + fn
            if os.path.isdir(fn):
                continue

            fnPart = os.path.split(fn)[-1]
            if fnPart[0] in ['.', '_', '#'] or fnPart[-1] in [
                    '~', '#'
            ]:  #to avoid hidden files..
                continue

            self._status = 'Trying to create geSource from fn: ' + fn
            yield GenomeElementSource(fn, self._genome, forPreProcessor=True)
示例#4
0
def _commonStandardizeGtrackFile(fn, genome, suffix=None):
    geSource = GenomeElementSource(fn, genome, suffix=suffix)
    composedFile = StdGtrackComposer(
        GtrackElementStandardizer(geSource)).returnComposed()
    return expandHeadersOfGtrackFileAndReturnComposer(
        '', genome, strToUseInsteadOfFn=composedFile)