Example #1
0
void CBDB_TestThreads::Init(void)
{
    SetDiagTrace(eDT_Enable);

    SetDiagPostLevel(eDiag_Warning);
    SetDiagPostFlag(eDPF_File);
    SetDiagPostFlag(eDPF_Line);
    SetDiagPostFlag(eDPF_Trace);


    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext("test_bdb_threads",
                              "test BDB library with threads");

    arg_desc->AddOptionalKey("recs",
                             "recs",
                             "Number of records to load per thread",
                             CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("threads",
                             "threads",
                             "Number of concurrent threads",
                             CArgDescriptions::eInteger);

    SetupArgDescriptions(arg_desc.release());
}
Example #2
0
void CGridCgiSampleApplication::x_SetupArgs()
{
    // Disregard the case of CGI arguments
    SetRequestFlags(CCgiRequest::fCaseInsensitiveArgs);

    // Create CGI argument descriptions class
    //  (For CGI applications only keys can be used)
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "CGI sample application");
        
    // Describe possible cmd-line and HTTP entries
    // (optional)
    arg_desc->AddOptionalKey("message",
                             "message",
                             "Message passed to CGI application",
                             CArgDescriptions::eString,
                             CArgDescriptions::fAllowMultiple);

    arg_desc->AddOptionalKey("Cancel",
                             "Cancel",
                             "Cancel the job",
                             CArgDescriptions::eString);
    
    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #3
0
void CTestNSStorage::Init(void)
{
    // Setup command line arguments and parameters

    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "NetSchedule storage");

    arg_desc->AddPositional("service",
                            "NetCache service name.", CArgDescriptions::eString);

    arg_desc->AddOptionalKey("protocol",
                             "protocol",
                             "NetCache client protocl",
                             CArgDescriptions::eString);
    arg_desc->SetConstraint("protocol",
                            &(*new CArgAllow_Strings(NStr::eNocase),
                              "simple", "persistent")
                            );

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());

//    CONNECT_Init(&GetConfig());

//    SetDiagPostLevel(eDiag_Info);
//    SetDiagTrace(eDT_Enable);
}
Example #4
0
void
CDemoApp::Init()
{
    // Create command-line argument descriptions class
    unique_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "MySQL Sample Application");

    // Describe the expected command-line arguments
    arg_desc->AddKey("S", "server",
                            "Name of the SQL server to connect to",
                            CArgDescriptions::eString);

    arg_desc->AddDefaultKey("U", "username",
                            "User name",
                            CArgDescriptions::eString,
                            "anyone");

    arg_desc->AddDefaultKey("P", "password",
                            "Password",
                            CArgDescriptions::eString,
                            "allowed");

    arg_desc->AddKey("D", "database",
                            "Name of a database",
                            CArgDescriptions::eString);

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
void
CDbapiDriverSampleApp::Init()
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "DBAPI Sample Application");

    // Describe the expected command-line arguments
    arg_desc->AddDefaultKey("S", "server",
                            "Name of the SQL server to connect to",
                            CArgDescriptions::eString,
                            m_DefaultServerName);

    arg_desc->AddDefaultKey("U", "username",
                            "User name",
                            CArgDescriptions::eString,
                            "DBAPI_test");

    arg_desc->AddDefaultKey("P", "password",
                            "Password",
                            CArgDescriptions::eString,
                            "allowed");

    arg_desc->AddDefaultKey("v", "version",
                            "TDS protocol version",
                            CArgDescriptions::eInteger,
                            NStr::IntToString(m_DefaultTDSVersion));

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #6
0
void CLocalFinderApp::Init(void)
{
    // Prepare command line descriptions
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    arg_desc->AddKey("input", "FastaFile",
                     "File containing FASTA-format sequence",
                     CArgDescriptions::eInputFile);

    arg_desc->AddDefaultKey("from", "From",
                            "From",
                            CArgDescriptions::eInteger,
                            "0");

    arg_desc->AddDefaultKey("to", "To",
                            "To",
                            CArgDescriptions::eInteger,
                            "1000000000");

    arg_desc->AddKey("model", "ModelData",
                     "Model Data",
                     CArgDescriptions::eInputFile);

    arg_desc->AddOptionalKey("align", "Alignments",
                            "Alignments",
                            CArgDescriptions::eInputFile);

    arg_desc->AddFlag("rep", "Repeats");


    // Pass argument descriptions to the application
    //

    SetupArgDescriptions(arg_desc.release());
}
Example #7
0
void CThreadedServerApp::Init(void)
{
    CORE_SetLOG(LOG_cxx2c());
    CORE_SetLOCK(MT_LOCK_cxx2c());

    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                             "sample server using thread pools");

    arg_desc->AddKey("port", "N", "TCP port number on which to listen",
                     CArgDescriptions::eInteger);
    arg_desc->SetConstraint("port", new CArgAllow_Integers(0, 0xFFFF));

    arg_desc->AddDefaultKey("threads", "N", "Number of initial threads",
                            CArgDescriptions::eInteger, "5");
    
    arg_desc->AddDefaultKey("maxThreads", "N",
                            "Maximum number of simultaneous threads",
                            CArgDescriptions::eInteger, "10");
    
    arg_desc->AddDefaultKey("queue", "N", "Maximum size of request queue",
                            CArgDescriptions::eInteger, "20");

    {{
        CArgAllow* constraint = new CArgAllow_Integers(1, 999);
        arg_desc->SetConstraint("threads",    constraint);
        arg_desc->SetConstraint("maxThreads", constraint);
        arg_desc->SetConstraint("queue",      constraint);        
    }}

    SetupArgDescriptions(arg_desc.release());
}
Example #8
0
//  --------------------------------------------------------------------------
void CAsn2FastaApp::Init(void)
//  --------------------------------------------------------------------------
{
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(
        GetArguments().GetProgramBasename(),
        "Convert an ASN.1 Seq-entry into a FASTA report",
        false);

    // input
    {{
        // name
        arg_desc->AddOptionalKey("i", "InputFile",
            "Input file name", CArgDescriptions::eInputFile);

        // input file serial format (AsnText\AsnBinary\XML, default: AsnText)
        arg_desc->AddOptionalKey("serial", "SerialFormat", "Input file format",
            CArgDescriptions::eString);
        arg_desc->SetConstraint("serial", &(*new CArgAllow_Strings,
            "text", "binary", "XML"));
        // id
        arg_desc->AddOptionalKey("id", "ID",
            "Specific ID to display", CArgDescriptions::eString);

        // input type:
        arg_desc->AddDefaultKey( "type", "AsnType", "ASN.1 object type",
            CArgDescriptions::eString, "any" );
        arg_desc->SetConstraint( "type",
            &( *new CArgAllow_Strings, "any", "seq-entry", "bioseq", "bioseq-set" ) );

        // filtering options:
        arg_desc->AddFlag("nucs-only", "Only emit nucleotide sequences");
        arg_desc->AddFlag("prots-only", "Only emit protein sequences");
    }}


    // batch processing
    {{
        arg_desc->AddFlag("batch", "Process NCBI release file");
        // compression
        arg_desc->AddFlag("c", "Compressed file");
        // propogate top descriptors
        arg_desc->AddFlag("p", "Propogate top descriptors");

        arg_desc->AddFlag("defline-only",
                          "Only output the defline");
    }}

    // output
    {{
        arg_desc->AddFlag("show-mods", "Show FASTA header mods (e.g. [strain=abc])");

        // name
        arg_desc->AddOptionalKey("o", "OutputFile",
            "Output file name", CArgDescriptions::eOutputFile);
    }}

    SetupArgDescriptions(arg_desc.release());
}
void CBDBEnvKeeperApp::Init(void)
{
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
        "BDB Environment Keeper");

    SetupArgDescriptions(arg_desc.release());
}
Example #10
0
//-------------------------------------------------------------------------
void CWinMaskApplication::Init(void)
{
    HideStdArgs(fHideLogfile | fHideConffile | fHideVersion | fHideDryRun);
    auto_ptr< CArgDescriptions > arg_desc( new CArgDescriptions );

    // Set the program description
    arg_desc->SetUsageContext( GetArguments().GetProgramBasename(),
                               USAGE_LINE );

    CWinMaskConfig::AddWinMaskArgs(*arg_desc);

    // Parse the arguments according to descriptions.
    SetupArgDescriptions(arg_desc.release());
}
Example #11
0
void CBlastDemoApplication::Init(void)
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(), "BLAST demo program");

    arg_desc->AddKey
        ("program", "ProgramName",
         "One of blastn, megablast, disc_megablast, blastp, blastx, tblastn, tblastx, rpsblast",
         CArgDescriptions::eString);

    arg_desc->SetConstraint
        ("program", &(*new CArgAllow_Strings,
                "blastn", "megablast", "disc_megablast", "blastp", "blastx", "tblastn", "tblastx", "rpsblast"));

    arg_desc->AddDefaultKey
        ("db", "DataBase",
         "This is the name of the database",
         CArgDescriptions::eString, "nr");

    arg_desc->AddDefaultKey("in", "Queryfile",
                        "A FASTA file with the query", CArgDescriptions::eInputFile, "stdin");

    arg_desc->AddDefaultKey("parse", "parse", "Parse FASTA defline",
                            CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey("out", "Outputfile",
                        "The output file", CArgDescriptions::eOutputFile, "stdout");

    arg_desc->AddDefaultKey("evalue", "evalue",
                        "E-value threshold for saving hits", CArgDescriptions::eDouble, "0");

    arg_desc->AddDefaultKey("penalty", "penalty", "Penalty score for a mismatch",
                            CArgDescriptions::eInteger, "0");

    arg_desc->AddDefaultKey("reward", "reward", "Reward score for a match",
                            CArgDescriptions::eInteger, "0");

    arg_desc->AddDefaultKey("matrix", "matrix", "Scoring matrix name",
                            CArgDescriptions::eString, "BLOSUM62");

    arg_desc->AddDefaultKey("hitsize", "hitsize", "Hitlist size",
                            CArgDescriptions::eInteger, "100");

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #12
0
void CSeqDBPerfApp::Init()
{
    HideStdArgs(fHideConffile | fHideFullVersion | fHideXmlHelp | fHideDryRun);

    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(), 
                  "CSeqDB performance testing client");

    arg_desc->SetCurrentGroup("BLAST database options");
    arg_desc->AddDefaultKey("db", "dbname", "BLAST database name", 
                            CArgDescriptions::eString, "nr");

    arg_desc->AddDefaultKey("dbtype", "molecule_type",
                            "Molecule type stored in BLAST database",
                            CArgDescriptions::eString, "guess");
    arg_desc->SetConstraint("dbtype", &(*new CArgAllow_Strings,
                                        "nucl", "prot", "guess"));

    arg_desc->SetCurrentGroup("Retrieval options");
    arg_desc->AddFlag("scan_uncompressed", 
                      "Do a full database scan of uncompressed sequence data", true);
    arg_desc->AddFlag("scan_compressed", 
                      "Do a full database scan of compressed sequence data", true);
    arg_desc->AddFlag("get_metadata", 
                      "Retrieve BLAST database metadata", true);
    
    arg_desc->SetDependency("scan_compressed", CArgDescriptions::eExcludes, 
                            "scan_uncompressed");
    arg_desc->SetDependency("scan_compressed", CArgDescriptions::eExcludes, 
                            "get_metadata");
    arg_desc->SetDependency("scan_uncompressed", CArgDescriptions::eExcludes, 
                            "get_metadata"); 

    arg_desc->AddDefaultKey("num_threads", "number", 
                            "Number of threads to use (requires OpenMP)",
                            CArgDescriptions::eInteger, "1");
    arg_desc->SetConstraint("num_threads", new CArgAllow_Integers(0, kMax_Int));
    //arg_desc->AddFlag("one_db_handle", "Build only 1 CSeqDB object?", true);
    //arg_desc->SetDependency("one_db_handle", CArgDescriptions::eRequires, "num_threads");

    arg_desc->SetCurrentGroup("Output configuration options");
    arg_desc->AddDefaultKey("out", "output_file", "Output file name", 
                            CArgDescriptions::eOutputFile, "-");

    SetupArgDescriptions(arg_desc.release());
}
Example #13
0
void CTest::Init(void)
{
    SetDiagPostLevel(eDiag_Error);
    // To see all output, uncomment next line:
    //SetDiagPostLevel(eDiag_Trace);

    // Create command-line argument descriptions
    unique_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Test compression library");
    arg_desc->AddDefaultPositional
        ("lib", "Compression library to test", CArgDescriptions::eString, "all");
    arg_desc->SetConstraint
        ("lib", &(*new CArgAllow_Strings, "all", "z", "bz2", "lzo"));
    SetupArgDescriptions(arg_desc.release());
}
Example #14
0
void CImageTestApp::Init(void)
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Image read/write test application");

    arg_desc->AddDefaultKey("base", "ImageBase",
                            "Base of image name",
                            CArgDescriptions::eString, "test");

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #15
0
void CTestApplication::Init(void)
{
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "LDS test program");

    arg_desc->AddOptionalKey("mklds", "mklds", "Index LDS directory",
                             CArgDescriptions::eString);

    arg_desc->AddOptionalKey("ldsdir", "ldsdir", "Existing LDS directory to use",
                             CArgDescriptions::eString);

    arg_desc->AddExtra(0, kMax_UInt, "IDs to check", CArgDescriptions::eString);

    SetupArgDescriptions(arg_desc.release());
}
void CTest::Init(void)
{
    unique_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Test program for the C Logging API");
    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());

    // Reset environment variables that can affect test output
    putenv((char*)"SERVER_PORT=");
    putenv((char*)"HTTP_NCBI_SID=");
    putenv((char*)"HTTP_NCBI_PHID=");
    putenv((char*)"NCBI_LOG_SESSION_ID=");
    putenv((char*)"NCBI_LOG_HIT_ID=");
    putenv((char*)"NCBI_CONFIG__LOG__FILE=");
}
Example #17
0
void CTestDateApp::Init(void)
{
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "test of CDate_std::GetDate()");
    
    arg_desc->AddKey("f", "format", "date format", CArgDescriptions::eString);
    arg_desc->AddKey("Y", "year",   "year number", CArgDescriptions::eInteger);
    arg_desc->AddOptionalKey("M", "month", "month number",
                             CArgDescriptions::eInteger);
    arg_desc->AddOptionalKey("D", "day", "day number",
                             CArgDescriptions::eInteger);
    arg_desc->AddOptionalKey("S", "season", "season name",
                             CArgDescriptions::eString);
    // hour, minute, second?
    SetupArgDescriptions(arg_desc.release());
}
Example #18
0
void CServerTestApp::Init(void)
{
    CORE_SetLOCK(MT_LOCK_cxx2c());
    CORE_SetLOG(LOG_cxx2c());

    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "CServer test application");

    arg_desc->AddDefaultKey("srvthreads", "N",
                            "Initial number of server threads",
                            CArgDescriptions::eInteger, "5");

    arg_desc->AddDefaultKey("maxsrvthreads", "N",
                            "Maximum number of server threads",
                            CArgDescriptions::eInteger, "10");

    arg_desc->AddDefaultKey("clthreads", "N",
                            "Initial number of client threads",
                            CArgDescriptions::eInteger, "5");

    arg_desc->AddDefaultKey("maxclthreads", "N",
                            "Maximum number of client threads",
                            CArgDescriptions::eInteger, "10");

    arg_desc->AddDefaultKey("requests", "N",
                            "Number of requests to make",
                            CArgDescriptions::eInteger, "100");

    CArgAllow* constraint = new CArgAllow_Integers(1, 999);

    arg_desc->SetConstraint("srvthreads", constraint);
    arg_desc->SetConstraint("maxsrvthreads", constraint);

    arg_desc->SetConstraint("clthreads", constraint);
    arg_desc->SetConstraint("maxclthreads", constraint);
    arg_desc->SetConstraint("requests", constraint);

    arg_desc->AddDefaultKey("maxdelay", "N",
                            "Maximum delay in milliseconds",
                            CArgDescriptions::eInteger, "1000");

    SetupArgDescriptions(arg_desc.release());
}
Example #19
0
void CBamGraphTestApp::Init(void)
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "CArgDescriptions demo program");

    arg_desc->AddOptionalKey("dir", "Dir",
                             "BAM files files directory",
                             CArgDescriptions::eString);
    arg_desc->AddDefaultKey("file", "File",
                            "BAM file name",
                            CArgDescriptions::eString,
                            BAM_FILE);

    arg_desc->AddOptionalKey("ref_label", "RefLabel",
                             "RefSeq id in BAM file",
                             CArgDescriptions::eString);
    arg_desc->AddOptionalKey("seq_id", "SeqId",
                             "RefSeq Seq-id",
                             CArgDescriptions::eString);
    arg_desc->AddFlag("log", "Generate logarithmic graph");
    arg_desc->AddFlag("int", "Generate graph with int values");
    arg_desc->AddOptionalKey("outlier_max", "OutlierMax",
                             "Factor over average to treat as outlier",
                             CArgDescriptions::eDouble);

    arg_desc->AddOptionalKey("bin_size", "BinSize",
                             "Seq-graph bin size",
                             CArgDescriptions::eInteger);
    arg_desc->AddOptionalKey("title", "Title",
                             "Title of generated Seq-graph",
                             CArgDescriptions::eString);

    arg_desc->AddDefaultKey("o", "OutputFile",
                            "Output file of ASN.1",
                            CArgDescriptions::eOutputFile,
                            "-");
    arg_desc->AddFlag("bin", "Write binary ASN.1");

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #20
0
void CTestMultipartCgiApplication::Init()
{
    CCgiApplication::Init();

    SetRequestFlags(CCgiRequest::fCaseInsensitiveArgs);

    unique_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Test of multipart CGI response implementation");
        
    arg_desc->AddDefaultKey("mode", "mode", "Multipart mode",
                            CArgDescriptions::eString, "none");
    arg_desc->SetConstraint
        ("mode",
         &(*new CArgAllow_Strings, "none", "mixed", "related", "replace"));

    SetupArgDescriptions(arg_desc.release());
}
Example #21
0
void CTitleTester::Init(void)
{
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Show a sequence's title", false);

    arg_desc->AddKey("gi", "SeqEntryID", "GI id of the Seq-Entry to examine",
                     CArgDescriptions::eInteger);
    arg_desc->AddKey("in", "GIList", "File listing GIs to look up",
                     CArgDescriptions::eInputFile);
    arg_desc->SetDependency("gi", CArgDescriptions::eExcludes, "in");
    arg_desc->AddFlag("reconstruct", "Reconstruct title");
    arg_desc->AddFlag("allproteins", "Name all proteins, not just the first");
    arg_desc->AddFlag("localannots",
                      "Never use related sequences' annotations");

    SetupArgDescriptions(arg_desc.release());
}
void CTestNetScheduleClient::Init(void)
{
    InitOutputBuffer();

    CONNECT_Init();
    SetDiagPostFlag(eDPF_Trace);
    SetDiagPostLevel(eDiag_Info);

    // Setup command line arguments and parameters

    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "NetSchedule client");

    arg_desc->AddKey("service", "ServiceName",
        "NetSchedule service name (format: host:port or servcie_name)",
        CArgDescriptions::eString);

    arg_desc->AddKey("queue", "QueueName",
        "NetSchedule queue name",
        CArgDescriptions::eString);

    arg_desc->AddOptionalKey("ilen", "InputLength", "Average input length",
                             CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("maxruntime", "MaxRunTime",
            "Maximum run time of this test", CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("input", "InputString", "Input string",
                             CArgDescriptions::eString);

    arg_desc->AddOptionalKey("jobs", "jobs", "Number of jobs to submit",
                             CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey("naff", "AffinityTokens",
        "Number of different affinities", CArgDescriptions::eInteger);


    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #23
0
//  ============================================================================
void CFormatGuessApp::Init(void)
//  ============================================================================
{
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    arg_desc->SetUsageContext
        (GetArguments().GetProgramBasename(),
         "CFormatGuess front end: Guess various file formats");

    //
    //  shared flags and parameters:
    //        
    arg_desc->AddDefaultKey
        ("i", "InputFile",
         "Input File Name or '-' for stdin.",
         CArgDescriptions::eInputFile,
         "-");
         
    arg_desc->AddFlag(
        "canonical-name",
        "Use the canonical name which is the name of the format as "
        "given by the underlying C++ format guesser.");
        
    arg_desc->AddFlag(
        "show-object-type",
        "Make output include the type of the object.   If it cannot be "
        "determined or does not make sense for the given format then it "
        "considers it 'unknown'"
    );
    
    arg_desc->AddDefaultKey(
        "output-format", "OutputFormat",
        "How this program should send the results of its guesses.",
        CArgDescriptions::eString,
        "text"
    );
    arg_desc->SetConstraint("output-format", &(*new CArgAllow_Strings,
                                               "text", "XML"));
    

    SetupArgDescriptions(arg_desc.release());
}
void CTestApplication::Init(void)
{
    // Set error posting and tracing on maximum
    SetDiagTrace(eDT_Enable);
    SetDiagPostFlag(eDPF_All);
    SetDiagPostLevel(eDiag_Info);

    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    
    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(), "Test inter-process locks");
    
    // Specific to multi-process configuration test
    arg_desc->AddDefaultKey("test", "number", "test case number (internal use only)",
                            CArgDescriptions::eInteger, "0");
    arg_desc->AddDefaultKey("lock", "name", "parent's lock (internal use only)",
                            CArgDescriptions::eString, kEmptyStr);
    
    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
void CTestCompartApplication::Init(void)
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "CArgDescriptions demo program");

    arg_desc->AddDefaultKey("i", "InputFile",
                            "File of ASN text Seq-aligns",
                            CArgDescriptions::eInputFile,
                            "-");

    arg_desc->AddDefaultKey("o", "OutputFile",
                            "File of results",
                            CArgDescriptions::eOutputFile,
                            "-");

    arg_desc->AddFlag("allow-intersect",
                      "Permit compartments to contain intersecting alignments "
                      "provided the alignments are consistent");

    arg_desc->AddFlag("allow-intersect-query",
                      "Permit compartments to contain intersecting alignments "
                      "for the query only");

    arg_desc->AddFlag("allow-intersect-subject",
                      "Permit compartments to contain intersecting alignments "
                      "for the subject only");

    arg_desc->AddFlag("allow-intersect-both",
                      "Permit compartments to contain intersecting alignments "
                      "only if both query and subject intersect");

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #26
0
void CTestApplication::Init(void)
{
    CONNECT_Init(&GetConfig());

    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);
    arg_desc->AddDefaultKey("gi_from", "GiFrom",
                            "first GI to fetch",
                            CArgDescriptions::eInt8, "100");
    arg_desc->AddDefaultKey("gi_to", "GiTo",
                            "last GI to fetch",
                            CArgDescriptions::eInt8, "200");
    arg_desc->AddDefaultKey("count", "Count",
                            "number of passes",
                            CArgDescriptions::eInteger, "1");

    // Program description
    string prog_description = "Test id1 reader\n";
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              prog_description, false);

    // Pass argument descriptions to the application
    //
    SetupArgDescriptions(arg_desc.release());
}
Example #27
0
void CVecScreenApp::Init()
{
    HideStdArgs(fHideLogfile | fHideConffile | fHideFullVersion | fHideXmlHelp | fHideDryRun);
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "Vector screening tool, version " +
                              CVecScreenVersion().Print());
    arg_desc->SetCurrentGroup("Input query options");
    arg_desc->AddDefaultKey(kArgQuery, "input_file", 
                     "Input file name",
                     CArgDescriptions::eInputFile, kDfltArgQuery);

    arg_desc->SetCurrentGroup("BLAST database options");
    arg_desc->AddDefaultKey(kArgDb, "dbname", "BLAST database name", 
                            CArgDescriptions::eString, kDefaultVectorDb);

    arg_desc->SetCurrentGroup("Output configuration options");
    arg_desc->AddDefaultKey(kArgOutput, "output_file", "Output file name", 
                            CArgDescriptions::eOutputFile, "-");

    //arg_desc->AddDefaultKey("outfmt", "format",
    arg_desc->AddDefaultKey(kArgOutputFormat, "format",
            "VecScreen results options:\n"
            "  0 = Show alignments pairwise,\n"
            "  1 = Do not show alignments, just contaminated range offsets\n",
            CArgDescriptions::eInteger, 
            NStr::IntToString(kDfltArgOutputFormat));
    arg_desc->SetConstraint(kArgOutputFormat, 
       new CArgAllowValuesBetween(0, CVecscreenRun::CFormatter::eEndValue-1, true));
    // Produce Text output?
    arg_desc->AddFlag("text_output", "Produce text output?", true);

    arg_desc->SetCurrentGroup("");
    SetupArgDescriptions(arg_desc.release());
}
Example #28
0
void CSampleLds2Application::Init(void)
{
    // Prepare command line descriptions
    //

    // Create
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    arg_desc->AddOptionalKey("data_dir", "DataDir",
        "Directory with the data files.", CArgDescriptions::eString);

    arg_desc->AddKey("db", "DbFile", "LDS2 database file name.",
        CArgDescriptions::eString);

    // GI to fetch
    arg_desc->AddKey("id", "SeqEntryID", "ID of the Seq-Entry to fetch",
        CArgDescriptions::eString);

    arg_desc->AddFlag("print_entry", "Print seq-entry");
    arg_desc->AddFlag("print_feats", "Print features");
    arg_desc->AddFlag("print_aligns", "Print alignments");

    arg_desc->AddOptionalKey("group_aligns", "group_size",
        "Group standalone seq-aligns into blobs",
        CArgDescriptions::eInteger);

    // Program description
    string prog_description = "Example of the LDS2 usage\n";
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              prog_description, false);

    // Pass argument descriptions to the application
    //

    SetupArgDescriptions(arg_desc.release());
}
Example #29
0
void CCompartApplication::Init(void)
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext(GetArguments().GetProgramBasename(),
                              "makes compartments from protein BLAST m8");

    CCompartOptions::SetupArgDescriptions(arg_desc.get());

    arg_desc->AddDefaultKey("ifmt", "InputFormat",
                            "Format for input",
                            CArgDescriptions::eString,
                            "");
    arg_desc->SetConstraint("ifmt",
                            &(*new CArgAllow_Strings,
                              "tabular", "seq-align", "seq-align-set", "seq-annot"));

    arg_desc->AddFlag("hits",
                      "print hits");
    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}
Example #30
0
void CAlnMrgApp::Init(void)
{
    // Create command-line argument descriptions class
    auto_ptr<CArgDescriptions> arg_desc(new CArgDescriptions);

    // Specify USAGE context
    arg_desc->SetUsageContext
        (GetArguments().GetProgramBasename(),
         "Alignment merger demo program");

    // Describe the expected command-line arguments
    arg_desc->AddDefaultKey
        ("in", "input_file_name",
         "Name of file to read from (standard input by default)",
         CArgDescriptions::eInputFile, "-");

    arg_desc->AddDefaultKey
        ("asnout", "asn_out_file_name",
         "Text ASN output",
         CArgDescriptions::eOutputFile, "-");

    arg_desc->AddOptionalKey
        ("asnoutb", "asn_out_file_name_b",
         "Text ASN output, to a file opened in binary mode (for MS-Win tests)",
         CArgDescriptions::eOutputFile, CArgDescriptions::fBinary);

    arg_desc->AddDefaultKey
        ("b", "bin_obj_type",
         "This forced the input file to be read in binary ASN.1 mode\n"
         "and specifies the type of the top-level ASN.1 object.\n",
         CArgDescriptions::eString, "");

    arg_desc->AddDefaultKey
        ("bout", "bool",
         "This forced the output file to be written in binary ASN.1 mode.\n",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddOptionalKey
        ("log", "log_file_name",
         "Name of log file to write to",
         CArgDescriptions::eOutputFile, CArgDescriptions::fPreOpen);

    arg_desc->AddDefaultKey
        ("dsout", "bool",
         "Output in Dense-seg format",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("gapjoin", "bool",
         "Consolidate segments of equal lens with a gap on the query sequence",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("mingap", "bool",
         "Consolidate all segments with a gap on the query sequence",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("rmleadtrailgaps", "bool",
         "Remove leading and trailing gaps",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("minusstrand", "bool",
         "Minus strand on the refseq when merging.",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("fillunaln", "bool",
         "Fill unaligned regions.",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("calcscore", "bool",
         "Calculate each aligned seq pair score and use it when merging."
         "(Don't stitch off ObjMgr for this).",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("sortseqsbyscore", "bool",
         "Sort sequences by score.",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("sortinputbyscore", "bool",
         "Sort input by score.",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("noobjmgr", "bool",
        // ObjMgr is used to identify sequences and obtain a bioseqhandle.
        // Also used to calc scores and determine the type of molecule
         "Skip ObjMgr in identifying sequences, calculating scores, etc.",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddOptionalKey
        ("se_in", "SeqEntryInputFile",
         "An optional Seq-entry file to load a local top level seq entry from.",
         CArgDescriptions::eInputFile, CArgDescriptions::fPreOpen);

    arg_desc->AddOptionalKey
        ("fasta_in", "FastaFile",
         "An optional FASTA file to load into ObjMgr's scope.",
         CArgDescriptions::eInputFile, CArgDescriptions::fPreOpen);

    arg_desc->AddOptionalKey
        ("blastdb", "BlastDb",
         "Add an optional BLAST dataloader to ObjMgr's scope.",
         CArgDescriptions::eString);

    arg_desc->AddDefaultKey
        ("queryseqmergeonly", "bool",
         "Merge the query seq only, keep subject seqs on separate rows "
         "(even if the same seq).",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("truncateoverlaps", "bool",
         "Truncate overlaps",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("allowtranslocation", "bool",
         "Allow translocation",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("forcetranslation", "bool",
         "Force translation of nucleotides",
         CArgDescriptions::eBoolean, "f");

    arg_desc->AddDefaultKey
        ("preserverows", "bool",
         "Preserve rows",
         CArgDescriptions::eBoolean, "f");


    // Viewing args:
    arg_desc->AddOptionalKey
        ("v", "",
         "View format:\n"
         " 1. CSV table\n"
         " 2. Print segments\n"
         " 3. Print chunks\n"
         " 4. Popset style using GetAlnSeqString\n"
         "    (memory efficient for large alns, but slower)\n"
         " 5. Popset style using GetSeqString\n"
         "   (memory inefficient)\n"
         " 6. Popset style using GetWholeAlnSeqString\n"
         "   (fastest, but memory inefficient)\n",
         CArgDescriptions::eInteger);

    arg_desc->AddOptionalKey
        ("a", "AnchorRow",
         "Anchor row (zero based)",
         CArgDescriptions::eInteger);

    arg_desc->AddDefaultKey
        ("w", "ScreenWidth",
         "Screen width for some of the viewers",
         CArgDescriptions::eInteger, "60");

    arg_desc->AddDefaultKey
        ("cf", "GetChunkFlags",
         "Flags for GetChunks (CAlnMap::TGetChunkFlags)",
         CArgDescriptions::eInteger, "0");

    arg_desc->AddDefaultKey
        ("progress", "bool",
         "Show progress feedback on stderr",
         CArgDescriptions::eBoolean, "f");

    // Setup arg.descriptions for this application
    SetupArgDescriptions(arg_desc.release());
}