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
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
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()
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()
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()
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()