[conf.PathConstrainteFile, conf.PathConstrainteFileShape], Alignementfolder, conf.numberofsruct, conf.Temperature, conf.Fastaextenstion, m, b) for filz in GetListFile(path_Fasta, FileExtensionFasta): print filz, "Treatement " startimebig = time.time() rna = FF.Parsefile( os.path.join(path_Fasta, filz + '.' + FileExtensionFasta))[1] Indexe = filz SVMlFile = "DissimilarityMatrix" + conf.numberofsruct listfiles = [filz + state for state in ["NMIA", "1M7", "MSA"]] OutputSamples = 'OutputSamples' + conf.numberofsruct MFESnbrstruct = len( listfiles) # 1 for the case where no constraint is given FF.MergeFiles(OutputSamples, os.path.join(OutputSamples, 'Samples.txt'), listfiles, 1) #endtime=time.time() #print("Sampling done with success in %53f\t"%(endtime-startime)) #!!!!!!!!!!!!! Distance Matrix calculation !!!!!!!!!!! # startime = time.time() print("Distance Matrix generation for % d Structures started " % (int(conf.numberofsruct) * len(listfiles) + MFESnbrstruct)) Redundant = [] Newnumberofsruct = defaultdict(lambda: defaultdict()) #calculate distance SF.DistanceStruct(os.path.join(OutputSamples, 'Samples.txt'), SVMlFile, int(conf.numberofsruct), MFESnbrstruct, listfiles) endtime = time.time()
if str.lower( conf.Sampling) == "true" or not os.path.isdir(OutputSamples): progress.StartTask("Sampling %s structures for each condition" % (conf.SampleSize)) OutputSamples = SP.StructSampling( [conf.PathConstraintsFile, conf.PathConstraintsFileShape], ProbingConditions, int(conf.SampleSize), conf.Temperature, conf.m, conf.b, conf.RNA) progress.EndTask() else: progress.Print("Using existing sample") progress.Print("Probing conditions: %s" % (ProbingConditions)) # Create a global file that contains structures sampled from the list of Probing conditions FF.MergeFiles(OutputSamples, os.path.join(OutputSamples, 'Samples.txt'), ProbingConditions, SP.NUM_HEADER_LINES) # Create a distance matrix file progress.StartTask("Computing dissimilarity matrix") SVMlFile = "DissimilarityMatrix" + conf.SampleSize # Calculate distance and identify redundant structures within the same condition SF.DistanceStruct(os.path.join(OutputSamples, 'Samples.txt'), SVMlFile, int(conf.SampleSize), ProbingConditions) progress.EndTask() ################################# Calculate Conditional Boltzmann probabilities # for each condition, calculate Z over all non redundant structures and return a conditional Boltzmann probability for all structures with null value for redundant ones. progress.StartTask("Computing Boltzmann probabilities") BoltzmannFactor = defaultdict(lambda: defaultdict()) ConditionalBoltzmannProbability = defaultdict(lambda: defaultdict())