Les paramètres utilisateurs définis dans le fichier paramètre¶
Structuration¶
Le module source:/trunk/src/data/m_qtlmap_type_parameter.f95 contient :
- le type PARAMETER_BASE pour accéder aux données typé "ENTIER" ou "FLOTTANT" (ndmin,prob_seuil_gam,...)
- La définition de l'ensemble des clefs définissables dans le fichier de paramètre (opt_step,in_genealogy,etc...)
Ce type contient les fonctions membres publiques suivantes :
set
: initialise les données typées (ndmin,prob_seuil_gam,...)get_string_val(K_KEY)
: retourne la valeur en chaine de caractère de la clefK_KEY
get_int_val(K_KEY)
: retourne la valeur en entier de la clefK_KEY
get_real_val(K_KEY)
: retourne la valeur en reel de la clefK_KEY
get_file_val(K_KEY)
: retourne la valeur en chaine de caractère (format len=fichier) de la clefK_KEY
key_exist(K_KEY)
: retourne vrai si la clefK_KEY
est définit dans le fichier de paramètre
L'ensemble des clefs sont définit dans le même fichiers et sont des constances àppartenant au module (accès publique).
Voir l'ensemble des clefs définis : source:/trunk/src/data/m_qtlmap_type_parameter.f95#L27
On peut donc récupérer la valeur de NDMIN
de deux manières :
dataset%params%ndmin
ou
dataset%params%get_int_val(K_NDMIN)
Savoir si le fichier de genealogy a été définit dans le fichier de paramètre et ouverture du fichier
if ( dataset%params%key_exist(K_GENEA)) then open(ios,file=dataset%params%get_file_val(K_GENEA)) ... end if
Ajouter une clef pour les future développement¶
Pour définir une nouvelle cléf utilisable à partir du fichier paramètre p_analyse:
# analysis step : in Morgan
#minimum : 0.000001
opt_step = 0.01 #step 5 cMorgan
# minimal number of progeny by dams
opt_ndmin=20
#my new key
opt_my_new_key=0.01
Il faut dans un premier temps ajouter une clefs dans le module m_qtlmap_type_parameter:
character(len=LEN_L) ,parameter , public :: K_MY_NEW_KEY ='opt_my_new_key'
puis, si cette variable est optionnelle, incrémenter la variable NUMBER_OPT_KEYS
- incrémenter la variable
NUMBER_AUTO_KEYS
- ajouter le nom de cette variable au tableau
index_key
- ajouter la valeur par défaut de cette variable au tableau
default_values
Dans les deux cas, si vous voulez que qtlmap n'affiche pas un warning 'option inconnue', il faudra l'ajouter au tableau all_key
Une fois ces actions réalisé, vous pouvez utiliser cette option via les fonctions membres du type PARAMETER_BASE