Beispiel #1
0
def plainRun(analysisDef, genome, track1Fn, track2Fn):
    '''
    Currently under development, not yet functioning.
    Note that file names (track1Fn, track2Fn) must either be a valid .dat-file from a Galaxy system,
      or be located in a path where the two deepest levels are numerical values above 1000, and unique between different runs by this tool'''
    #GalaxyInterface.runManual(trackNames, analysisDef, regSpec, binSpec, genome, galaxyFn=None, trackNameIntensity=None, username='', \
    #printResults=True, printProgress=True, printHtmlWarningMsgs=True, applyBoundaryFilter=False, printRunDescription=True, **kwArgs):

    from quick.application.ExternalTrackManager import ExternalTrackManager

    #fixme: is this correct?
    assert all(
        idPart > 1000
        for idPart in ExternalTrackManager.extractIdFromGalaxyFn(track1Fn))
    tn1 = ExternalTrackManager.constructGalaxyTnFromSuitedFn(track1Fn)
    assert all(
        idPart > 1000
        for idPart in ExternalTrackManager.extractIdFromGalaxyFn(track2Fn))
    tn2 = ExternalTrackManager.constructGalaxyTnFromSuitedFn(track2Fn)

    from quick.application.GalaxyInterface import GalaxyInterface
    userBinSource = GalaxyInterface._getUserBinSource('chrs', '*', genome, tn1,
                                                      tn2)

    from gold.application.StatRunner import AnalysisDefJob
    job = AnalysisDefJob(analysisDef, tn1, tn2, userBinSource)
    result = job.run(printProgress=False)
    return result
Beispiel #2
0
    def visitGalaxyGSuiteTrack(self, gSuiteTrack):
        self.genericVisit(gSuiteTrack)

        from quick.application.ExternalTrackManager import ExternalTrackManager
        from gold.description.TrackInfo import TrackInfo

        if gSuiteTrack.hasExtraFileName():
            baseFileName = os.path.basename(gSuiteTrack.uriWithoutSuffix)
        else:
            baseFileName = gSuiteTrack.title

        galaxyTN = ExternalTrackManager.constructGalaxyTnFromSuitedFn(
            gSuiteTrack.path, fileEnding=gSuiteTrack.suffix, name=baseFileName)
        trackName = ExternalTrackManager.getPreProcessedTrackFromGalaxyTN(
            gSuiteTrack.genome,
            galaxyTN,
            printErrors=False,
            printProgress=False,
            renameExistingTracksIfNeeded=False)

        trackType = TrackInfo(gSuiteTrack.genome,
                              trackName).trackFormatName.lower()
        hbUri = HbGSuiteTrack.generateURI(trackName=trackName)

        return GSuiteTrack(hbUri,
                           title=gSuiteTrack.title,
                           trackType=trackType,
                           genome=gSuiteTrack.genome,
                           attributes=gSuiteTrack.attributes,
                           comment=gSuiteTrack.comment)
    def _createPreprocessedGsuiteTrack(self,
                                       gSuiteTrack,
                                       baseFileName,
                                       doEncodeId,
                                       urlPrefix=None):
        from quick.application.ExternalTrackManager import ExternalTrackManager as ETM
        from gold.description.TrackInfo import TrackInfo

        self.genericVisit(gSuiteTrack)

        galaxyTN = ETM.constructGalaxyTnFromSuitedFn(
            gSuiteTrack.path, fileEnding=gSuiteTrack.suffix, name=baseFileName)
        trackName = ETM.getPreProcessedTrackFromGalaxyTN(
            gSuiteTrack.genome,
            galaxyTN,
            printErrors=False,
            printProgress=False,
            renameExistingTracksIfNeeded=False,
            doEncodeId=doEncodeId,
            urlPrefix=urlPrefix)

        trackType = TrackInfo(gSuiteTrack.genome,
                              trackName).trackFormatName.lower()
        hbUri = HbGSuiteTrack.generateURI(trackName=trackName)

        return GSuiteTrack(hbUri,
                           title=gSuiteTrack.title,
                           trackType=trackType,
                           genome=gSuiteTrack.genome,
                           attributes=gSuiteTrack.attributes,
                           comment=gSuiteTrack.comment)
    def createLinkedPointTrack(cls, rsids, isUndirected, trackFn, r2):
        from quick.webtools.clustering.CreateLDTrack import CreateLDTrack
        from quick.application.ExternalTrackManager import ExternalTrackManager

        # Create file for GTrack
        galaxyTN = ExternalTrackManager.constructGalaxyTnFromSuitedFn(trackFn, fileEnding='gtrack', name='ld_graph')
        fn = ExternalTrackManager.extractFnFromGalaxyTN(galaxyTN)
        f = open(fn, 'w')

        # Get LD information and create linked point track
        ldDict = CreateLDTrack.getLDDict(r2)
        expansionDict = CreateLDTrack.getExpansionDict(rsids, ldDict)
        f.write(CreateLDTrack.formatLinkedPointTrack(expansionDict, isUndirected))