def load_confounders(self,confounder_filename): nfileio = FileIO() return nfileio.load_metadata(confounder_filename)
import sys samples_filename = sys.argv[1] class_labels_filename = sys.argv[2] metadata_filename = sys.argv[3] output_filename = sys.argv[4] from pica.Sample import SampleSet, ClassLabelSet from pica.io.FileIO import FileIO from pica.IntegerMapping import IntegerMapping from pica.trainers.cwmi.CWMILibrary import CWMILibrary fileio = FileIO() cwmilibrary = CWMILibrary() metadata = fileio.load_metadata(metadata_filename) samples = fileio.load_samples(samples_filename) classes = fileio.load_classes(class_labels_filename) samples.load_class_labels(classes) confounders = metadata.get_key_list()[1:] outlines = [] header_line = ["phenotype"] header_line.extend(confounders) header_line.append("total") outlines.append("\t".join(header_line)) for class_name in classes.get_classes(): "generate phenotype map"
ClassifierClass = __import__(modulepath, fromlist=(classname,)) classifier = ClassifierClass.__dict__[classname](options.parameters) classifier.set_null_flag("NULL") test_configurations = [TestConfiguration("A",None,trainer,classifier)] #RVF changed (added the last 3 parameters) if ( options.crossval_files ): crossvalidator = CrossValidation(samples,options.parameters,options.folds,options.replicates,test_configurations,False,None,options.target_class,options.output_filename) else: crossvalidator = CrossValidation(samples,options.parameters,options.folds,options.replicates,test_configurations) crossvalidator.crossvalidate() classifications,misclassifications = crossvalidator.get_classification_vector() metadata = None if options.metadata: metadata = fileio.load_metadata(options.metadata) fout = open(options.output_filename,"w") fout.write("who\t%s\tFalse Classifications\tTrue Classifications\tTotal"%(options.target_class)) if metadata: for key in metadata.get_key_list(): fout.write("\t%s"%(key)) fout.write("\n") for who in misclassifications.keys(): fout.write("%s\t%s\t%d\t%d\t%d"%(who,classes[who][options.target_class],misclassifications[who][0],misclassifications[who][1],misclassifications[who][0]+misclassifications[who][1])) if metadata: m = metadata.get(who,{}) for key in metadata.get_key_list(): fout.write("\t%s"%(m.get(key,""))) fout.write("\n") stats = crossvalidator.get_summary_statistics(0)