trevorld/r-optparse

Error in make_option(c("-id", "--patientId"), type = "character", default = NULL, : Short flag -id must only be a '-' and a single letter

worker000000 opened this issue · 1 comments

hi, thanks for making such a powerful package. I met an error like this, I noticed that there is one issue about this #33

there is software called lohhla, it used all the vars like this, link is here https://github.com/mskcc/lohhla/blob/master/LOHHLAscript.R#L580-L583

it published in cell(Allele-Specific HLA Loss and Immune Escape in Lung
Cancer Evolution), so does it mean it is totally wrong?

Before 66acec5 (2019-09-15) we didn't throw an error when a user accidentally specified a short flag with more than one letter (as documented since multi-letter long flag options don't make sense). However there was never a version of optparse where multi-letter short flags like -id would have worked. However defaults and long flags like --patientId should still have worked so their code could have still worked "correctly" in the past if they and their users only used the long flags and defaults.

If you are trying to use that code it might be simplest to delete all those multi-letter short flag options i.e. convert

  make_option(c("-mc", "--minCoverageFilter"), type="numeric", default=30,
          help="minimum coverage at mismatch site [default= %default]", metavar="character"),

to

  make_option("--minCoverageFilter", type="numeric", default=30,
          help="minimum coverage at mismatch site [default= %default]", metavar="character"),

since you don't need to have a short flag option and can still use the long flag options and defaults.