Ajout d'une options dans le module CLI¶
concerne le module data/m_qtlmap_type_cli.F95
On utilise une norme classique pour la specification des options dans QTLMap :
- "2 tirets" : --<nom-long-de-l'option>, exemple : --le-truc-qui-fait-ca
- "1 tiret " : -<une-lettre> , exemple : -l
Exemple pour ajouter l'option "toto" (--toto, -q)
Ajouter une donnée membre dans la classe QTLMAP_CLI¶
c'est ici qu'on nomme l'option (longue et courte)
type , public :: QTLMAP_CLI ... !!// number of simulation for the bootstrap option to calculate Confidence Intervalle character(len=LEN_OPT) ,public :: OPT_CI_NSIM ='--ci-nsim' !!// ma nouvelle option character(len=LEN_OPT) ,public :: OPT_TOTO ='--toto' character(len=LEN_OPT) ,public :: OPT_TOTO_SHORT ='-q'
Ajouter une fonction membre dans la classe QTLMAP_CLI¶
Pour faciliter l'usage de l'option, on crée une fonction membre (définit à l'intérieure de la classe) qui nous permet de tester l'existence de l'option dans la liste des arguments qui est donné à l'executable qtlmap
type , public :: QTLMAP_CLI ... contains !// True if the user want totorize procedure,public :: cli_is_toto ... function cli_is_toto(this) result(val) class(QTLMAP_CLI) , intent(in) :: this logical :: val val = this%key_exist(this%OPT_TOTO) if (.not. val) val = this%key_exist(this%OPT_TOTO_SHORT) end function cli_is_toto end type QTLMAP_CLI
Il y a des exemples pour récuperer des valeurs d'option (ex: --toto=34) : cli_get_family, cli_get_nsim, ...
Utilisation¶
On peut récuperer les information du module CLI dans l'ensemble des subroutines de QTLMap. (Attention, L'objet QTLMAP_DATASET
doit etre passé en argument de la fonction)
Exemple dans le module m_qtlmap_analyse :
hdam = .not. dataset%cli%cli_is_no_hdam() biq = dataset%cli%cli_is_biq() interaction = dataset%cli%cli_is_interaction()