コード例 #1
0
ファイル: agoCheck.py プロジェクト: cgreer/ResearchScripts
def check_ORNA_in_ago(oFN, oFF, agoFN, clippingAmount = 1):
   
    NX = Nexus(oFN, oFF)
    NX.load(['sequence', 'geneNames'])
    
    #make truncated sequences
    id_sequence = NX.createMap('id', 'sequence')
    if clippingAmount > 0:
        id_sequence = dict( (i, j[clippingAmount:-clippingAmount]) for i,j in id_sequence.items())
   
    #get fastq sequences
    agoF = open(agoFN, 'r')
    agoSeqs = []
    while True:
        fPacket = nextFilePacket(agoF, 4)
        if not fPacket: break
        agoSeqs.append(fPacket[1])
    agoF.close()

    #count for each oRNA
    id_count = {}
    for id, seq in id_sequence.items():
        for agoSeq in agoSeqs:
            if seq in agoSeq:
                id_count[id] = id_count.get(id, 0) + 1

    #out
    totalCount = 0
    for id, count in id_count.items():
        NX.id = id
        print '%s\t%s\t%s' % (id, count, NX.geneNames)
        totalCount += count

    print totalCount
コード例 #2
0
def check_ORNA_in_ago(oFN, oFF, agoFN, clippingAmount=1):

    NX = Nexus(oFN, oFF)
    NX.load(['sequence', 'geneNames'])

    #make truncated sequences
    id_sequence = NX.createMap('id', 'sequence')
    if clippingAmount > 0:
        id_sequence = dict((i, j[clippingAmount:-clippingAmount])
                           for i, j in id_sequence.items())

    #get fastq sequences
    agoF = open(agoFN, 'r')
    agoSeqs = []
    while True:
        fPacket = nextFilePacket(agoF, 4)
        if not fPacket: break
        agoSeqs.append(fPacket[1])
    agoF.close()

    #count for each oRNA
    id_count = {}
    for id, seq in id_sequence.items():
        for agoSeq in agoSeqs:
            if seq in agoSeq:
                id_count[id] = id_count.get(id, 0) + 1

    #out
    totalCount = 0
    for id, count in id_count.items():
        NX.id = id
        print '%s\t%s\t%s' % (id, count, NX.geneNames)
        totalCount += count

    print totalCount
コード例 #3
0
ファイル: snrNewEndo.py プロジェクト: cgreer/ResearchScripts
def updateSimilarSiblings(oFN, oFF, frameLength):

    dataNX = Nexus(oFN, oFF)
    dataNX.load(['sequence', 'siblingSet'])
    oID_sequence = dataNX.createMap('id', 'sequence')
    consolidatedSets = getSimilarORNASets(oID_sequence, frameLength)

    for cSet in consolidatedSets:
        for oID in cSet:
            dataNX.id = oID
            dataNX.siblingSet = list(cSet)

    dataNX.save()
コード例 #4
0
def updateSimilarSiblings(oFN, oFF, frameLength):

    dataNX = Nexus(oFN, oFF)
    dataNX.load(['sequence', 'siblingSet'])
    oID_sequence = dataNX.createMap('id', 'sequence')
    consolidatedSets = getSimilarORNASets(oID_sequence, frameLength)

    for cSet in consolidatedSets:
        for oID in cSet:
            dataNX.id = oID
            dataNX.siblingSet = list(cSet)

    dataNX.save()
コード例 #5
0
def updateTargetIDs(oFN, oFF, aFN, aFF):

    NX = Nexus(oFN, oFF)
    NX.load(['filteredTargets'])

    aNX = Nexus(aFN, aFF)
    aNX.load(['sID'])


    while aNX.nextID():

        NX.id = aNX.sID
        NX.filteredTargets.append(aNX.id)

    NX.save()
コード例 #6
0
def linkTargetIDs(oFN, oFF, aFN, aFF):

    oNX = Nexus(oFN, oFF)
    oNX.load(['filteredTargets'])

    #just give it some blanks
    if os.path.getsize(aFN) == 0:
        while oNX.nextID():
            oNX.filteredTargets = []
        oNX.save()
        return

    aNX = Nexus(aFN, aFF)
    aNX.load(['sID'])

    sID_aIDs = aNX.createMap('sID', 'id', False)

    for sID, aIDs in sID_aIDs.iteritems():
        oNX.id = sID
        oNX.filteredTargets = aIDs

    oNX.save()
コード例 #7
0
ファイル: snrNewEndo.py プロジェクト: cgreer/ResearchScripts
def linkTargetIDs(oFN, oFF, aFN, aFF):

    oNX = Nexus(oFN, oFF)
    oNX.load(['filteredTargets'])

    #just give it some blanks
    if os.path.getsize(aFN) == 0:
        while oNX.nextID():
            oNX.filteredTargets = []
        oNX.save()
        return
    

    aNX = Nexus(aFN, aFF)
    aNX.load(['sID'])

    sID_aIDs = aNX.createMap('sID', 'id', False)
    
    for sID, aIDs in sID_aIDs.iteritems():
        oNX.id = sID
        oNX.filteredTargets = aIDs

    oNX.save()
コード例 #8
0
ファイル: snrNewEndo.py プロジェクト: cgreer/ResearchScripts
def updateNumUFBS(oFN, oFF, aFN, aFF):

    oNX = Nexus(oFN, oFF)
    oNX.load(['filteredTargets', 'numUFBS'])

    #just give it some blanks
    if os.path.getsize(aFN) == 0:
        while oNX.nextID():
            oNX.numUFBS = 0
        oNX.save()
        return
    
    aNX = Nexus(aFN, aFF)
    aNX.load(['sigMask'])

    while oNX.nextID():
        sigMaskSet = set()
        for aID in oNX.filteredTargets:
            aNX.id = aID
            sigMaskSet.add(aNX.sigMask)
        oNX.numUFBS = len(sigMaskSet)

    oNX.save()
コード例 #9
0
def updateNumUFBS(oFN, oFF, aFN, aFF):

    oNX = Nexus(oFN, oFF)
    oNX.load(['filteredTargets', 'numUFBS'])

    #just give it some blanks
    if os.path.getsize(aFN) == 0:
        while oNX.nextID():
            oNX.numUFBS = 0
        oNX.save()
        return

    aNX = Nexus(aFN, aFF)
    aNX.load(['sigMask'])

    while oNX.nextID():
        sigMaskSet = set()
        for aID in oNX.filteredTargets:
            aNX.id = aID
            sigMaskSet.add(aNX.sigMask)
        oNX.numUFBS = len(sigMaskSet)

    oNX.save()