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)
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)
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)
def _commonStandardizeGtrackFile(fn, genome, suffix=None): geSource = GenomeElementSource(fn, genome, suffix=suffix) composedFile = StdGtrackComposer( GtrackElementStandardizer(geSource)).returnComposed() return expandHeadersOfGtrackFileAndReturnComposer( '', genome, strToUseInsteadOfFn=composedFile)