Я новичок в использовании командной строки и не думаю, что этот вопрос был задан в другом месте. Я пытаюсь адаптировать Rscript для запуска из командной строки в сценарии оболочки. По сути, я использую некоторые инструменты в рамках иммканации для чтения и аннотирования некоторых данных NGS антител, а затем для группировки последовательностей в их клональные семейства. Чтобы установить порог сходства, создатели рекомендуют использовать функцию в своем пакете shazam
, чтобы установить соответствующий порог.
Я сделал простой скрипт ниже, чтобы прочитать и проверить аргументы:
#!/usr/bin/env Rscript
params <- commandArgs(trailingOnly=TRUE)
### read and validate mode argument
mode <- params[1]
modeAllowed <- c("ham","aa","hh_s1f","hh_s5f")
if(!(mode %in% modeAllowed)){
stop(paste("illegal mode argument supplied. acceptable values are",
paste(paste(modeAllowed, collapse = ", "), ".", sep = ""), "\nmode should be supplied first",
sep = " "))
}
### execute function
cat(threshold)
Скрипт работает, однако для каждого параметра есть только конечное число опций. Мне было интересно, если есть способ передачи аргументов, таких как --mode aa
(например) из терминала? Кажется, что вся информация, которую я видел в Интернете, использует код, подобный моему mode <- params[1]
сверху, который, я думаю, работает, только если аргумент mode является первым?