def genRandomSeqDbIid(path, lengths): """Generate random reference sequences as SeqDbFasta. Each generated sequence is generated independently""" seqDb = SeqDbFasta(path, save=True) # assert len(set(lengths)) == len(lengths),"Reference lengths must be unique" seqLen = {} for (iIcm, length) in enumerate(lengths): idIcm = iIcm writer = seqDb.fastaWriter(idIcm) seq = randomSeq(length) writer.record(str(idIcm), seq) writer.close() seqDb.finById(idIcm) seqLen[idIcm] = length seqDb.opt.seqLen = seqLen seqDb.save()
from MGT.ImmApp import * from MGT.SeqDbFasta import * seqDbPath = pjoin(options.testDataDir, "seqdb-fasta") jobs = [] opt = Struct() opt.runMode = "inproc" # "batchDep" opt.seqDb = seqDbPath opt.immDb = pabs("test.immdb") seqDb = SeqDbFasta(opt.seqDb) ids = seqDb.getIdList() for id in ids: seqDb.finById(id=id) immIdToSeqIds = dict(((id, [id]) for id in ids)) immIdToSeqIdsFile = pabs("test.immapp.seqids.pkl") dumpObj(immIdToSeqIds, immIdToSeqIdsFile) opt.immIdToSeqIds = immIdToSeqIdsFile opt.mode = "train" ImmApp.fillWithDefaultOptions(opt) # imm = ImmApp(opt=opt) # jobs = imm.run() for (reduceScoresEarly, cwd) in ((1, "imm.test.red_early_1"), (0, "imm.test.red_early_0")): immIds = ImmStore.open(path=opt.immDb, mode="r").listImmIdsWithIdScoreIdent() immIdsFile = pabs("test.immapp.immids.pkl")