当前位置: 首页>>代码示例>>C++>>正文


C++ OptionParser::getBool方法代码示例

本文整理汇总了C++中OptionParser::getBool方法的典型用法代码示例。如果您正苦于以下问题:C++ OptionParser::getBool方法的具体用法?C++ OptionParser::getBool怎么用?C++ OptionParser::getBool使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在OptionParser的用法示例。


在下文中一共展示了OptionParser::getBool方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){

	// Create the options
	Options opt;
	
	// Parse the options
	OptionParser OP;
	OP.readArgv(theArgc, theArgv);
	OP.setRequired(opt.required);	
	OP.setDefaultArguments(opt.defaultArgs); // the default argument is the --configfile option

	if (OP.countOptions() == 0){
		cout << "Usage: getSphericalCoordinates conf" << endl;
		cout << endl;
		cout << "\n";
		cout << "pdb PDB\n";
		cout << endl;
		exit(0);
	}

	opt.configFile = OP.getString("configfile");
	
	if (opt.configFile != "") {
		OP.readFile(opt.configFile);
		if (OP.fail()) {
			string errorMessages = "Cannot read configuration file " + opt.configFile + "\n";
			cerr << "ERROR 1111 "<<errorMessages<<endl;
		}
	}

	opt.pdb = OP.getString("pdb");
	if (OP.fail()){
		cerr << "ERROR 1111 no pdb specified."<<endl;
		exit(1111);
	}

	opt.resnum = OP.getInt("resnum");
	if (OP.fail()){
		cerr << "ERRROR 1111 no resnum\n";
		exit(1111);
	}

	opt.chain = OP.getString("chain");
	if (OP.fail()){
		cerr << "ERRROR 1111 no chain\n";
		exit(1111);
	}

	opt.negativeRes = OP.getBool("neg");
        if (OP.fail()){
                opt.negativeRes = false;
        }

        if (opt.negativeRes) {
                opt.resnum = -1*opt.resnum;
        }

	opt.printFrames = OP.getBool("printFrames");
	return opt;
}
开发者ID:jwillis0720,项目名称:msl_mirror,代码行数:60,代码来源:getSphericalCoordinates.cpp

示例2: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){

    // Create the options
    Options opt;
    

    // Parse the options
    OptionParser OP;
    OP.readArgv(theArgc, theArgv);
    OP.setRequired(opt.required);    
    OP.setAllowed(opt.optional);
    //    OP.setShortOptionEquivalent(opt.equivalent);
    OP.setDefaultArguments(opt.defaultArgs); // the default argument is the --configfile option
    OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"


    if (OP.countOptions() == 0){
        cout << "Usage:" << endl;
        cout << endl;
        cout << "pdb PDB"<<endl;
        exit(0);
    }

    opt.pdb = OP.getString("pdb");
    if (OP.fail()){
	    cerr << "ERROR 1111 no pdb file"<<endl;
    }
    
    opt.tol = OP.getDouble("tol");
    if (OP.fail()){
      opt.tol = 1.88;
      cerr << "WARNING tol set to default: "<<opt.tol<<endl;
    }

    opt.interfaceOnly = OP.getBool("interfaceOnly");
    if (OP.fail()){
      opt.interfaceOnly = false;
    }

    opt.atomPair = OP.getString("atomPair");
    if (OP.fail()){
      opt.atomPair = "";
    }
    opt.elementPair = OP.getString("elementPair");
    if (OP.fail()){
      opt.elementPair = "";
    }
    opt.printAll = OP.getBool("printAll");
    if (OP.fail()){
      opt.printAll = false;
    }
    return opt;
}
开发者ID:Suncuss,项目名称:mslib,代码行数:53,代码来源:findClashes.cpp

示例3: main

int main(int argc, char *argv[]){
	vector<string> required;
	required.push_back("flatfile");
	
	vector<string> optional;
	optional.push_back("reread");
	optional.push_back("outfile");
	OptionParser OP;
	OP.readArgv(argc,argv);
	OP.setRequired(required);
	OP.setAllowed(optional);

	string flatfile = OP.getString("flatfile");
	if (OP.fail()){
		cout << "Usage: ./testMolecularInterfaceDatabase --flatfile FLAT.mid [ --outfile mid.ckpt --reread --archive text ]\n";
		exit(0);
	}

	string outfile = OP.getString("outfile");
	if (OP.fail()){
		outfile = "mid.ckpt";
	}

	string archive = OP.getString("archive");
	if (OP.fail()){
		archive = "text";
	}
	
	// Create from flat file
	MIDReader mread;
	mread.open(flatfile);
	mread.read(archive);
	
	MoleculeInterfaceDatabase &mid = mread.getMoleculeInterfaceDatabase();
	cout << "MID size: "<<mid.size()<<endl;
	
	// Write out to binary 
	mid.setArchiveType(archive);
	mid.save_checkpoint(outfile);

	// Re-read if option set..
	bool reread = OP.getBool("reread");
	if (!OP.fail() && reread){
		cout << "Re-reading binary MolecularInterfaceDatabase.\n";
		Timer t;
		double start = t.getWallTime();
		MoleculeInterfaceDatabase mid2;
		mid2.setArchiveType(archive);
		mid2.load_checkpoint(outfile);
		cout << "MID2 size: "<<mid2.size()<<" read in "<<(t.getWallTime() - start)<<" seconds."<<endl;
	}
}
开发者ID:Suncuss,项目名称:mslib,代码行数:52,代码来源:testMolecularInterfaceDatabase.cpp

示例4: parseOptions


//.........这里部分代码省略.........
	opt.equivalent.back().push_back("help");

	opt.defaultArgs.push_back("configfile");


	//OptionParser OP(_argc, _argv);
	OptionParser OP;
	OP.setShortOptionEquivalent(opt.equivalent);
	OP.readArgv(_argc, _argv);
	OP.setDefaultArguments(opt.defaultArgs); // a pdb file value can be given as a default argument without the --pdbfile option
	OP.setRequired(opt.required);
	OP.setAllowed(opt.allowed);
	OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"
	if (OP.countOptions() == 0) {
		usage();
		exit(0);
	}
	opt.configfile = OP.getString("configfile");
	if (opt.configfile != "") {
		OP.readFile(opt.configfile);
		if (OP.fail()) {
			opt.errorFlag = true;
			opt.errorMessages += "Cannot read configuration file " + opt.configfile + "\n";
			exit(1);
		}
	}

	/*****************************************
	 *  VERSION AND HELP
	 *
	 *  --version or -v arguments print the version number
	 *  --help prints the usage and help
	 *****************************************/
	opt.version = OP.getBool("version");
	//if (OP.fail()) {
	//	opt.version = OP.getBool("v");
	//}

	if (opt.version) {
		version();
		exit(0);
	}

	opt.help = OP.getBool("help");
//	if (OP.fail()) {
//		opt.help = OP.getBool("h");
//	}

	if (opt.help) {
		help(defaults);
		exit(0);
	}

	/*****************************************
	 *  CHECK THE GIVEN OPTIONS
	 *****************************************/
	if (!OP.checkOptions()) {
		opt.errorFlag = true;
		opt.OPerrors = OP.getErrors();
		return opt;
	}
	opt.errorFlag = false;
	opt.warningFlag = false;

	/*****************************************
	 *  OUTPUT DIR AND FILES
开发者ID:Suncuss,项目名称:mslib,代码行数:67,代码来源:coiledCoilBuilder.cpp

示例5: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){
  Options opt;

  OptionParser OP;


  OP.setRequired(opt.required);
  OP.setAllowed(opt.optional);
  OP.setDefaultArguments(opt.defaultArgs); // a pdb file value can be given as a default argument without the --pdbfile option
  OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"
  OP.readArgv(theArgc, theArgv);

  if (OP.countOptions() == 0){
    cout << "Usage:" << endl;
    cout << endl;
    cout << "querySeqCons--fasta FASTA_FILE --seq 'NAME,STARTPOS,ENDPOS' \n";
    exit(0);
  }


  opt.configfile = OP.getString("configfile");
  if (opt.configfile != "") {
    OP.readFile(opt.configfile);
    if (OP.fail()) {
      cerr << "ERROR couldn't read : "<<opt.configfile<<endl;
      exit(1);
    }
  }

  opt.fasta = OP.getString("fasta");
  if (OP.fail()){
    cerr << "ERROR 1111 fasta not specified.\n";
    exit(1111);
  }



  opt.refAACounts = OP.getString("refAACounts");
  if (OP.fail()){
    opt.refAACounts = "";
  }
  opt.logodds = OP.getBool("logodds");
  if (OP.fail()){
    opt.logodds = false;
  }

  opt.seq = OP.getString("seq");
  if (OP.fail()){
    opt.seq = "";
  }

  if (opt.seq == ""){

    opt.refSeqName = OP.getString("refSeqName");
    if (OP.fail()){
      cerr << "WARNING 1111 refSeqName not specified.\n";
      opt.refSeqName = "";
    } 

    opt.pdb = OP.getString("pdb");
    if (OP.fail()){
      cerr << "ERROR 1111 pdb not specified.\n";
      exit(1111);
    }

    opt.sel = OP.getString("sel");
    if (OP.fail()){
      cerr << "ERROR 1111 sel not specified.\n";
      exit(1111);
    }

    opt.refSeqOffset = OP.getInt("refSeqOffset");
    if (OP.fail()){
      cerr << "WARNING 1111 refSeqOffset not specified.\n";
      opt.refSeqOffset = 0;
    }

    opt.applyToAllChains = OP.getBool("applyToAllChains");
    if (OP.fail()){
      opt.applyToAllChains = false;
    }

    opt.regexForFasta = OP.getString("regexForFasta");
    if (OP.fail()){
      opt.regexForFasta = "";
    }

    opt.outPdb = OP.getString("outPdb");
    if (OP.fail()){
      opt.outPdb = MslTools::stringf("%s_seqcons.pdb",MslTools::getFileName(opt.pdb).c_str());
      cerr << "WARNING --outPdb is set to : "<<opt.outPdb<<endl;
    }

    string type = OP.getString("type");
    if (OP.fail()){
      cerr << "WARNING type set to default: freq"<<endl;
      opt.valueType = Options::freq;
    } else {

      map<string,int>::iterator it = opt.valueMap.find(type);
//.........这里部分代码省略.........
开发者ID:Suncuss,项目名称:mslib,代码行数:101,代码来源:querySeqCons.cpp

示例6: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){

    // Create the options
    Options opt;
    

    // Parse the options
    OptionParser OP;
    OP.readArgv(theArgc, theArgv);
    OP.setRequired(opt.required);    
    OP.setAllowed(opt.optional);
    //    OP.setShortOptionEquivalent(opt.equivalent);
    OP.setDefaultArguments(opt.defaultArgs); // the default argument is the --configfile option
    OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"


    if (OP.countOptions() == 0){
        cout << "Usage:" << endl;
        cout << endl;
        cout << "mutate CONF\n";
        exit(0);
    }

    opt.configfile = OP.getString("configfile");
    
    if (opt.configfile != "") {
        OP.readFile(opt.configfile);
        if (OP.fail()) {
            string errorMessages = "Cannot read configuration file " + opt.configfile + "\n";
            cerr << "ERROR 1111 "<<errorMessages<<endl;
        }
    }

    if (OP.getBool("help")){

	    cout << "# PDB "<<endl;	
	    cout << "pdb foo.pdb"<<endl<<endl;
	    cout << "# Output pdb" <<endl;
	    cout << "outpdb /tmp/out"<<endl<<endl;
	    cout << "# Rotamer library"<<endl;
	    cout << "rotlib /library/rotlib/balanced/rotlib-balanced-200.txt"<<endl<<endl;
	    cout << "# Position"<<endl;
	    cout << "position B,2"<<endl;
	    cout << "# New residue"<<endl;
	    cout << "newRes PHE"<<endl<<endl;
	    cout << "# Number of rotamers"<<endl;
	    cout << "numRot 10"<<endl<<endl;
	    exit(1);
    }


    opt.pdb = OP.getString("pdb");
    if (OP.fail()){
	    cerr << "ERROR 1111 no pdb file"<<endl;
    }

    opt.rotlib = OP.getString("rotlib");
    if (OP.fail()){
	    cerr << "ERROR 1111 no rotlib file"<<endl;
	    exit(1111);
    }

    opt.position = OP.getString("position");
    if (OP.fail()){
	    cerr << "ERROR 1111 no position"<<endl;
	    exit(1111);
    }
    opt.newRes = OP.getString("newRes");
    if (OP.fail()){
	    cerr << "ERROR 1111 no new residue (newRes)"<<endl;
	    exit(1111);
    }

    opt.outpdb = OP.getString("outpdb");
    if (OP.fail()){
	    opt.outpdb = "/tmp/out";
	    cerr << "WARNING no outpdb file specifed will write to: "<<opt.outpdb<<endl;
    }

    opt.numRot = OP.getInt("numRot");
    if (OP.fail()){
	    cerr << "numRot defaults to 10"<<endl;
	    opt.numRot = 10;
    }
    opt.debug = OP.getBool("debug");
    if (OP.fail()){
	    opt.debug = false;
    }


    
    return opt;
}
开发者ID:Suncuss,项目名称:mslib,代码行数:93,代码来源:mutate.cpp

示例7: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){
	// Create the options
	Options opt;

	// Parse the options
	OptionParser OP;
	OP.readArgv(theArgc, theArgv);
	OP.setRequired(opt.required);	
	OP.setDefaultArguments(opt.defaultArgs); // the default argument is the --configfile option


	if (OP.countOptions() == 0){
		cout << "Usage: designCheck " << endl;
		cout << endl;
		cout << "\n";
		cout << "pdb PDB\n";
		cout << endl;
		exit(0);
	}

	opt.pdb = OP.getString("pdb");
	if (OP.fail()){
		cerr << "ERROR 1111 no pdb specified."<<endl;
		exit(1111);
	}

	opt.prosite = OP.getString("prosite");
	if (OP.fail()){
	  opt.prosite = SYSENV.getEnv("MSL_PROSITE");
	  if (opt.prosite == "UNDEF"){
	    cerr << "ERROR 1111 prosite undefined"<<endl;
	   exit(1111);
	  } else {
	    cerr << "WARNING prosite defaulted to: "<<opt.prosite<<endl;
	  }
	}
	opt.ref = OP.getString("ref");

	opt.topfile = OP.getString("topfile");
	if (OP.fail()){
	    opt.topfile = SYSENV.getEnv("MSL_CHARMM_TOP");
	    if (opt.topfile == "UNDEF"){
	      cerr << "ERROR 1111 topfile not defined\n";
	      exit(1111);
	    } else {
	      cerr << "WARNING topfile defaulted to: "<<opt.topfile<<endl;
	    }
	}

	opt.parfile = OP.getString("parfile");
	if (OP.fail()){
		opt.parfile = SYSENV.getEnv("MSL_CHARMM_PAR");
		if (opt.parfile == "UNDEF"){
		  cerr << "ERROR 1111 parfile not defined\n";
		  exit(1111);
		}else {
		  cerr << "WARNING parfile defaulted to: "<<opt.parfile<<endl;
		}
	}

	opt.hbondfile = OP.getString("hbondfile");
	if (OP.fail()){
		opt.hbondfile = SYSENV.getEnv("MSL_HBOND_PAR");
		if (opt.hbondfile == "UNDEF"){
		  cerr << "WARNING 1111 hbondfile not defined - not building hydrogen bond interactions\n";
		  opt.hbondfile = "";
		}else {
		  cerr << "WARNING hbondfile defaulted to: "<<opt.hbondfile<<endl;
		}
	}


	opt.baselinefile = OP.getString("baselinefile");
	if (OP.fail()){
		opt.baselinefile = "";
		cerr << "WARNING no baselinefile specified " <<endl;
	}

	opt.dielectric = OP.getDouble("dielectric");
	if (OP.fail()){
	  opt.dielectric = 80;
	}

	opt.distanceDependentElectrostatics = OP.getBool("distanceDependentElectrostatics");
	if (OP.fail()){
	  opt.distanceDependentElectrostatics = false;
	}

	opt.vdwScale = OP.getDouble("vdwScale");
	if (OP.fail()){
	  opt.vdwScale = 1.0;
	}

	opt.cuton = OP.getDouble("cuton");
	if (OP.fail()){
	  opt.cuton = 9.0;
	}
	opt.cutoff = OP.getDouble("cutoff");
	if (OP.fail()){
	  opt.cutoff = 15.0;
//.........这里部分代码省略.........
开发者ID:Suncuss,项目名称:mslib,代码行数:101,代码来源:designCheck.cpp

示例8: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){
  Options opt;

  OptionParser OP;


  OP.setRequired(opt.required);
  OP.setAllowed(opt.optional);
  OP.setDefaultArguments(opt.defaultArgs); // a pdb file value can be given as a default argument without the --pdbfile option
  OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"
  OP.readArgv(theArgc, theArgv);

  if (OP.countOptions() == 0){
    cout << "Usage:" << endl;
    cout << endl;
    cout << "addSequenceConservation --pdb PDB --fasta FASTA_FILE --refCounts REF_COUNTS_FILE\n";
    exit(0);
  }


  opt.configfile = OP.getString("configfile");
  if (opt.configfile != "") {
    OP.readFile(opt.configfile);
    if (OP.fail()) {
      cerr << "ERROR couldn't read : "<<opt.configfile<<endl;
      exit(1);
    }
  }

  opt.fasta = OP.getString("fasta");
  if (OP.fail()){
    cerr << "ERROR 1111 fasta not specified.\n";
    exit(1111);
  }

  opt.refSeqName = OP.getString("refSeqName");
  if (OP.fail()){
    cerr << "WARNING 1111 refSeqName not specified.\n";
    opt.refSeqName = "";
  } 

  opt.seq = OP.getString("seq");
  if (OP.fail()){
    opt.seq = "";
  }

  if (opt.seq == ""){
    opt.pdb = OP.getString("pdb");
    if (OP.fail()){
      cerr << "ERROR 1111 pdb not specified.\n";
      exit(1111);
    }


    opt.refAACounts = OP.getString("refAACounts");
    if (OP.fail()){
      cerr << "ERROR 1111 refAACounts not specified.\n";
      exit(1111);
    }

    opt.sel = OP.getString("sel");
    if (OP.fail()){
      cerr << "ERROR 1111 sel not specified.\n";
      exit(1111);
    }




    opt.refSeqOffset = OP.getInt("refSeqOffset");
    if (OP.fail()){
      cerr << "WARNING 1111 refSeqOffset not specified.\n";
      opt.refSeqOffset = 0;
    }
    opt.freq = OP.getBool("freq");
    if (OP.fail()){
      opt.freq = false;
    }

    opt.applyToAllChains = OP.getBool("applyToAllChains");
    if (OP.fail()){
      opt.applyToAllChains = false;
    }

    opt.regexForFasta = OP.getString("regexForFasta");
    if (OP.fail()){
      opt.regexForFasta = "";
    }

    opt.outPdb = OP.getString("outPdb");
    if (OP.fail()){
      opt.outPdb = MslTools::stringf("%s_seqcons.pdb",MslTools::getFileName(opt.pdb).c_str());
      cerr << "WARNING --outPdb is set to : "<<opt.outPdb<<endl;
    }

  }



  return opt;
//.........这里部分代码省略.........
开发者ID:Suncuss,项目名称:mslib,代码行数:101,代码来源:addSequenceConservation.cpp

示例9: parseOptions

Options parseOptions(int _argc, char * _argv[], Options defaults) {

    /******************************************
     *  Pass the array of argument and the name of
     *  a configuration file to the ArgumentParser
     *  object.  Then ask for the value of the argument
     *  and collect error and warnings.
     *
     *  This function returns a Options structure
     *  defined at the head of this file
     ******************************************/

    Options opt;

    /******************************************
     *  Set the allowed and required options:
     *
     *  Example of configuartion file:
     *
     ******************************************/
    vector<string> required;
    vector<string> allowed;

    opt.required.push_back("pdb");
    opt.required.push_back("type");
    opt.required.push_back("atomNames");
    opt.required.push_back("value");
    opt.allowed.push_back("outputPdb");
    //opt.allowed.push_back("outputdir");
    opt.allowed.push_back("configfile");
    opt.allowed.push_back("version"); // --version
    opt.allowed.push_back("v"); // -v is equivalent to --version
    opt.allowed.push_back("help"); // --help
    opt.allowed.push_back("h"); // -h is equivalent to --help

    opt.equivalent.push_back(vector<string>());
    opt.equivalent.back().push_back("v");
    opt.equivalent.back().push_back("version");
    opt.equivalent.push_back(vector<string>());
    opt.equivalent.back().push_back("h");
    opt.equivalent.back().push_back("help");

    opt.defaultArgs.push_back("configfile");


    //OptionParser OP(_argc, _argv);
    OptionParser OP;
    OP.setShortOptionEquivalent(opt.equivalent);
    OP.readArgv(_argc, _argv);
    OP.setDefaultArguments(opt.defaultArgs); // a pdb file value can be given as a default argument without the --pdbfile option
    OP.setRequired(opt.required);
    OP.setAllowed(opt.allowed);
    OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"
    if (OP.countOptions() == 0) {
        usage();
        exit(0);
    }
    opt.configfile = OP.getString("configfile");
    if (opt.configfile != "") {
        OP.readFile(opt.configfile);
        if (OP.fail()) {
            opt.errorFlag = true;
            opt.errorMessages += "Cannot read configuration file " + opt.configfile + "\n";
            exit(1);
        }
    }

    /*****************************************
     *  VERSION AND HELP
     *
     *  --version or -v arguments print the version number
     *  --help prints the usage and help
     *****************************************/
    opt.version = OP.getBool("version");
    //if (OP.fail()) {
    //	opt.version = OP.getBool("v");
    //}

    if (opt.version) {
        version();
        exit(0);
    }

    opt.help = OP.getBool("help");
//	if (OP.fail()) {
//		opt.help = OP.getBool("h");
//	}

    if (opt.help) {
        help(defaults);
        exit(0);
    }

    /*****************************************
     *  CHECK THE GIVEN OPTIONS
     *****************************************/
    if (!OP.checkOptions()) {
        opt.errorFlag = true;
        opt.OPerrors = OP.getErrors();
        return opt;
//.........这里部分代码省略.........
开发者ID:Suncuss,项目名称:mslib,代码行数:101,代码来源:setConformation.cpp

示例10: parseOptions

Options parseOptions(int _argc, char * _argv[], Options defaults) {

	/******************************************
	 *  Pass the array of argument and the name of
	 *  a configuration file to the ArgumentParser
	 *  object.  Then ask for the value of the argument
	 *  and collect error and warnings.
	 *
	 *  This function returns a Options structure
	 *  defined at the head of this file 
	 ******************************************/
	
	Options opt;

	/******************************************
	 *  Set the allowed and required options:
	 *
	 *  Example of configuartion file:
	 *  
	 ******************************************/
	vector<string> required;
	vector<string> allowed;

	opt.required.push_back("pdbFile");
	opt.required.push_back("helicalAxisPdbFile");
	opt.required.push_back("output");

	opt.required.push_back("xShiftStart");
	opt.required.push_back("xShiftEnd");
	opt.required.push_back("xShiftSteps");

	opt.required.push_back("zShiftAStart");
	opt.required.push_back("zShiftAEnd");
	opt.required.push_back("zShiftASteps");

	opt.required.push_back("zShiftBStart");
	opt.required.push_back("zShiftBEnd");
	opt.required.push_back("zShiftBSteps");

	opt.required.push_back("axialRotAStart");
	opt.required.push_back("axialRotAEnd");
	opt.required.push_back("axialRotASteps");

	opt.required.push_back("axialRotBStart");
	opt.required.push_back("axialRotBEnd");
	opt.required.push_back("axialRotBSteps");

	opt.required.push_back("crossingAngleStart");
	opt.required.push_back("crossingAngleEnd");
	opt.required.push_back("crossingAngleSteps");

	//opt.required.push_back("rotCount");

	opt.required.push_back("topFile");
	opt.required.push_back("parFile");
	opt.required.push_back("solvFile");
	opt.required.push_back("hBondFile");

	//opt.equivalent.push_back(vector<string>());
	//opt.equivalent.back().push_back("v");
	//opt.equivalent.back().push_back("version");
	//opt.equivalent.push_back(vector<string>());
	//opt.equivalent.back().push_back("h");
	//opt.equivalent.back().push_back("help");

	//opt.defaultArgs.push_back("configfile");


	//OptionParser OP(_argc, _argv);
	OptionParser OP;
	OP.setShortOptionEquivalent(opt.equivalent);
	OP.readArgv(_argc, _argv);
	OP.setDefaultArguments(opt.defaultArgs); // a pdb file value can be given as a default argument without the --pdbfile option
	OP.setRequired(opt.required);
	OP.setAllowed(opt.allowed);
	OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"
	if (OP.countOptions() == 0) {
		usage();
		exit(0);
	}
	opt.configfile = OP.getString("configfile");
	if (opt.configfile != "") {
		OP.readFile(opt.configfile);
		if (OP.fail()) {
			opt.errorFlag = true;
			opt.errorMessages += "Cannot read configuration file " + opt.configfile + "\n";
			exit(1);
		}
	}

	/*****************************************
	 *  VERSION AND HELP
	 *
	 *  --version or -v arguments print the version number
	 *  --help prints the usage and help
	 *****************************************/
	opt.version = OP.getBool("version");
	//if (OP.fail()) {
	//	opt.version = OP.getBool("v");
	//}
//.........这里部分代码省略.........
开发者ID:Suncuss,项目名称:mslib,代码行数:101,代码来源:genHeteroUniverse.cpp

示例11: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){
	Options opt;

	OptionParser OP;

	OP.readArgv(theArgc, theArgv);
	OP.setRequired(opt.required);
	OP.setAllowed(opt.optional);

	if (OP.countOptions() == 0){
		cout << "Usage:" << endl;
		cout << endl;
		cout << "multiSearchDM --inputPDB PDB --pdbList LIST --searchCriteria SEARCH_STRING --windowSize NUM [ --numberOfIterations NUM --allowIntraChainCompare  --likenessTolernace TOL --alignPdbs --debug ]\n";
		cout << endl<<"\tsearchCriteria can be:\n";
		cout << "\tstandard       - sum of the diff. for every item between two MatrixWindows.\n";
		cout << "\tdiagnol        - sum of the diff. for the diagnol (top left-bottom right) between two MatrixWindows.\n";
		cout << "\tdoubleDiagnol  - sum of the diff. for both diagnols between two MatrixWindows.\n";
		cout << "\tminDistance    - sum of the diff. between the minimal distance for each row,col of the given MatrixWindows.\n";
		cout << "\tminDistanceRow - sum of the diff. between the minimal distance for each row of the given MatrixWindows.\n";
		exit(0);
	}

	opt.inputPDB = OP.getString("inputPDB");
	if (OP.fail()){
		cerr << "ERROR 1111 inputPDB not specified.\n";
		exit(1111);
	}

	opt.pdbList = OP.getString("pdbList");
	if (OP.fail()){
		cerr << "ERROR 1111 pdbList not specified.\n";
		exit(1111);
	}

	opt.searchCriteria = OP.getString("searchCriteria");
	if (OP.fail()){
		cerr <<"ERROR 1111 searchCriteria not specified."<<endl;
		exit(1111);
	}

	opt.windowSize = OP.getInt("windowSize");
	if (OP.fail()){
		cerr << "ERROR 1111 windowSize not specified."<<endl;
		exit(1111);
	}

	opt.numberOfIterations = OP.getInt("numberOfIterations");
	if (OP.fail()){
		opt.numberOfIterations = 1;
	}

	opt.intraChainCompare = OP.getBool("allowIntraChainCompare");
	if (OP.fail()){
		opt.intraChainCompare = false;
	}


	opt.likenessTolerance = OP.getDouble("likenessTolerance");
	if (OP.fail()){
		opt.likenessTolerance = MslTools::doubleMax;
	}

	opt.alignPdbs         = OP.getBool("alignPdbs");
	if (OP.fail()){
		opt.alignPdbs = false;
	}

	opt.rmsdTol   = OP.getDouble("rmsdTol");
	if (OP.fail()) {
		opt.rmsdTol = 2.0;
	}


	opt.debug = OP.getBool("debug");
	if (OP.fail()){
		opt.debug = false;
	}


	return opt;
}
开发者ID:Suncuss,项目名称:mslib,代码行数:81,代码来源:multiSearchDM.withbinary.cpp

示例12: setupOptions


//.........这里部分代码省略.........
    for (uint i = 0; i < opt.optional.size();i++){
      cout <<"O  --"<<opt.optional[i]<<"  "<<endl;
    }
    cout << endl;
    exit(0);
  }



  opt.pdb = OP.getString("pdb");
  if (OP.fail()){
    cerr << "ERROR 1111 pdb not specified.\n";
    exit(1111);
  }
  opt.sb_prop_table = OP.getString("sb_prop_table");
  if (OP.fail()){
    opt.sb_prop_table = SYSENV.getEnv("MSL_SB_PROP_TABLE"); 
    cout << "SB_PROP_TABLE: "<<opt.sb_prop_table<<endl;
    if (opt.sb_prop_table == "UNDEF"){
      std::cerr << "ERROR 1111 no sb_prop_table specified."<<std::endl;	
      exit(1111);
    } else {
      if (MslTools::fileExists(opt.sb_prop_table)){
	cerr << "WARNING sb_prop_table defaulted to: "<<opt.sb_prop_table<<endl;
      } else {
	std::cerr << "ERROR 1111 no sb_prop_table specified and couldn't find default one: "<<opt.sb_prop_table<<std::endl;	
	exit(1111);	
      }
      
    }

  }

  opt.topfile = OP.getString("topfile");
  if (OP.fail()){
    opt.topfile = SYSENV.getEnv("MSL_CHARMM_TOP");
    cerr << "WARNING: charmmtopfile not specified, using " << opt.topfile << "\n";
  }
  if (!MslTools::fileExists(opt.topfile)){
    cerr << "ERROR 1111 CHARMM TOPFILE DOESN'T EXIST: "<<opt.topfile<<endl;
    exit(1111);
  }

  opt.parfile = OP.getString("parfile");
  if (OP.fail()){
    opt.parfile = SYSENV.getEnv("MSL_CHARMM_PAR");
    cerr <<"WARNING charmmparfile not specified, using " << opt.parfile << "\n";

  }
  if (!MslTools::fileExists(opt.parfile)){
    cerr << "ERROR 1111 CHARMM parFILE DOESN'T EXIST: "<<opt.parfile<<endl;
    exit(1111);
  }
  opt.rotlib = OP.getString("rotlib");
  if (OP.fail()){
    opt.rotlib = SYSENV.getEnv("MSL_ROTLIB");
    cerr << "WARNING rotlib not specified, using " << opt.rotlib << "\n";
  }

  if (!MslTools::fileExists(opt.rotlib)){
    cerr << "ERROR 1111 rotamer library DOESN'T EXIST: "<<opt.rotlib<<endl;
    exit(1111);
  }

  opt.numStructuralModels = OP.getInt("numStructuralModels");
  if (OP.fail()){
    opt.numStructuralModels = 10;
  }
  opt.numSequenceModels   = OP.getInt("numSequenceModels");
  if (OP.fail()){
    opt.numSequenceModels = 30;
  }
  opt.numMCcycles  = OP.getInt("numMCcycles");
  if (OP.fail()){
    opt.numMCcycles = 100;
  }
  opt.startMCtemp  = OP.getDouble("startMCtemp");
  if (OP.fail()){
    opt.startMCtemp = 100.0;
  }
  opt.endMCtemp    = OP.getDouble("endMCtemp");
  if (OP.fail()){
    opt.endMCtemp = 1.0;
  }

  opt.scoreOnly = OP.getBool("scoreOnly");

  opt.selectPositions  = OP.getString("selectPositions");
  if (OP.fail()){
    opt.selectPositions = "";
  }

  opt.percentSasa  = OP.getDouble("percentSasa");
  if (OP.fail()){
    opt.percentSasa = 0.4;
  }

  MSLOUT.stream() << "Options:\n"<<OP<<endl;
  return opt;
}
开发者ID:Suncuss,项目名称:mslib,代码行数:101,代码来源:resurfaceSaltBridges.cpp

示例13: setupOptions

Options setupOptions(int theArgc, char * theArgv[]){

    // Create the options
    Options opt;
    

    // Parse the options
    OptionParser OP;
    OP.readArgv(theArgc, theArgv);
    OP.setRequired(opt.required);    
    OP.setAllowed(opt.optional);
    //    OP.setShortOptionEquivalent(opt.equivalent);
    OP.setDefaultArguments(opt.defaultArgs); // the default argument is the --configfile option
    OP.autoExtendOptions(); // if you give option "solvat" it will be autocompleted to "solvationfile"


    if (OP.countOptions() == 0){
        cout << "Usage:" << endl;
        cout << endl;
        cout << "fillInSideChains CONF\n";
        exit(0);
    }

    opt.configfile = OP.getString("configfile");
    
    if (opt.configfile != "") {
        OP.readFile(opt.configfile);
        if (OP.fail()) {
            string errorMessages = "Cannot read configuration file " + opt.configfile + "\n";
            cerr << "ERROR 1111 "<<errorMessages<<endl;
        }
    }

    if (OP.getBool("help")){

	    cout << "# PDB "<<endl;	
	    cout << "pdb foo.pdb"<<endl<<endl;
	    cout << "# Output pdb" <<endl;
	    cout << "outpdb /tmp/out.pdb"<<endl<<endl;
	    cout << "# Rotamer library"<<endl;
	    cout << "rotlib /library/rotlib/balanced/rotlib-balanced-200.txt"<<endl<<endl;
	    cout << "# CHARMM Topology"<<endl;
	    cout << "topfile /library/charmmTopPar/top_all27_prot_lipid.inp"<<endl<<endl;
	    cout << "# CHARMM Parameter"<<endl;
	    cout << "parfile /library/charmmTopPar/par_all27_prot_lipid.inp"<<endl<<endl;
	    exit(1);
    }


    opt.pdb = OP.getString("pdb");
    if (OP.fail()){
	    cerr << "ERROR 1111 no pdb file"<<endl;
    }

    opt.rotlib = OP.getString("rotlib");
    if (OP.fail()){
	    cerr << "ERROR 1111 no rotlib file"<<endl;
	    
    }

    opt.topfile = OP.getString("topfile");
    if (OP.fail()){
	    cerr << "ERROR 1111 no topfile file"<<endl;
    }
    opt.parfile = OP.getString("parfile");
    if (OP.fail()){
	    cerr << "ERROR 1111 no parfile file"<<endl;
    }

    opt.outpdb = OP.getString("outpdb");
    if (OP.fail()){
	    opt.outpdb = "/tmp/out.pdb";
	    cerr << "WARNING no outpdb file specifed will write to: "<<opt.outpdb<<endl;
    }

    opt.debug = OP.getBool("debug");
    if (OP.fail()){
	    opt.debug = false;
    }


    
    return opt;
}
开发者ID:Suncuss,项目名称:mslib,代码行数:84,代码来源:fillInSideChains.cpp


注:本文中的OptionParser::getBool方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。