m_qtlmap_parameter_file
NAME
m_qtlmap_parameter_file -- This modules manages the parameter user file (p_analyse).
SYNOPSIS
DESCRIPTION
NOTES
SEE ALSO
K_CHOLESKY
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_CHOLESKY
DESCRIPTION
coefficent used in the cholesky decomposition to establish the parameters estimabilities
SOURCE
301 character(len=LEN_L) , parameter , private :: K_CHOLESKY ='opt_eps_cholesky'
K_CHROM
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_CHROM
DESCRIPTION
chromosom list to explore
SOURCE
247 character(len=LEN_L) , parameter , private :: K_CHROM ='opt_chromosome'
K_COEFFDA
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_COEFFDA
DESCRIPTION
output coefficent discriminante analysis result file
SOURCE
180 character(len=LEN_L) , parameter , private :: K_COEFFDA ='out_coeffda'
K_FREQALL
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_FREQALL
DESCRIPTION
Allele frequency information
SOURCE
170 character(len=LEN_L) , parameter , private :: K_FREQALL ='out_freqall'
K_GENEA
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_GENEA
DESCRIPTION
genealogy file
SOURCE
52 character(len=LEN_L) , parameter , private :: K_GENEA ='in_genealogy'
K_GENOTYPE
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_GENOTYPE
DESCRIPTION
genotypics user file
SOURCE
79 character(len=LEN_L) , parameter , private :: K_GENOTYPE ='in_genotype'
K_GRID2QTL
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_GRID2QTL
DESCRIPTION
LRT curves describe in a grid (hypothesis : 2 qtl)
SOURCE
189 character(len=LEN_L) , parameter , private :: K_GRID2QTL ='out_grid2qtl'
K_HAPLOTYPES
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_HAPLOTYPES
DESCRIPTION
haplotypes files
SOURCE
216 character(len=LEN_L) , parameter , private :: K_HAPLOTYPES ='out_haplotypes'
K_KEY_DEV_GEN
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_KEY_DEV_GEN
DESCRIPTION
For experimental methods, this module defines a generic key (opt_key_dev1,opt_key_dev2,...) The interpretation of theses keys is in charge of the experimental analysis
SOURCE
465 character(len=LEN_L) , parameter , private :: K_KEY_DEV_GEN = 'opt_key_dev'
K_LINEAR_CONV
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_LINEAR_CONV
DESCRIPTION
Threshold for convergence in the linear mode heteroscedastic
SOURCE
328 character(len=LEN_L) , parameter , private :: K_LINEAR_CONV ='opt_eps_linear_heteroscedastic'
K_LONG_MIN_IBS
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_LONG_MIN_IBS
DESCRIPTION
SOURCE
382 character(len=LEN_L) , parameter , private :: K_LONG_MIN_IBS ='opt_long_min_ibs'
K_LONGHAP
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_LONGHAP
DESCRIPTION
Length of the haplotypes to be followed in LD analyses
SOURCE
355 character(len=LEN_L) , parameter , private :: K_LONGHAP ='opt_longhap'
K_LRTDAM
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_LRTDAM
DESCRIPTION
LRT curve output file
SOURCE
160 character(len=LEN_L) , parameter , private :: K_LRTDAM ='out_lrtdams'
K_LRTSIRE
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_LRTSIRE
DESCRIPTION
LRT curve output file (General LRT and by half-sib family)
SOURCE
151 character(len=LEN_L) , parameter , private :: K_LRTSIRE ='out_lrtsires'
K_MAP
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_MAP
DESCRIPTION
map file
SOURCE
43 character(len=LEN_L) , parameter , private :: K_MAP ='in_map'
K_MATEFF
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_MATEFF
DESCRIPTION
output maternal effect file
SOURCE
142 character(len=LEN_L) , parameter , private :: K_MATEFF ='out_mateff'
K_MAX_LINEAR_ITERATION
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_MAX_LINEAR_ITERATION
DESCRIPTION
number maximum of iteration (heteroscedastic linear analysis)
SOURCE
337 character(len=LEN_L) , parameter , private :: K_MAX_LINEAR_ITERATION = 'opt_max_iteration_linear_heteroscedastic'
K_MINDAMPHASEPROB
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_MINDAMPHASEPROB
DESCRIPTION
Minimal dam phase probability
SOURCE
274 character(len=LEN_L) , parameter , private :: K_MINDAMPHASEPROB ='opt_mindamphaseproba'
K_MINSIREPHASEPROB
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_MINSIREPHASEPROB
DESCRIPTION
Minimal sire phase probability
SOURCE
283 character(len=LEN_L) , parameter , private :: K_MINSIREPHASEPROB ='opt_minsirephaseproba'
K_MODEL
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_MODEL
DESCRIPTION
model phenotypic user file
SOURCE
88 character(len=LEN_L) , parameter , private :: K_MODEL ='in_model'
K_NB_HAPLO_PRIOR
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_NB_HAPLO_PRIOR
DESCRIPTION
Number maximum of haplotype allowed
SOURCE
364 character(len=LEN_L) , parameter , private :: K_NB_HAPLO_PRIOR ='opt_nb_haplo_prior'
K_NDMIN
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_NDMIN
DESCRIPTION
Minimal number of progeny by dam to considere full sib family in the analysis
SOURCE
256 character(len=LEN_L) , parameter , private :: K_NDMIN ='opt_ndmin'
K_OPTIM_H_PREC
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OPTIM_H_PREC
DESCRIPTION
precision of numerical computation of the derivate F'(x) = (F(x-h)+F(x+h))/2*h (m_qtlmap_optimization)
SOURCE
436 character(len=LEN_L) , parameter , private :: K_OPTIM_H_PREC ='opt_optim_h_precision'
K_OPTIM_MAXEVAL
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OPTIM_MAXEVAL
DESCRIPTION
number mmaximum of objective function evaluation
SOURCE
391 character(len=LEN_L) , parameter , private :: K_OPTIM_MAXEVAL ='opt_optim_maxeval'
K_OPTIM_MAXTIME
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OPTIM_MAXTIME
DESCRIPTION
maximum elapsed time in a optimisation of a objective function
SOURCE
400 character(len=LEN_L) , parameter , private :: K_OPTIM_MAXTIME ='opt_optim_maxtime'
K_OPTIM_TOLF
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OPTIM_TOLF
DESCRIPTION
tolerance precison of the objective function (m_qtlmap_optimization)
SOURCE
418 character(len=LEN_L) , parameter , private :: K_OPTIM_TOLF ='opt_optim_tolf'
K_OPTIM_TOLG
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OPTIM_TOLG
DESCRIPTION
tolerance precison of gradient (m_qtlmap_optimization)
SOURCE
427 character(len=LEN_L) , parameter , private :: K_OPTIM_TOLG ='opt_optim_tolg'
K_OPTIM_TOLX
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OPTIM_TOLX
DESCRIPTION
tolerance precison of the paramter X (m_qtlmap_optimization)
SOURCE
409 character(len=LEN_L) , parameter , private :: K_OPTIM_TOLX ='opt_optim_tolx'
K_OUTPUT
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OUTPUT
DESCRIPTION
main output result file
SOURCE
229 character(len=LEN_L) , parameter , private :: K_OUTPUT ='out_output'
K_OUTSIM
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_OUTSIM
DESCRIPTION
output result file
SOURCE
106 character(len=LEN_L) , parameter , private :: K_OUTSIM ='out_maxlrt'
K_PARAMSIM
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PARAMSIM
DESCRIPTION
parameter simulation user file
SOURCE
97 character(len=LEN_L) , parameter , private :: K_PARAMSIM ='in_paramsimul'
K_PATEFF
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PATEFF
DESCRIPTION
output paternal effect file
SOURCE
133 character(len=LEN_L) , parameter , private :: K_PATEFF ='out_pateff'
K_PDECPLE
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PDECPLE
DESCRIPTION
output probabilities of join transmission file
SOURCE
124 character(len=LEN_L) , parameter , private :: K_PDECPLE ='out_pdedjoin'
K_PDED
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PDED
DESCRIPTION
output probabilities of transmission file
SOURCE
115 character(len=LEN_L) , parameter , private :: K_PDED ='out_pded'
K_PHASES
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PHASES
DESCRIPTION
phases probabilities of reproductor file
SOURCE
198 character(len=LEN_L) , parameter , private :: K_PHASES ='out_phases'
K_PHASES_OFFSPRING
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PHASES_OFFSPRING
DESCRIPTION
The most likely phase haplotypes for offspring
SOURCE
207 character(len=LEN_L) , parameter , private :: K_PHASES_OFFSPRING ='out_phases_offspring'
K_PHASES_OFFSPRING_MARK_END
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PHASES_OFFSPRING_MARK_END
DESCRIPTION
Last marker to print the phased haplotypes
SOURCE
454 character(len=LEN_L) , parameter , private :: K_PHASES_OFFSPRING_MARK_END ='opt_phases_offspring_marker_end'
K_PHASES_OFFSPRING_MARK_START
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PHASES_OFFSPRING_MARK_START
DESCRIPTION
First marker to print the phased haplotypes
SOURCE
445 character(len=LEN_L) , parameter , private :: K_PHASES_OFFSPRING_MARK_START ='opt_phases_offspring_marker_start'
K_PROB_HAPLO_MIN
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PROB_HAPLO_MIN
DESCRIPTION
miminum probability of a haplotype in the LD analysis
SOURCE
373 character(len=LEN_L) , parameter , private :: K_PROB_HAPLO_MIN ='opt_prob_haplo_min'
K_PROB_SEUIL_RECOMB
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PROB_SEUIL_RECOMB
DESCRIPTION
Minimal paternal phase probability
SOURCE
346 character(len=LEN_L) , parameter , private :: K_PROB_SEUIL_RECOMB ='opt_eps_recomb'
K_PSEUILHWE
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_PSEUILHWE
DESCRIPTION
Threshold to check the equilibrium of marker transmission within each family
SOURCE
319 character(len=LEN_L) , parameter , private :: K_PSEUILHWE ='opt_eps_hwe'
K_RACE
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_race
DESCRIPTION
breed file of fonder
SOURCE
61 character(len=LEN_L) , parameter , private :: K_RACE ='in_race'
K_STEP
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_STEP
DESCRIPTION
step definition for LA analysis (in Morgan)
SOURCE
265 character(len=LEN_L) , parameter , private :: K_STEP ='opt_step'
K_SUMM
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_SUMM
DESCRIPTION
summary result file
SOURCE
238 character(len=LEN_L) , parameter , private :: K_SUMM ='out_summary'
K_THRES_CONFUSION
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_THRES_CONFUSION
DESCRIPTION
Threshold to test confusion betwwen level inside a contingence matrix
SOURCE
310 character(len=LEN_L) , parameter , private :: K_THRES_CONFUSION ='opt_eps_confusion'
K_TRAITS
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_TRAITS
DESCRIPTION
phenotypics user file
SOURCE
70 character(len=LEN_L) , parameter , private :: K_TRAITS ='in_traits'
K_UNKNOWN_GENO
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
K_UNKNOWN_GENO
DESCRIPTION
Unknown genotype value
SOURCE
292 character(len=LEN_L) , parameter , private :: K_UNKNOWN_GENO ='opt_unknown_char'
NUMBER_ALL_KEYS
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
NUMBER_ALL_KEYS
DESCRIPTION
Number of qtlmap keys
SOURCE
495 integer , parameter, public :: NUMBER_ALL_KEYS=NUMBER_AUTO_KEYS+NUMBER_OPT_KEYS
NUMBER_AUTO_KEYS
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
NUMBER_AUTO_KEYS
DESCRIPTION
number of essential keys to defined by the user in the paramter file
SOURCE
485 integer , parameter, private :: NUMBER_AUTO_KEYS=24
NUMBER_OPT_KEYS
[ Top ] [ m_qtlmap_parameter_file ] [ Constants ]
NAME
NUMBER_OPT_KEYS
DESCRIPTION
optional keys
SOURCE
475 integer , parameter, private :: NUMBER_OPT_KEYS=22
all_key
[ Top ] [ m_qtlmap_parameter_file ] [ Variables ]
NAME
all_key
DESCRIPTION
The entirely list of possibility key used by qtlmap
SOURCE
575 character(len=LEN_L) , dimension(NUMBER_ALL_KEYS) , private :: all_key = (/ & 576 K_OUTPUT, & 577 K_LRTSIRE, & 578 K_LRTDAM, & 579 K_PDED, & 580 K_PDECPLE, & 581 K_PATEFF, & 582 K_MATEFF, & 583 K_FREQALL, & 584 K_COEFFDA, & 585 K_GRID2QTL,& 586 K_SUMM, & 587 K_CHROM, & 588 K_NDMIN, & 589 K_STEP, & 590 K_UNKNOWN_GENO, & 591 K_MINDAMPHASEPROB, & 592 K_MINSIREPHASEPROB, & 593 K_CHOLESKY, & 594 K_THRES_CONFUSION, & 595 K_PSEUILHWE, & 596 K_LINEAR_CONV,& 597 K_MAP, & 598 K_GENEA, & 599 K_RACE, & 600 K_TRAITS, & 601 K_GENOTYPE, & 602 K_MODEL, & 603 K_PARAMSIM, & 604 K_OUTSIM, & 605 K_MAX_LINEAR_ITERATION, & 606 K_PROB_SEUIL_RECOMB, & 607 K_PHASES, & 608 K_PHASES_OFFSPRING, & 609 K_HAPLOTYPES,& 610 K_NB_HAPLO_PRIOR,& 611 K_PROB_HAPLO_MIN,& 612 K_LONG_MIN_IBS,& 613 K_LONGHAP,& 614 K_OPTIM_MAXEVAL,& 615 K_OPTIM_MAXTIME,& 616 K_OPTIM_TOLX,& 617 K_OPTIM_TOLF,& 618 K_OPTIM_TOLG,& 619 K_OPTIM_H_PREC,& 620 K_PHASES_OFFSPRING_MARK_START,& 621 K_PHASES_OFFSPRING_MARK_END/)
default_values
[ Top ] [ m_qtlmap_parameter_file ] [ Variables ]
NAME
default_values
DESCRIPTION
Default values for key predefined by qtlmap.
NOTES
see the array index_key for correspondence
SOURCE
542 character(len=LEN_L) , dimension(NUMBER_AUTO_KEYS) , private :: default_values = (/ & 543 " ", & 544 " ", & 545 " ", & 546 " ", & 547 "0.05 ", & 548 "0 ", & 549 "0.10 ", & 550 "0.90 ", & 551 "0.01 ", & 552 "0.70 ", & 553 "0.01 ", & 554 "0.5 ", & 555 "30 ", & 556 "0.05 ", & 557 "200 ", & 558 "0.00 ", & 559 "4 ", & 560 "4 ", & 561 "1000000", & 562 "1000000", & 563 "0.00005", & 564 "0.00005", & 565 "0.00005", & 566 "0.00005"/)
index_key
[ Top ] [ m_qtlmap_parameter_file ] [ Variables ]
NAME
index_key
DESCRIPTION
Index keys with a default value
NOTES
see the array default_values for correspondence
SOURCE
507 character(len=LEN_L) , dimension(NUMBER_AUTO_KEYS) , private :: index_key = (/ & 508 K_OUTPUT, & 509 K_SUMM, & 510 K_CHROM, & 511 K_NDMIN, & 512 K_STEP, & 513 K_UNKNOWN_GENO, & 514 K_MINDAMPHASEPROB, & 515 K_MINSIREPHASEPROB, & 516 K_CHOLESKY, & 517 K_THRES_CONFUSION, & 518 K_PSEUILHWE, & 519 K_LINEAR_CONV, & 520 K_MAX_LINEAR_ITERATION,& 521 K_PROB_SEUIL_RECOMB, & 522 K_NB_HAPLO_PRIOR,& 523 K_PROB_HAPLO_MIN,& 524 K_LONG_MIN_IBS,& 525 K_LONGHAP,& 526 K_OPTIM_MAXEVAL,& 527 K_OPTIM_MAXTIME,& 528 K_OPTIM_TOLX,& 529 K_OPTIM_TOLF,& 530 K_OPTIM_TOLG,& 531 K_OPTIM_H_PREC/)
keys
[ Top ] [ m_qtlmap_parameter_file ] [ Variables ]
NAME
keys
DESCRIPTION
The keys defined of the p_analyses file
values
[ Top ] [ m_qtlmap_parameter_file ] [ Variables ]
NAME
values
DESCRIPTION
The values of the p_analyses file (referenced by the array keys)
end_analyse_parameterfile
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
end_analyse_parameterfile
DESCRIPTION
release internal module data (array keys and values)
NOTES
SOURCE
1194 subroutine end_analyse_parameterfile 1195 deallocate (values) 1196 deallocate (keys) 1197 end subroutine
get_key_value
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
get_key_value
DESCRIPTION
Get value according to the key give in parameter
NOTES
SOURCE
1207 subroutine get_key_value(keysearch,value) 1208 character(len=*) ,intent(in) :: keysearch 1209 character(len=*) ,intent(out) :: value 1210 1211 integer :: i 1212 1213 value='' 1214 1215 if (allocated(keys)) then 1216 do i=1,size(keys) 1217 if ( trim(keys(i)) == trim(keysearch)) then 1218 value = values(i) 1219 return 1220 end if 1221 end do 1222 end if 1223 1224 do i=1,size(index_key) 1225 if ( trim(index_key(i)) == trim(keysearch)) then 1226 if ( trim(default_values(i)) /= '') then 1227 value = default_values(i) 1228 return 1229 end if 1230 end if 1231 end do 1232 1233 end subroutine get_key_value
get_summary_panalyse
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
get_summary_panalyse
DESCRIPTION
get the both vector of key and values defined by the user
NOTES
SOURCE
1390 subroutine get_summary_panalyse(my_index_key,values,n) 1391 character(len=LEN_L) ,dimension(NUMBER_ALL_KEYS),intent(out) :: my_index_key 1392 character(len=LEN_L) ,dimension(NUMBER_ALL_KEYS),intent(out) :: values 1393 integer ,intent(out) :: n 1394 1395 character(len=LEN_L) :: buf 1396 integer :: i 1397 1398 n=0 1399 do i=1,size(all_key) 1400 if ( key_exist(all_key(i)) ) then 1401 n=n+1 1402 call get_key_value(all_key(i),buf) 1403 my_index_key(n)=trim(all_key(i)) 1404 values(n)=trim(buf) 1405 end if 1406 end do 1407 1408 end subroutine get_summary_panalyse
help_panalyse
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
help_panalyse
DESCRIPTION
print a help (all keys availables).
NOTES
SOURCE
1317 subroutine help_panalyse 1318 1319 character(len=LEN_L) :: headkey ,headvalues,form,buf 1320 character(len=LEN_S) :: opt 1321 1322 integer :: i 1323 1324 headkey = "KEY" 1325 headvalues=" DEFINITION" 1326 opt = "DEFAULT" 1327 form='(a60,a50,4x,a10)' 1328 1329 print form,headkey,headvalues,opt 1330 print form,"------------------------------","--------------------------------","--------------" 1331 print form,K_OUTPUT,"Output main file" 1332 print form,K_LRTSIRE,"Output file paternal effects" 1333 print form,K_LRTDAM,"Output file maternal effects" 1334 1335 print form,K_PDED,"Grand parental segment transmission marginal probabilities" 1336 print form,K_PDECPLE,"Grand parental segment transmission joint probabilities" 1337 print form,K_PATEFF,"Sire QTL effect estimations" 1338 print form,K_MATEFF,"Dam QTL effect estimations" 1339 1340 print form,K_SUMM,"Output summary file" 1341 print form,K_CHROM,"Chromosomes used in the analysis : chr1,chr2,.." 1342 print form,K_NDMIN,'Minimal number of progeny by dam' 1343 1344 call get_key_value(K_STEP,buf) 1345 print form,K_STEP,"Chromosomic segment exploration steps in Morgan",buf 1346 1347 call get_key_value(K_MINDAMPHASEPROB,buf) 1348 print form,K_MINDAMPHASEPROB, 'Minimal dam phase probability',buf 1349 1350 call get_key_value(K_MINSIREPHASEPROB,buf) 1351 print form,K_MINSIREPHASEPROB,'Minimal sire phase probability',buf 1352 1353 call get_key_value(K_UNKNOWN_GENO,buf) 1354 print form,K_UNKNOWN_GENO,'Unknown genotype value',buf 1355 1356 call get_key_value(K_CHOLESKY,buf) 1357 print form,K_CHOLESKY,"coeff cholesky decomposition",buf 1358 print form,K_MAP,"Input map file" 1359 print form,K_GENEA,"Input genealogy file" 1360 print form,K_TRAITS,"Input traits file" 1361 print form,K_GENOTYPE,"Input genotype file" 1362 print form,K_MODEL,"Input model description of traits" 1363 print form,K_PARAMSIM,"Input simulation parameters" 1364 print form,K_OUTSIM,"Output for each simulation (Position and maxLRT for each traits)" 1365 print form,K_PHASES,"Output phases file" 1366 print form,K_HAPLOTYPES,"Output haplotype file" 1367 1368 call get_key_value(K_THRES_CONFUSION,buf) 1369 print form,K_THRES_CONFUSION,"Threshold to test confusion betwwen level inside a contingence matrix",buf 1370 call get_key_value(K_PSEUILHWE,buf) 1371 print form,K_PSEUILHWE,"Threshold to check the equilibrium of marker transmission within each family",buf 1372 call get_key_value(K_LINEAR_CONV,buf) 1373 print form,K_LINEAR_CONV,"Threshold for convergence in the linear mode heteroscedastic",buf 1374 call get_key_value(K_MAX_LINEAR_ITERATION,buf) 1375 print form,K_MAX_LINEAR_ITERATION,"Maximum iteration in the linear mode heteroscedastic to avoid infinity loop",buf 1376 1377 call get_key_value(K_PROB_SEUIL_RECOMB,buf) 1378 print form,K_PROB_SEUIL_RECOMB,"",buf 1379 1380 end subroutine help_panalyse
initialize_dev_generic_keys
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
initialize_dev_generic_keys
DESCRIPTION
initilialized the array m_qtlmap_data/tabDevKey from gebneric key K_KEY_DEV_GEN
NOTES
SOURCE
1044 subroutine initialize_dev_generic_keys 1045 integer :: i 1046 character(len=LEN_L) :: buf 1047 1048 tabDevKey="" 1049 do i=1,MAXNB_KEY_DEV_GEN 1050 buf=trim(K_KEY_DEV_GEN)//trim(str(i)) 1051 if ( key_exist( buf ) ) then 1052 call get_key_value(buf,tabDevKey(i)) 1053 end if 1054 end do 1055 1056 end subroutine initialize_dev_generic_keys
initialize_qtlmap_context
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
initialize_qtlmap_context
DESCRIPTION
Initialize all public variables option come from the module m_qtlmap_data and file name to read
INPUTS
sim : if the context is in the simulation case is_permute : if dynamic option permutation mode is activate
OUTPUTS
parsim : the name of the simulation file
NOTES
SOURCE
755 subroutine initialize_qtlmap_context(sim,is_permute) 756 logical ,intent(in) :: sim 757 logical ,intent(in) :: is_permute 758 759 integer :: ios_id = 20 760 integer :: n ,ios,cln,i,j,chr 761 character(len=LEN_W) :: buf 762 character(len=LEN_S),dimension(100) :: chromo_t 763 character(len=LEN_LINE) :: buf2 764 logical :: ok,find 765 real(kind=dp) :: pas_temp 766 767 ! check present keys 768 do i=1,size(index_key) 769 if (.not. key_exist(index_key(i))) then 770 call stop_application("Please defined the key:"//trim(index_key(i))) 771 end if 772 end do 773 774 call initialize_dev_generic_keys 775 776 !check if key are present but not interpreted by qtlmap 777 do i=1,size(keys) 778 if ( trim(keys(i))=='' ) cycle 779 find = .false. 780 do j=1,size(all_key) 781 if (keys(i) == all_key(j)) then 782 find = .true. 783 exit 784 end if 785 ! manage generic keys 786 if ( keys(i)(1:len(K_KEY_DEV_GEN)) == K_KEY_DEV_GEN ) then 787 find = .true. 788 exit 789 end if 790 end do 791 792 if ( .not. find ) then 793 call log_mess(" ---------------------------------- ",WARNING_DEF) 794 call log_mess(" UNKNOWN KEY ["//trim(keys(i))//"] ",WARNING_DEF) 795 call log_mess(" ---------------------------------- ",WARNING_DEF) 796 end if 797 end do 798 799 call get_key_value(K_OUTPUT,resul) 800 call get_key_value(K_SUMM,summary) 801 802 if ( .not. sim ) then 803 call get_key_value(K_LRTSIRE,resp) 804 call get_key_value(K_LRTDAM,resm) 805 if ( key_exist(K_PDED) ) then 806 call get_key_value(K_PDED,pdedf) 807 end if 808 if ( key_exist(K_PDECPLE) ) then 809 call get_key_value(K_PDECPLE,pdecouple) 810 end if 811 if ( key_exist(K_PATEFF) ) then 812 call get_key_value(K_PATEFF,pateff) 813 end if 814 if ( key_exist(K_FREQALL) ) then 815 call get_key_value(K_FREQALL,out_freqall) 816 end if 817 if ( key_exist(K_MATEFF) ) then 818 call get_key_value(K_MATEFF,mateff) 819 end if 820 if ( key_exist(K_COEFFDA) ) then 821 call get_key_value(K_COEFFDA,coeffda) 822 end if 823 if ( key_exist(K_GRID2QTL) ) then 824 call get_key_value(K_GRID2QTL,grid2qtl) 825 end if 826 if ( key_exist(K_PHASES) ) then 827 call get_key_value(K_PHASES,out_phases) 828 end if 829 if ( key_exist(K_HAPLOTYPES) ) then 830 call get_key_value(K_HAPLOTYPES,out_haplotypes) 831 end if 832 end if 833 834 call get_key_value(K_MINDAMPHASEPROB,buf) 835 PRSEUIL = get_real(buf,ok) 836 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_MINDAMPHASEPROB)//"] expecting real value.") 837 838 call get_key_value(K_NDMIN,buf) 839 ndmin = get_int(buf,ok) 840 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_NDMIN)//"] expecting int value.") 841 842 call get_key_value(K_MINSIREPHASEPROB,buf) 843 PHPSEUIL = get_real(buf,ok) 844 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_MINSIREPHASEPROB)//"] expecting real value.") 845 846 call get_key_value(K_CHOLESKY,buf) 847 SEUIL_CHO = get_real(buf,ok) 848 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_CHOLESKY)//"] expecting real value.") 849 850 call get_key_value(K_THRES_CONFUSION,buf) 851 THRES_CONFUSION = get_real(buf,ok) 852 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_THRES_CONFUSION)//"] expecting real value.") 853 854 call get_key_value(K_LINEAR_CONV,buf) 855 EPS_LINEAR_HETEROSCEDASTIC = get_real(buf,ok) 856 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_LINEAR_CONV)//"] expecting real value.") 857 858 call get_key_value(K_MAX_LINEAR_ITERATION,buf) 859 MAX_LINEAR_ITERATION = get_int(buf,ok) 860 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_MAX_LINEAR_ITERATION)//"] expecting int value.") 861 862 call get_key_value(K_PSEUILHWE,buf) 863 PSEUILHWE = get_real(buf,ok) 864 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_PSEUILHWE)//"] expecting real value.") 865 866 call get_key_value(K_PROB_SEUIL_RECOMB,buf) 867 PROB_SEUIL_RECOMB = get_real(buf,ok) 868 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_PROB_SEUIL_RECOMB)//"] expecting real value.") 869 870 call get_key_value(K_NB_HAPLO_PRIOR,buf) 871 NB_HAPLO_PRIOR = get_int(buf,ok) 872 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_NB_HAPLO_PRIOR)//"] expecting integer value.") 873 874 call get_key_value(K_PROB_HAPLO_MIN,buf) 875 PROB_HAPLO_MIN = get_real(buf,ok) 876 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_PROB_HAPLO_MIN)//"] expecting real value.") 877 878 call get_key_value(K_LONG_MIN_IBS,buf) 879 LONG_MIN_IBS = get_int(buf,ok) 880 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_LONG_MIN_IBS)//"] expecting integer value.") 881 882 call get_key_value(K_LONGHAP,buf) 883 LONGHAP = get_int(buf,ok) 884 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_LONGHAP)//"] expecting integer value.") 885 886 call get_key_value(K_STEP,buf) 887 pas_temp = get_real(buf,ok) 888 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_STEP)//"] expecting int value.") 889 call set_base_and_step(buf) 890 891 !! Optimization initialisation 892 !! ----------------------- 893 894 call get_key_value(K_OPTIM_MAXEVAL,buf) 895 optim_maxeval = get_int(buf,ok) 896 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_OPTIM_MAXEVAL)//"] expecting integer value.") 897 898 call get_key_value(K_OPTIM_MAXTIME,buf) 899 optim_maxtime = get_real(buf,ok) 900 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_OPTIM_MAXTIME)//"] expecting int value.") 901 902 call get_key_value(K_OPTIM_TOLX,buf) 903 optim_tolx = get_real(buf,ok) 904 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_OPTIM_TOLX)//"] expecting int value.") 905 906 call get_key_value(K_OPTIM_TOLF,buf) 907 optim_tolf = get_real(buf,ok) 908 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_OPTIM_TOLF)//"] expecting int value.") 909 910 call get_key_value(K_OPTIM_TOLG,buf) 911 optim_tolg = get_real(buf,ok) 912 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_OPTIM_TOLG)//"] expecting int value.") 913 914 call get_key_value(K_OPTIM_H_PREC,buf) 915 optim_H_PRECISION = get_real(buf,ok) 916 if ( .not. ok ) call stop_application("bad definition of key ["//trim(K_OPTIM_H_PREC)//"] expecting int value.") 917 918 919 !! Chromome initialisation 920 !! ----------------------- 921 922 call get_key_value(K_CHROM,buf2) 923 i=1; 924 nchr=0 925 926 do while ( i /= 0) 927 i=index(buf2,",") 928 if ( i /= 0 ) then 929 nchr = nchr+1 930 chromo_t(nchr) = trim(buf2(:i-1)) 931 buf2 = buf2(i+1:) 932 else 933 nchr = nchr+1 934 chromo_t(nchr) = trim(buf2) 935 end if 936 end do 937 938 allocate (chromo(nchr)) 939 chromo(:nchr)=chromo_t(:nchr) 940 ALLOCATE (nmk(nchr)) 941 942 call get_key_value(K_UNKNOWN_GENO,buf) 943 buf=trim(buf) 944 call init_pheno(nchr) 945 do chr=1,nchr 946 nmanque = set_pheno(chr,buf) 947 end do 948 949 ! INPUT FILES 950 !------------ 951 if ( key_exist(K_MAP) ) then 952 call get_key_value(K_MAP,in_carte) 953 call file_exist(in_carte) 954 mapFileDefined = .true. 955 else 956 mapFileDefined = .false. 957 end if 958 if ( key_exist(K_GENEA) ) then 959 call get_key_value(K_GENEA,in_genea) 960 call file_exist(in_genea) 961 geneaFileDefined = .true. 962 else 963 geneaFileDefined = .false. 964 end if 965 966 if ( key_exist(K_RACE) ) then 967 raceFileDefined=.true. 968 call get_key_value(K_RACE,in_race) 969 call file_exist(in_race) 970 end if 971 in_perfs = '' 972 if ( key_exist(K_TRAITS) ) then 973 call get_key_value(K_TRAITS,in_perfs(1)) 974 call file_exist(in_perfs(1)) 975 traitsFileDefined = .true. 976 !The model have to be declared... 977 if ( key_exist(K_MODEL) ) then 978 call get_key_value(K_MODEL,in_param_ef) 979 call file_exist(in_param_ef) 980 else 981 call stop_application("key ["//trim(K_TRAITS)//"] is defined. The key ["//trim(K_MODEL)//"] have to be set.") 982 end if 983 else 984 traitsFileDefined = .false. 985 end if 986 987 if ( key_exist(K_GENOTYPE) ) then 988 call get_key_value(K_GENOTYPE,in_typage) 989 call file_exist(in_typage) 990 genotypeFileDefined = .true. 991 else 992 genotypeFileDefined = .false. 993 end if 994 995 if (sim ) then 996 if ( key_exist(K_PARAMSIM) ) then 997 call get_key_value(K_PARAMSIM,in_parsim) 998 call file_exist(in_parsim) 999 else if ( .not. is_permute) then 1000 !call stop_application("key ["//trim(K_PARAMSIM)//"] is not defined.") 1001 in_parsim = "" ! by default we consider all traits defined in model 1002 end if 1003 1004 ! output lrt max file is now optional 1005 1006 if ( key_exist(K_OUTSIM) ) then 1007 call get_key_value(K_OUTSIM,simula) 1008 ! else 1009 ! call stop_application("key ["//trim(K_PARAMSIM)//"] is defined. The key ["//trim(K_OUTSIM)//"] have to be set.") 1010 end if 1011 1012 if ( is_permute .and. .not. key_exist(K_MODEL) ) then 1013 call stop_application("key ["//trim(K_MODEL)//& 1014 "] is not defined. To perform a permutation, you have to defined a model.") 1015 end if 1016 1017 else 1018 ! t_imp = .false. 1019 end if 1020 1021 ! check base.... 1022 1023 if ( .not. sim ) then 1024 if ( .not. mapFileDefined ) & 1025 call stop_application("Analysis case : You have to defined the key ["//trim(K_MAP)//"]") 1026 if ( .not. geneaFileDefined ) & 1027 call stop_application("Analysis case : You have to defined the key ["//trim(K_GENEA)//"]") 1028 if ( .not. traitsFileDefined ) & 1029 call stop_application("Analysis case : You have to defined the key ["//trim(K_TRAITS)//"]") 1030 if ( .not. genotypeFileDefined ) & 1031 call stop_application("Analysis case : You have to defined the key ["//trim(K_GENOTYPE)//"]") 1032 end if 1033 end subroutine initialize_qtlmap_context
initialize_tocartha_context
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
initialize_tocartha_context
DESCRIPTION
Initialize all public variables option come from the module m_qtlmap_data and file name to read for the binary qtlmap2cartha.
OUTPUTS
type_out : intercross 1, hybrid 2
NOTES
SOURCE
1144 subroutine initialize_tocartha_context(type_out) 1145 integer ,intent(out) :: type_out ! format of file : intercross 1, hybrid 2 1146 character(len=LEN_W) :: buf 1147 logical :: ok 1148 1149 if ( key_exist(K_GENEA) ) then 1150 call get_key_value(K_GENEA,in_genea) 1151 call file_exist(in_genea) 1152 else 1153 call stop_application("Analysis case : You have to defined the key ["//trim(K_GENEA)//"]") 1154 end if 1155 1156 if ( key_exist(K_GENOTYPE) ) then 1157 call get_key_value(K_GENOTYPE,in_typage) 1158 call file_exist(in_typage) 1159 else 1160 call stop_application("Analysis case : You have to defined the key ["//trim(K_GENOTYPE)//"]") 1161 end if 1162 1163 if ( .not. key_exist_file(K_UNKNOWN_GENO) ) then 1164 call stop_application("Analysis case : You have to defined the key ["//trim(K_UNKNOWN_GENO)//"]") 1165 end if 1166 1167 nchr=1 1168 allocate (chromo(nchr)) 1169 chromo='chromosome' 1170 allocate(nmk(nchr)) 1171 call get_key_value(K_UNKNOWN_GENO,buf) 1172 call init_pheno(nchr) 1173 buf=trim(buf) 1174 nmanque = set_pheno(1,buf) 1175 1176 if ( .not. key_exist("in_format") ) then 1177 call stop_application("Analysis case : You have to defined the key [in_format] 1 : intercross, 2 : hybrid") 1178 end if 1179 call get_key_value("in_format",buf) 1180 type_out = get_int(buf,ok) 1181 if ( .not. ok ) call stop_application("bad definition of key [in_format] expecting int value.") 1182 1183 1184 end subroutine initialize_tocartha_context
key_exist
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
key_exist
DESCRIPTION
True if the key exist in the parameter user file or if the key have a default value
NOTES
SOURCE
1243 function key_exist(keysearch) result(vexist) 1244 character(len=*) ,intent(in) :: keysearch 1245 1246 logical :: vexist 1247 integer :: i 1248 1249 if (allocated(keys)) then 1250 do i=1,size(keys) 1251 if ( trim(keys(i)) == trim(keysearch) ) then 1252 if ( trim(values(i)) /= '' ) then 1253 vexist=.true. 1254 return 1255 end if 1256 1257 end if 1258 end do 1259 end if 1260 1261 !if a default value exist... 1262 do i=1,size(index_key) 1263 if ( trim(index_key(i)) == trim(keysearch)) then 1264 if ( trim(default_values(i)) /= '') then 1265 vexist=.true. 1266 else 1267 vexist=.false. 1268 end if 1269 return 1270 end if 1271 end do 1272 1273 vexist=.false. 1274 return 1275 1276 end function key_exist
key_exist_file
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
key_exist_file
DESCRIPTION
True if the key exist in the parameter user file
NOTES
SOURCE
1286 function key_exist_file(keysearch) result(vexist) 1287 character(len=*) ,intent(in) :: keysearch 1288 1289 logical :: vexist 1290 integer :: i 1291 1292 if (allocated(keys)) then 1293 do i=1,size(keys) 1294 if ( trim(keys(i)) == trim(keysearch) ) then 1295 if ( trim(values(i)) /= '' ) then 1296 vexist=.true. 1297 return 1298 end if 1299 1300 end if 1301 end do 1302 end if 1303 1304 vexist=.false. 1305 return 1306 1307 end function key_exist_file
read_analyse_file
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
read_analyse_file
DESCRIPTION
read the parameter analyse user file. fill the internal buffer keys and values. keys and values are used like a stack (only the last value for the one specific key is considered)
INPUTS
param : name of the parameter file
NOTES
SOURCE
663 subroutine read_analyse_file(param) 664 character(len=LENGTH_MAX_FILE),intent(inout) :: param 665 666 integer :: ios_id = 20 667 integer :: n ,ios,cln,i,j,chr 668 character(len=LEN_W) :: buf 669 character(len=LEN_LINE) :: buf2 670 logical :: ok,find 671 real(kind=dp) :: pas_temp 672 673 analyse_file = trim(param) 674 call file_exist(analyse_file) 675 open(unit=ios_id,file=trim(analyse_file),action="read",form="formatted") 676 677 n = 0 678 ios = 0 679 ! count the number of line to record 680 do while ( ios == 0) 681 read(ios_id,*,iostat=ios) buf2 682 i = index (buf2,'#') 683 if ( i == 1 ) cycle 684 if ( ios == 0 .and. ( trim(buf2)/='') ) then 685 n = n + 1 686 end if 687 end do 688 689 !allocate structure 690 allocate (values(n)) 691 allocate(keys(n)) 692 keys='' 693 694 ! init structures 695 rewind(ios_id) 696 cln = 0! it s the current line 697 n = 0 698 ios=-2 699 do while ( ios /= -1 ) 700 call GET (ios_id,buf2,iostat=ios) 701 !remove comments 702 i = index (buf2,'#') 703 704 if ( i /= 0) then 705 if ( i == 1 ) buf2='' 706 if ( i > 1) buf2=trim(buf2(:i-1)) 707 end if 708 !probleme case 709 if (trim(buf2)=='' .or. ios /= 0 ) cycle 710 711 cln = cln+1 712 i = index (buf2,'=')! where is = 713 if ( i == 0) then 714 call stop_on_error(ios,analyse_file,cln,'bad expression of "key=value"'); 715 end if 716 717 ! search if the key if exist... 718 do j=1,n 719 if ( keys(j) == trim(buf2(1:i-1)) ) exit 720 end do 721 722 if ( j <= n ) then 723 keys(j) = trim(buf2(1:i-1)) 724 values(j) = trim(buf2(i+1:)) 725 else 726 n = n+1 727 keys(n) = trim(buf2(1:i-1)) 728 values(n) = trim(buf2(i+1:)) 729 end if 730 731 call log_mess("KEY ["//trim(keys(n))//"] = ["//trim(values(n))//"]",DEBUG_DEF) 732 733 end do 734 735 close(ios_id) 736 737 end subroutine read_analyse_file
set_haplotype_offspring_context
[ Top ] [ m_qtlmap_parameter_file ] [ Subroutines ]
NAME
set_haplotype_offspring_context
DESCRIPTION
Get index of markers (start and end) to print offspring haplotypes the binary qtlmap2cartha.
OUTPUTS
type_out : intercross 1, hybrid 2
NOTES
SOURCE
1070 subroutine set_haplotype_offspring_context(C,M1,M2,ok,namefile) 1071 integer , intent(out) :: M1,M2,C 1072 logical , intent(out) :: ok 1073 character(len=LENGTH_MAX_FILE) , intent(out) :: namefile 1074 character(len=LEN_W) :: buf 1075 integer :: C1=0,C2=0,ik 1076 logical :: found 1077 1078 ok=.false. 1079 namefile="" 1080 if ( key_exist(K_PHASES_OFFSPRING) ) then 1081 call get_key_value(K_PHASES_OFFSPRING,namefile) 1082 if ( key_exist(K_PHASES_OFFSPRING_MARK_START) ) then 1083 call get_key_value(K_PHASES_OFFSPRING_MARK_START,buf) 1084 found=.false. 1085 do c=1,nchr 1086 do ik=1,nmk(c) 1087 if ( trim(buf) == mark(c,ik) ) then 1088 M1 = ik 1089 C1 = c 1090 found=.true. 1091 end if 1092 end do 1093 end do 1094 if ( .not. found ) then 1095 call stop_application("Key ["//K_PHASES_OFFSPRING_MARK_START//"] can not found the marker:"//trim(buf)) 1096 end if 1097 else 1098 M1 = 1 1099 C1 = 1 1100 end if 1101 if ( key_exist(K_PHASES_OFFSPRING_MARK_END) ) then 1102 call get_key_value(K_PHASES_OFFSPRING_MARK_END,buf) 1103 found=.false. 1104 do c=1,nchr 1105 do ik=1,nmk(c) 1106 if ( trim(buf) == mark(c,ik) ) then 1107 M2 = ik 1108 C2 = c 1109 found=.true. 1110 end if 1111 end do 1112 end do 1113 if ( .not. found ) then 1114 call stop_application("Key ["//K_PHASES_OFFSPRING_MARK_END//"] can not found the marker:"//trim(buf)) 1115 end if 1116 else 1117 M2 = nmk(C1) 1118 C2 = C1 1119 end if 1120 1121 if ( C1 /= C2 ) then 1122 call stop_application("Key ["//K_PHASES_OFFSPRING_MARK_START//"] and key ["//& 1123 K_PHASES_OFFSPRING_MARK_END//"] are defined on different chromosomes.") 1124 end if 1125 C = C1 1126 ok = .true. 1127 end if 1128 1129 end subroutine set_haplotype_offspring_context