raise"Choose only one estimator between MEA or MFE !"
elifopt=="-e"oropt=="--MFE":
ifcount==0:
self.estimator="a"
self.forward_options.append("-e")
count=1
else:
raise"Choose only one estimator between MEA or MFE !"
elifopt=="-v"oropt=="--verbose":
self.forward_options.append("-v")
elifopt=="-n"oropt=="--disable-pseudoknots":
...
...
@@ -346,7 +367,8 @@ class BiorseoInstance:
ifissues:
print("\nUsage:\tYou must provide:\n\t1) a FASTA input file with -i,\n\t2) one module type in { --rna3dmotifs, --carnaval, --3dmotifatlas, --contacts }"
"\n\t3) one module placement method in { --patternmatch, --jar3d, --bayespairing }\n\t4) one scoring function with --func A, B, C or D"
"\n\n\tIf you are not using the Docker image: \n\t5) --modules-path, --biorseo-dir and (--jar3d-exec or --bypdir)")
"\n\t4) one estimator for the second objective with --MFE or --MEA"
"\n\n\tIf you are not using the Docker image: \n\t6) --modules-path, --biorseo-dir and (--jar3d-exec or --bypdir)")
staticcharobj_function_nbr_;// On what criteria do you want to insert motifs ?
staticcharobj_function2_nbr_;// Do you want to use MEA or MFE to determine the best energy score ?
staticuintobj_to_solve_;// What objective do you prefer to solve in mono-objective portions of the algorithm ?
staticdoubleprecision_;// decimals to keep in objective values, to avoid numerical issues. otherwise, solution with objective 5.0000000009 dominates solution with 5.0 =(
staticboolallow_pk_;// Wether we forbid pseudoknots (false) or allow them (true)
@@ -61,6 +61,7 @@ int main(int argc, char* argv[])
boolverbose=false;
floattheta_p_threshold;
charobj_function_nbr='B';
charmea_or_mfe='b';
list<Fasta>f;
ofstreamoutfile;
SecondaryStructurebestSSO1,bestSSO2;
...
...
@@ -80,18 +81,21 @@ int main(int argc, char* argv[])
("jar3dcsv,j",po::value<string>(&motifs_path_name),"A file containing the output of JAR3D's search for motifs in the sequence, as produced by biorseo.py")
("bayespaircsv,b",po::value<string>(&motifs_path_name),"A file containing the output of BayesPairing's search for motifs in the sequence, as produced by biorseo.py")
("first-objective,c",po::value<unsignedint>(&MOIP::obj_to_solve_)->default_value(1),"Objective to solve in the mono-objective portions of the algorithm")
("first-objective,c",po::value<unsignedint>(&MOIP::obj_to_solve_)->default_value(2),"Objective to solve in the mono-objective portions of the algorithm")
("output,o",po::value<string>(&outputName),"A file to summarize the computation results")
("theta,t",po::value<float>(&theta_p_threshold)->default_value(0.001),"Pairing probability threshold to consider or not the possibility of pairing")
("function,f",po::value<char>(&obj_function_nbr)->default_value('B'),"What objective function to use to include motifs: square of motif size in nucleotides like "
"RNA-MoIP (A), light motif size + high number of components (B), site score (C), light motif size + site score + high number of components (D)")
("MFE,e","Use as function for objective 2 MFE (Minimum Free Energy)")
("MEA,a","Use as function for objective 2 MEA (Maximum Expected Accuracy")
("disable-pseudoknots,n","Add constraints forbidding the formation of pseudoknots")
("limit,l",po::value<unsignedint>(&MOIP::max_sol_nbr_)->default_value(500),"Intermediate number of solutions in the Pareto set above which we give up the calculation.")
("verbose,v","Print what is happening to stdout");