def fasta_subset(infileName, outfileName, ids) : if type(ids) != type({}) : import misc ids = misc.list2dict(ids) outfile = open(outfileName, 'w') for rec in fasta_itr(infileName) : if rec.header in ids : outfile.write(str(rec))
def extractLines(fileName, lines) : '''extract the lines given by a list of line numbers in the file''' file = open(fileName) lineDict = misc.list2dict(lines) lineNum = 1 for line in file : if lineNum in lineDict : print line[:-1] lineNum += 1 file.close()
def selectLines(infile, outfile, lines, keepLines = 1) : '''write to outfile the lines in infile whose line number is in the given list of line numbers''' infileHandle = open(infile) outfileHandle = open(outfile, 'w') lineDict = misc.list2dict(lines) lineNum = 0 for line in infileHandle : lineNum += 1 if keepLines == 1 : if lineNum in lineDict : outfileHandle.write(line) else : if lineNum not in lineDict : outfileHandle.write(line)