def runAnalysis(bam, fasta, blastresults, taxdump, modelOutput, output, tokeep, toremove, binary, target, level):
taxdump, taxidDict = common.parseTaxdump(taxdump, False)
gc.collect()
click.echo("Taxdump parsed, %d taxIDs loaded" % len(taxdump))
contigs = readFasta(fasta)
gc.collect()
click.echo("FASTA loaded, %d contigs returned" % len(contigs))
contigs = readBAM(bam, contigs)
gc.collect()
click.echo("BAM loaded")
contigs, classMap, classList = readBLAST(blastresults,
taxdump, level.lower(), contigs)
gc.collect()
click.echo("BLAST results loaded")
corpus, testdata, features = common.constructCorpus(list(contigs.values()), classMap, binary, target)
gc.collect()
click.echo("Corpus constucted, %d contigs in corpus and %d contigs in test data" % (len(corpus), len(testdata)))
classifier = common.constructModel(corpus, classList, features, modelOutput)
result = common.classifyData(classifier, testdata, classMap)
common.generateOutput(tokeep, toremove, result, contigs.values(), target, output)
评论列表
文章目录