private Argument addArgument(final String... nameOrFlags) { final FeatureControl defaultControl = topLevel ? null : SUPPRESS; return globalArgs.addArgument(nameOrFlags).setDefault(defaultControl); } }
public static void addLoggingGroup(ArgumentParser parser) { ArgumentGroup logging = parser.addArgumentGroup("logging") .description("Control the logging output."); logging.addArgument("--log-file") .type(File.class) .metavar("FILE") .help("write logging output to FILE"); logging.addArgument("--log-level") .type(String.class) .metavar("LEVEL") .help("include logging messages at LEVEL in log output"); logging.addArgument("--log-file-level") .type(String.class) .metavar("LEVEL") .help("include logging messages at LEVEL in log file (defaults to --log-level value)"); logging.addArgument("--debug-grapht") .action(Arguments.storeTrue()) .help("include debug output from Grapht"); }
public static void configureArguments(ArgumentParser parser) { ArgumentGroup group = parser.addArgumentGroup("script environment") .description("Options for interpreting Groovy scripts."); group.addArgument("-C", "--classpath") .dest("classpath") .action(Arguments.append()) .metavar("URL") .help("add URL (jar or dir) to script classpath"); group.addArgument("-D", "--define") .dest("properties") .type(new PropertyDef()) .action(Arguments.append()) .metavar("PROP=VALUE") .help("set property PROP"); }
.required(required); ArgumentGroup options = parser.addArgumentGroup("input options") .description("Additional options for input data."); group.addArgument("--csv-file") .type(File.class) .metavar("FILE") .help("read from delimited text FILE"); options.addArgument("-d", "--delimiter") .setDefault(",") .metavar("DELIM") .help("input file is delimited by DELIM"); options.addArgument("-H", "--header-lines") .type(Integer.class) .setDefault(0) .metavar("N") .help("skip N header lines at top of input file"); options.addArgument("-t", "--input-entity-type", "--event-type") .setDefault("rating") .metavar("TYPE") .help("read entitites of type TYPE from input file"); options.addArgument("--item-names") .type(File.class) .metavar("FILE")
tables.addArgument("--tables") .action(Arguments.storeTrue()) .dest("tables") .help("Check for added or removed tables (default)"); tables.addArgument("--ignore-tables") .action(Arguments.storeFalse()) .dest("tables") columns.addArgument("--columns") .action(Arguments.storeTrue()) .dest("columns") .help("Check for added, removed, or modified columns (default)"); columns.addArgument("--ignore-columns") .action(Arguments.storeFalse()) .dest("columns") views.addArgument("--views") .action(Arguments.storeTrue()) .dest("views") .help("Check for added, removed, or modified views (default)"); views.addArgument("--ignore-views") .action(Arguments.storeFalse()) .dest("views") primaryKeys.addArgument("--primary-keys") .action(Arguments.storeTrue()) .dest("primary-keys") .help("Check for changed primary keys (default)"); primaryKeys.addArgument("--ignore-primary-keys")
/** * Setup global {@link ArgumentParser} * * @param parser * {@link ArgumentParser} to setup */ public static void setupParser(ArgumentParser parser) { parser.version(Jannovar.getVersion()); parser.addArgument("--version").help("Show Jannovar version").action(Arguments.version()); ArgumentGroup verboseGroup = parser.addArgumentGroup("Verbosity Options"); verboseGroup.addArgument("--report-no-progress").help("Disable progress report, more quiet mode") .dest("report_progress").setDefault(true).action(Arguments.storeFalse()); verboseGroup.addArgument("-v", "--verbose").help("Enable verbose mode").dest("verbose").setDefault(false) .action(Arguments.storeTrue()); verboseGroup.addArgument("-vv", "--very-verbose").help("Enable very verbose mode").dest("very_verbose") .setDefault(false).action(Arguments.storeTrue()); ArgumentGroup proxyGroup = parser.addArgumentGroup("Proxy Options"); proxyGroup.description("Configuration related to Proxy, note that environment variables *_proxy " + "and *_PROXY are also interpreted"); proxyGroup.addArgument("--http-proxy").help("Set HTTP proxy to use, if any"); proxyGroup.addArgument("--https-proxy").help("Set HTTPS proxy to use, if any"); proxyGroup.addArgument("--ftp-proxy").help("Set FTP proxy to use, if any"); }
private Argument addArgument(final String... nameOrFlags) { final FeatureControl defaultControl = topLevel ? null : SUPPRESS; return globalArgs.addArgument(nameOrFlags).setDefault(defaultControl); } }
@Override public void configure(Subparser subparser) { super.configure(subparser); subparser.addArgument("id") .required(true) .help("IDs for the report (IDs can be reused to continue a partially completed report)"); subparser.addArgument("--placements") .dest("placements") .metavar("PLACEMENT") .nargs("+") .help("Limit report to the provided placements (by default all placements are included)"); ArgumentGroup continuation = subparser.addArgumentGroup("continue") .description("Continue report from a specific shard and table"); continuation.addArgument("--shard") .dest("shard") .type(Integer.class) .help("The shard ID to continue from (by default the report starts at the first shard)"); continuation.addArgument("--table") .dest("table") .help("The UUID of the table to continue from (by default the report starts at the " + "first table in the initial shard"); subparser.addArgument("--readOnly") .action(new StoreTrueArgumentAction()) .dest("readOnly") .help("Do not modify any data, such as fixing invalid compaction records"); }
private GlobalOptions(ArgumentParser parser, CliContext cliContext, boolean subCommand) { this.options = parser.addArgumentGroup("global options"); this.host = options.addArgument("-H", "--host") .help("Styx API host (can also be set with environment variable " + ENV_VAR_PREFIX + "_HOST)") .setDefault(subCommand ? FeatureControl.SUPPRESS : null) .setDefault(cliContext.env().get(ENV_VAR_PREFIX + "_HOST")) .action(Arguments.store()); this.json = options.addArgument("--json") .help("json output") .setDefault(subCommand ? FeatureControl.SUPPRESS : null) .action(Arguments.storeTrue()); this.plain = options.addArgument("-p", "--plain") .help("plain output") .setDefault(subCommand ? FeatureControl.SUPPRESS : null) .action(Arguments.storeTrue()); this.debug = options.addArgument("--debug") .help("debug output") .setDefault(subCommand ? FeatureControl.SUPPRESS : null) .action(Arguments.storeTrue()); }
.description("Parameters for specifying the HBase indexer definition and/or where it should be loaded from."); Argument indexerZkHostArg = hbaseIndexerGroup.addArgument("--hbase-indexer-zk") .metavar("STRING") .help("The address of the ZooKeeper ensemble from which to fetch the indexer definition named --hbase-indexer-name. " Argument indexNameArg = hbaseIndexerGroup.addArgument("--hbase-indexer-name") .metavar("STRING") .help("The name of the indexer configuration to fetch from the ZooKeeper ensemble specified " + "with --hbase-indexer-zk. Example: myIndexer"); Argument hbaseIndexerConfigArg = hbaseIndexerGroup.addArgument("--hbase-indexer-file") .metavar("FILE") .type(new FileArgumentType().verifyExists().verifyIsFile().verifyCanRead()) Argument hbaseIndexerComponentFactoryArg = hbaseIndexerGroup.addArgument("--hbase-indexer-component-factory") .metavar("STRING") .help("Classname of the hbase indexer component factory."); .description("Parameters for specifying what data is included while reading from HBase."); Argument hbaseTableNameArg = scanArgumentGroup.addArgument("--hbase-table-name") .metavar("STRING") .help("Optional name of the HBase table containing the records to be indexed. If " Argument startRowArg = scanArgumentGroup.addArgument("--hbase-start-row") .metavar("BINARYSTRING") .help("Binary string representation of start row from which to start indexing (inclusive). "
/** * Setup {@link ArgumentParser} * * @param subParsers * {@link Subparsers} to setup */ public static void setupParser(ArgumentParser subParser) { ArgumentGroup optionalGroup = subParser.addArgumentGroup("Optional Arguments"); optionalGroup.addArgument("--show-all").help("Show all effects").setDefault(false).action(Arguments.storeTrue()); optionalGroup.addArgument("--no-3-prime-shifting").help("Disable shifting towards 3' of transcript") .dest("3_prime_shifting").setDefault(true).action(Arguments.storeFalse()); optionalGroup.addArgument("--3-letter-amino-acids").help("Enable usage of 3 letter amino acid codes") .setDefault(false).action(Arguments.storeTrue()); JannovarBaseOptions.setupParser(subParser); }
.description("Parameters for specifying the HBase indexer definition and/or where it should be loaded from."); Argument indexerZkHostArg = hbaseIndexerGroup.addArgument("--hbase-indexer-zk") .metavar("STRING") .help("The address of the ZooKeeper ensemble from which to fetch the indexer definition named --hbase-indexer-name. " Argument indexNameArg = hbaseIndexerGroup.addArgument("--hbase-indexer-name") .metavar("STRING") .help("The name of the indexer configuration to fetch from the ZooKeeper ensemble specified " + "with --hbase-indexer-zk. Example: myIndexer"); Argument hbaseIndexerConfigArg = hbaseIndexerGroup.addArgument("--hbase-indexer-file") .metavar("FILE") .type(new FileArgumentType().verifyExists().verifyIsFile().verifyCanRead()) Argument hbaseIndexerComponentFactoryArg = hbaseIndexerGroup.addArgument("--hbase-indexer-component-factory") .metavar("STRING") .help("Classname of the hbase indexer component factory."); .description("Parameters for specifying what data is included while reading from HBase."); Argument hbaseTableNameArg = scanArgumentGroup.addArgument("--hbase-table-name") .metavar("STRING") .help("Optional name of the HBase table containing the records to be indexed. If " Argument startRowArg = scanArgumentGroup.addArgument("--hbase-start-row") .metavar("BINARYSTRING") .help("Binary string representation of start row from which to start indexing (inclusive). "
/** * Setup {@link ArgumentParser} * * @param subParsers * {@link Subparsers} to setup */ public static void setupParser(Subparsers subParsers) { BiFunction<String[], Namespace, GatherStatisticsCommand> handler = (argv, args) -> { try { return new GatherStatisticsCommand(argv, args); } catch (CommandLineParsingException e) { throw new UncheckedJannovarException("Could not parse command line", e); } }; Subparser subParser = subParsers.addParser("statistics", true).help("compute statistics about VCF file") .setDefault("cmd", handler); subParser.description("Compute statistics about variants in VCF file"); ArgumentGroup requiredGroup = subParser.addArgumentGroup("Required arguments"); requiredGroup.addArgument("-i", "--input-vcf").help("Path to input VCF file").required(true); requiredGroup.addArgument("-o", "--output-report").help("Path to output report TXT file").required(true); requiredGroup.addArgument("-d", "--database").help("Path to database .ser file").required(true); JannovarBaseOptions.setupParser(subParser); }
@Override protected void addArguments(ArgumentParser parser) { ArgumentGroup schemaGroup = parser.addArgumentGroup("schemas"); schemaGroup.description("Schemas generated by this script"); schemaGroup.addArgument("--emoSchema") .dest("emoSchema") .metavar("NAME") .help("Name of the schema where \"emodb\" located tables are generated"); schemaGroup.addArgument("--stashSchema") .dest("stashSchema") .metavar("NAME")
subParser.description("Project transcript-level changes to chromosome level ones"); ArgumentGroup requiredGroup = subParser.addArgumentGroup("Required arguments"); requiredGroup.addArgument("-r", "--reference-fasta").help("Path to reference FASTA file").required(true); requiredGroup.addArgument("-d", "--database").help("Path to database .ser file").required(true); requiredGroup.addArgument("-i", "--input-txt").help("Input file with HGVS transcript-level changes, line-by-line") .required(true); requiredGroup.addArgument("-o", "--output-vcf").help("Output VCF file with chromosome-level changes") .required(true); optionalGroup.addArgument("--show-all").help("Show all effects").setDefault(false); optionalGroup.addArgument("--no-3-prime-shifting").help("Disable shifting towards 3' of transcript") .dest("3_prime_shifting").setDefault(true).action(Arguments.storeFalse()); optionalGroup.addArgument("--3-letter-amino-acids").help("Enable usage of 3 letter amino acid codes") .setDefault(false).action(Arguments.storeTrue());
Argument outputDirArg = requiredGroup.addArgument("--output-dir") .metavar("HDFS_URI") .type(new PathArgumentType(conf) { Argument morphlineFileArg = requiredGroup.addArgument("--morphline-file") .metavar("FILE") .type(new FileArgumentType().verifyExists().verifyIsFile().verifyCanRead()) .description( "Arguments that provide information about your Solr cluster. " + nonSolrCloud("If you are building shards for a SolrCloud cluster, pass the --zk-host argument. " Argument zkHostArg = clusterInfoGroup.addArgument("--zk-host") .metavar("STRING") .type(String.class) Argument useZkSolrConfig = clusterInfoGroup.addArgument("--use-zk-solrconfig.xml") .action(Arguments.storeTrue()) .help(FeatureControl.SUPPRESS); Argument shardUrlsArg = nonSolrCloud(clusterInfoGroup.addArgument("--shard-url") .metavar("URL") .type(String.class) Argument shardsArg = nonSolrCloud(clusterInfoGroup.addArgument("--shards") .metavar("INTEGER") .type(Integer.class) .description("Arguments for merging the shards that are built into a live Solr cluster. " +
subParser.description("Perform annotation of genomic changes given on the command line"); ArgumentGroup requiredGroup = subParser.addArgumentGroup("Required arguments"); requiredGroup.addArgument("-d", "--database").help("Path to database .ser file").required(true); requiredGroup.addArgument("-i", "--input").help("CSV file").required(true); requiredGroup.addArgument("-c", "--chr").type(Integer.class).help("Column of chr (1 based)").required(true); requiredGroup.addArgument("-p", "--pos").type(Integer.class).help("Column of pos (1 based)").required(true); requiredGroup.addArgument("-r", "--ref").type(Integer.class).help("Column of ref (1 based)").required(true); requiredGroup.addArgument("-a", "--alt").type(Integer.class).help("Column of alt (1 based)").required(true); ArgumentGroup optionalGroup = subParser.addArgumentGroup("Additional CSV arguments (optional)"); optionalGroup.addArgument("-t", "--type").type(CSVFormat.Predefined.class) .choices(CSVFormat.Predefined.Default, CSVFormat.Predefined.TDF, CSVFormat.Predefined.RFC4180, CSVFormat.Predefined.Excel, CSVFormat.Predefined.MySQL) .help("Type of csv file. ").setDefault(CSVFormat.Predefined.Default); optionalGroup.addArgument("--header").help("Set if the file contains a header. ").setDefault(false) .action(Arguments.storeTrue());
Argument outputDirArg = requiredGroup.addArgument("--output-dir") .metavar("HDFS_URI") .type(new PathArgumentType(conf) { Argument morphlineFileArg = requiredGroup.addArgument("--morphline-file") .metavar("FILE") .type(new FileArgumentType().verifyExists().verifyIsFile().verifyCanRead()) .description( "Arguments that provide information about your Solr cluster. " + nonSolrCloud("If you are building shards for a SolrCloud cluster, pass the --zk-host argument. " Argument zkHostArg = clusterInfoGroup.addArgument("--zk-host") .metavar("STRING") .type(String.class) Argument shardUrlsArg = nonSolrCloud(clusterInfoGroup.addArgument("--shard-url") .metavar("URL") .type(String.class) Argument shardsArg = nonSolrCloud(clusterInfoGroup.addArgument("--shards") .metavar("INTEGER") .type(Integer.class) .description("Arguments for merging the shards that are built into a live Solr cluster. " + "Also see the Cluster arguments."); Argument goLiveArg = goLiveGroup.addArgument("--go-live") .action(Arguments.storeTrue())
/** * Setup {@link ArgumentParser} * * @param subParsers * {@link Subparsers} to setup */ public static void setupParser(Subparsers subParsers) { BiFunction<String[], Namespace, DownloadCommand> handler = (argv, args) -> { try { return new DownloadCommand(argv, args); } catch (CommandLineParsingException e) { throw new UncheckedJannovarException("Could not parse command line", e); } }; Subparser subParser = subParsers.addParser("download", true).help("download transcript databases") .setDefault("cmd", handler); subParser.description("Download transcript database"); ArgumentGroup requiredGroup = subParser.addArgumentGroup("Required arguments"); requiredGroup.addArgument("-d", "--database").help("Name of database to download, can be given multiple times") .setDefault(new ArrayList<String>()).action(Arguments.append()).required(true); ArgumentGroup optionalGroup = subParser.addArgumentGroup("Optional Arguments"); optionalGroup.addArgument("-s", "--data-source-list").help("INI file with data source list") .setDefault(new ArrayList<String>(Arrays.asList("bundle:///default_sources.ini"))).action(Arguments.append()); optionalGroup.addArgument("--download-dir").help("Path to download directory").setDefault("data"); JannovarBaseOptions.setupParser(subParser); }
requiredGroup.addArgument("-i", "--input-vcf").help("Path to input VCF file") .required(true); requiredGroup.addArgument("-o", "--output-vcf").help("Path to output VCF file") .required(true); requiredGroup.addArgument("-d", "--database").help("Path to database .ser file") .required(true); requiredGroup.addArgument("--interval").help("Interval with regions to annotate (optional)") .required(false).setDefault(""); annotationGroup.addArgument("--pedigree-file") .help("Pedigree file to use for Mendelian inheritance annotation").required(false); annotationGroup.addArgument("--annotate-as-singleton-pedigree") .help("Annotate VCF file with single individual as singleton pedigree (singleton assumed to be affected)") .required(false).setDefault(false).action(Arguments.storeTrue()); annotationGroup.addArgument("--ref-fasta").help( "Path to FAI-indexed reference FASTA file, required for dbSNP/ExAC/UK10K-based annotation"); annotationGroup.addArgument("--dbsnp-vcf") .help("Path to dbSNP VCF file, activates dbSNP annotation").required(false); annotationGroup.addArgument("--dbsnp-prefix").help("Prefix for dbSNP annotations") .setDefault("DBSNP_").required(false); annotationGroup.addArgument("--exac-vcf") .help("Path to ExAC VCF file, activates ExAC annotation").required(false); annotationGroup.addArgument("--exac-prefix").help("Prefix for ExAC annotations") .setDefault("EXAC_").required(false); annotationGroup.addArgument("--gnomad-exomes-vcf") .help("Path to gnomAD exomes VCF file, activates gnomAD exomes annotation") .required(false); annotationGroup.addArgument("--gnomad-exomes-prefix") .help("Prefix for ExgnomAD exomes AC annotations").setDefault("GNOMAD_EXOMES_")