Esempio n. 1
0
 def mergeMatchesOnQueries(inFile, outFile):
     mapFile = "%s.map" % ( inFile )
     PathUtils.convertPathFileIntoMapFileWithQueryCoordsOnly( inFile, mapFile )
     cmd = "mapOp"
     cmd += " -q %s" % ( mapFile )
     cmd += " -m"
     cmd += " 2>&1 > /dev/null"
     exitStatus = os.system( cmd )
     if exitStatus != 0:
         print "ERROR: mapOp returned %i" % ( exitStatus )
         sys.exit(1)
     os.remove( mapFile )
     mergeFile = "%s.merge" % ( mapFile )
     mergeFileHandler = open( mergeFile, "r" )
     outFileHandler = open( outFile, "w" )
     m = Map()
     while True:
         line = mergeFileHandler.readline()
         if line == "":
             break
         m.reset()
         m.setFromString( line, "\t" )
         m.writeAsQueryOfPath( outFileHandler )
     mergeFileHandler.close()
     os.remove( mergeFile )
     outFileHandler.close()
Esempio n. 2
0
 def getDictPerSeqNameFromMapFile( mapFile ):
     dSeqName2Maps = {}
     mapFileHandler = open( mapFile, "r" )
     while True:
         line = mapFileHandler.readline()
         if line == "":
             break
         iMap = Map()
         iMap.setFromString( line, "\t" )
         if not dSeqName2Maps.has_key( iMap.seqname ):
             dSeqName2Maps[ iMap.seqname ] = []
         dSeqName2Maps[ iMap.seqname ].append( iMap )
     mapFileHandler.close()
     return dSeqName2Maps
Esempio n. 3
0
 def getDictPerNameFromMapFile( mapFile ):
     dName2Maps = {}
     mapFileHandler = open( mapFile, "r" )
     while True:
         line = mapFileHandler.readline()
         if line == "":
             break
         iMap = Map()
         iMap.setFromString( line, "\t" )
         if dName2Maps.has_key( iMap.name ):
             if iMap == dName2Maps[ iMap.name ]:
                 continue
             else:
                 msg = "ERROR: in file '%s' two different Map instances have the same name '%s'" % ( mapFile, iMap.name )
                 sys.stderr.write( "%s\n" % ( msg ) )
                 sys.exit(1)
         dName2Maps[ iMap.name ] = iMap
     mapFileHandler.close()
     return dName2Maps
Esempio n. 4
0
 def convertMapFileIntoSetFile( mapFileName, setFileName = "" ):
     if setFileName == "":
         setFileName = "%s.set" % mapFileName
     mapFileHandler = open( mapFileName, "r" )
     setFileHandler = open( setFileName, "w" )
     iMap = Map()
     count = 0
     while True:
         line = mapFileHandler.readline()
         if line == "":
             break
         iMap.setFromString(line)
         count += 1
         iSet = Set()
         iSet.id = count
         iSet.name = iMap.getName()
         iSet.seqname = iMap.getSeqname()
         iSet.start = iMap.getStart()
         iSet.end = iMap.getEnd()
         iSet.write(setFileHandler)
     mapFileHandler.close()
     setFileHandler.close()