/
STATUS.txt
4041 lines (2797 loc) · 148 KB
/
STATUS.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Revision history for the R/qtl package
----------------------------------------------------------------------
copyright (c) 2001-2018, Karl W Broman
https://rqtl.org
The R/qtl package is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License,
version 3, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful,
but without any warranty; without even the implied warranty of
merchantability or fitness for a particular purpose. See the GNU
General Public License for more details.
A copy of the GNU General Public License, version 3, is available
at http://www.r-project.org/Licenses/GPL-3
----------------------------------------------------------------------
Version 1.43, 2018-03-19
Major changes:
None.
Minor changes:
Improved error message in scanone() when phenotypes are not numeric.
Small change in getgenonames() to avoid a problem if there aren't
enough allele codes.
plotLodProfile() now gives a more informative error message if
called with a null QTL model.
Version 1.42, 2018-02-19
Major changes:
Removed the functions plot.errorlod, plot.geno, plot.info,
plot.missing, plot.pheno, plot.pxg, and plot.rf. Changes in the
process of submitting packages to CRAN have made this necessary.
Each of the packages has alternative names that have been used in
the tutorials for some years:
plot.errorlod plotErrorlod
plot.geno plotGeno
plot.info plotInfo
plot.missing plotMissing
plot.pheno plotPheno
plot.pxg plotPXG
plot.rf plotRF
If you have old scripts that use these function names, add the
following code at the top:
source("https://rqtl.org/dotfunc.R")
Minor changes:
Fixed a bug in stepwiseqtl() regarding model="binary"; a number of
cases where I wasn't passing model to other functions, like
refineqtl().
Dealt with possibility NA LOD scores in refineqtl().
Removed questionable use of try() from subset.scanoneperm() and
subset.scantwoperm().
Fixed a bug in mqmscanfdr (to permute all chromosomes not just
chromosome 1).
Made estimate.map=FALSE the default in read.cross.
Revised read.cross for the "bcsft" cross type so that it should be
able to handle sep=";".
Removed the file vignettes/fancyheadings.sty
Fixed a couple of minor problems that showed up in byte-compiling
the package (breaks outside of loops and use of <<-)
Version 1.41, 2017-06-11
Major changes:
None.
Minor changes:
Fixed bugs in formMarkerCovar to give better error messages if
markers aren't found.
Fixed a bug in reviseXdata in case of intercross with both sexes but
backward direction only.
Fixed a bug in mqmscan that gave an error about duplicate row names.
Fixed a bug in summary.scantwo for the case of autosome/X chromosome
specific permutations.
Fix bugs in pull.argmaxgeno and pull.genoprob for 4-way crosses with
include.pos.info=TRUE. (Need to account for map being a matrix.)
Version 1.40, 2016-10-31
Major changes:
cim() now halts with an error for cross type "4way". The method has
not been implemented for 4-way crosses, and the results are not
meaningful.
Minor changes:
Small change to the way Bayesian credible intervals are calculated
by bayesint(), concerning the treatment of widths of intervals
between positions.
Fix bug in switchAlleles() so that it works with cross type "bcsft"
(and will give an appropriate error message for unsupported cross
types).
sim.cross gives a warning if model is specified but not used (this
is the case for RILs, where we've not implemented the simulation of
QTL effects)
plot.pxg (aka plotPXG) passes ... to plot(), so now you can control
the y-axis limits via ylim.
Fixed a problem with column names of output of scantwopermhk.
Version 1.39, 2016-03-04
Major changes:
Fixed a bug in scantwo() when using weights with multiple phenotypes
when some of the phenotypes contain missing values. (This is the
same as the bug fix in scanone in version 1.38. Reminder of
important principle: when you find a bug, look for other possible
instances of the same bug.)
Changed the color scheme for plot.scantwo and plot.rf from red/blue
rainbow to Viridis (see Option D at https://bids.github.io/colormap/)
The plot.rf function has a new argument col.scheme; if you want to
use the old red/blue scheme, use col.scheme="redblue".
Fixed a bug in cim() that was causing a segmentation fault.
Minor changes:
Added a function table2map() for converting a data frame with marker
positions (chr, position) into a map object.
Added a bit more detail in the help file for readMWril().
Version 1.38, 2015-12-03
Major changes:
Get rid of everything to do with degrees of freedom in scanone and
scantwo. The checks seem to offer little value but rather produce
cryptic warnings that confuse many users.
Fixed a bug in scanone() when using weights with multiple phenotypes
when some of the phenotypes contain missing values.
Minor changes:
In plotLodProfile, if col has length > 1 but no equal to the number
of QTL, give a warning, but either repeat or subset the vector
rather than just using the first value.
Modified read.cross with format "mm" to handle files with "bc" where
we usually see "backcross".
Version 1.37, 2015-08-24
Major changes:
None.
Minor changes:
In read.cross with format="csv", "mm", or "tidy", don't let it
reorder the chromosomes (which it would do if there were chromosomes
named other than numbers < 1000, "X", or "x").
drop.markers now gives an error if you try to drop *all* of the
markers.
If cross object contains no genotype data, totmar() and nmar() now
give more meaningful errors.
Fixed a bug in scantwo and scantwopermhk in which an error would
occur if reduce2grid had been called and assumeCondIndep=FALSE. Now
forcing assumeCondIndep=TRUE in this case.
Fixed a bug in plot.pxg, in the case that not all possible genotypes
were observed at a marker.
Fixed a bug in stepwiseqtl, where if covar is not a data frame, they
don't get considered in the model.
Fixed a bug in fill.geno for method="maxmarginal" (wasn't putting NAs in
genotypes with probability < min.prob)
Fixed a bug in refineqtl that arises when multiple QTL are at exactly
the same position, which can arise in stepwiseqtl.
Version 1.36, 2015-03-05
Major changes:
None.
Minor changes:
Added a function flip.order() for flipping the order of markers on
selected chromosomes.
Added scanonevar.meanperm and scanonevar.varperm (from Robert Corty)
for permutation tests with scanonevar().
Revised plotPheno (aka plot.pheno) so that one can control the
x-axis label and title (also, in a histogram, the breaks).
plotPXG: if infer=FALSE and there are no fully-informative genotypes
(e.g., in a 4-way cross), give a more informative error.
geno.image: allow control of x- and y-axis labels; allow suppression
of axes.
Removed some warnings about missing end-of-line characters, in
read.cross with MapQTL format.
Fixed a bug in scanonevar; was failing with an error about coercing
class "A" to a data.frame
Dropped the name summary.scantwo.old(); still available as
summaryScantwoOld().
Version 1.35, 2014-12-15:
Major changes:
None.
Minor changes:
Fix an important bug in summary.cross.
Change a couple of abs() to fabs() in C code.
Version 1.34, 2014-10-30:
Major changes:
Added ability to do X-chr-specific permutations in scantwo (argument
perm.Xsp, as in scanone). Separate thresholds are obtained for the
regions A:A, A:X, and X:X regions, maintaining control of the
overall false positive rates.
Added a function scantwopermhk that just performs scantwo
permutations with Haley-Knott regression; faster and with lower
memory usage than scantwo.
With X-chr-specific scantwo permutations, calc.penalties will give
separate main effect for autosome and X chromosome, and separate
interaction penalties for A:A, A:X, X:X. For A:A interactions, we
still use "light" and "heavy" penalties; for A:X and X:X
interactions, only the "heavy" penalty is used. These penalties may
be used in stepwiseqtl for better treatment of the X chromosome in
automated inference of multi-QTL models.
Added scanonevar() function, for a single-QTL genome scan for QTL
affecting not just the mean phenotype but also the variance. (Code
from Lars Ronnegard; method in Ronnegard and Valdar Genetics
188:435-447, 2011.)
Added "tidy" format to read.cross and write.cross. This separates
the data into three comma-delimited files, for genotypes,
phenotypes, and the marker map. Separating the data in this way
allows each file to be in a simpler format.
Minor changes:
Add another option to fill.geno: impute using maximum marginal
probability.
Add function map2table (output like pull.map with as.table=TRUE, but
starting with a map rather than with a cross).
Fixed a bug in est_map_ri8self.c (thanks to Rohan Shah)
Fixed a bug in scanone/scantwo stratified permutations in batch,
with multiple phenotypes, some with missing values (thanks to
John Lovell).
Fixed some bugs in read.cross with format="mapqtl".
Version 1.33, 2014-08-12:
Major changes:
Can read/write 4-way cross data in MapQTL format (thanks to Timothee
Flutre).
Minor changes:
read.cross with format="qtlcart" can now read doubled haploids
(dh/Ri0).
Fixed potential problem in read.cross with format="csv" or "csvs" when
there are many empty cells in the phenotype data.
Fixed bug in read.cross for format="csv" that shows up in some rare
cases: markers not ordered by linkage group, no positions provided,
and chromosome IDs non-numeric. It was a pretty bad bug, as marker
genotypes got scrambled.
Fixed some memory leaks in MQM code.
Version 1.32, 2014-05-28:
Major changes:
None.
Minor changes:
fitqtl with model="normal" now returns residuals as an attribute.
Added an additional argument to plot.scanone, bgrect, for making the
background of the plotting region a different color.
Revised cleanGeno to work with any cross having two possible
genotypes (i.e., not just bc but also riself, risib, dh, haploid).
Revised summary.cross so that overall genotype frequencies are given
separately for autosomes and the X chromosome.
Fixed typo in a warning in add.threshold.
Fixed a bug in reduce2grid, regarding format of attributes
Fixed a bug in MQM: in some circumstances, the last marker was
always included as cofactor; other cleanup in MQM code.
Version 1.31, 3/19/2014:
Major changes:
Added a function reduce2grid() for subsetting the genotype
probabilities (from calc.genoprob) or imputations (from sim.geno) to
the evenly spaced grid of pseudomarkers, for use in the case of very
dense markers when it is too computationally intensive to perform a
genome scan at both the markers and the grid of pseudomarkers.
Minor changes:
Fixed a problem in write.cross with format="csv" (for cross types
other than BC and F2, it would use incorrect genotype codes if there
was no "allele" attribute for the cross).
Add a couple of arguments to plotLodProfile: showallchr, to show all
chromosomes (and not just those with QTL), and textsep, to control
the separation between the QTL labels and the LOD curves.
Fix a bug in bcsft.c, regarding potentially over-running an array
Fix problem with plotLodProfile when it's maximized at multiple
locations.
Fix problem in refineqtl and stepwiseqtl; map attribute in qtl
object would get unintentionally subsetted if the qtl object needed
to be re-created.
In addqtl, addint, and addcovarint, have require.fullrank=FALSE be
the default; require.fullrank=TRUE remains the default in
stepwiseqtl.
Fixed bug in which summary.scantwo was re-ordering the chromosome
factor levels.
Version 1.30, 2/10/2014:
Major changes:
Revised parallel code (in scanone, scantwo, mqmpermutation, and
mqmscanall) to use a different function for Windows, as mclapply()
doesn't work there.
Minor changes:
Fixed problem in formLinkageGroups when used with results of
markerlrt(): no recombination fractions so use max.rf=Inf
Added arguments type, cex, pch, and bg to plot.scanone, to be passed
to lines() in making the plot. Thus, you can use type="p" to get
points only.
Fixed a bug in scanqtl that showed up if there were missing
phenotypes and no covariates.
Version 1.29, 12/9/2013:
Major changes:
None.
Minor changes:
Slight change to summary.qtl to deal with QTL objects with no QTL.
For the QTLRel package, now "export" reviseXdata() in NAMESPACE.
Version 1.28, 9/23/2013:
Major changes:
Added cross type "haploid". Like backcross ("bc") or doubled
haploids ("dh") but with genotype labels like "A" and "B" instead of
"AA" and "AB"/"BB".
Added crosstype argument to read.cross, to force a particular cross
type (such as "riself").
For parallel processing, replaced reliance on the snow library with
the use of the parallel library.
Minor changes:
Added formMarkerCovar(), to facilitate use of markers as covariates
in QTL analysis.
Added function addmarker() for adding genotypes for a marker to a
cross object.
Added function nqtl() for counting number of QTL in QTL object.
Added examples to help files for plotPXG and effectplot on getting the
output.
Slight change to way to handle random number generation for
cluster-based computing.
Fix bug in fitqtl-link functions for model="binary" (re matrix rank)
Fixed write.cross to allow use for BCsFt crosses.
Fixed an out-of-bounds error in the C++ code mqmscan.cpp.
In stepwiseqtl with verbose=FALSE, the initial LOD score is no
longer printed.
Version 1.27, 4/11/2013:
Major changes:
Implemented HMM algorithms for advanced backcross/intercross.
Minor changes:
Improvement in addqtl, addint, scanqtl, stepwiseqtl
to better handle collinearity in the design matrix that could give
spurious evidence for QTL in large QTL models. This can still be a
problem with addpair (and stepwiseqtl with scan.pairs=TRUE).
Slight change to help file for read.cross, to be more explicit about
the "csvs" format.
Fixed a bug in read.cross for format="qtlcart" with RIL data.
Made cross type in "qtlcart" files case insensitive in read.cross.
For example, any of Ri1, RI1, rI1, or ri1 will be treated the same.
Version 1.26, 11/27/2012:
Major changes:
We changed the treatment of the ind argument in subset.cross to
avoid problems that occurred when the cross contained numeric
individual IDs. Now, we match the values in ind against the
individual IDs only if ind values are character strings. If the ind
values are numeric, we treat them as numeric indices and they are
not compared against the individual IDs.
Minor changes:
In plot.rfmatrix, include marker name in title (unless main is
provided as an argument).
Add warning message to find.marker if there's no match for a given
chromosome name.
Slight change in find.markerpos(), to speed it up.
Slight change to locateXO to save genotypes to left and right of
each crossover.
Small addition to the "A shorter tutorial of R/qtl" (rqtltour2.pdf).
Fixed slight bug in summary.scanone for format="tabByChr" or
format="tabByCol".
Fixed bug in fitqtl for case that individuals have missing
phenotypes or covariates and there's a QTL on the X chromosome
Fixed bug in effectplot, regarding coding of genotypes on the X
chromosome.
Fixed bug in mqmscan for case when estimate.map=TRUE but plot=FALSE.
Fixed bug in c.cross for case that there are different sets of markers.
Fixed bug in xaxisloc.scanone for case that chromosomes don't start at 0.
Fixed bug in locateXO; gave core dump if there was just one marker on
the chromosome.
Fixed bug in scanone and scantwo for case that weights are used but
there are individuals with missing phenotype; the weights weren't
being subsetted appropriately.
Revised example help file for multitrait data to use mqmscanall
rather than scanall, since the latter function has no help file.
scanPhyloQTL now gives warning if there are different marker maps.
Fixed bug in mqmaugment; with one phenotype, its name was getting
changed to "pheno".
Version 1.25, 8/13/2012:
Major changes:
None.
Minor changes:
Revised write.cross to output data in "qtab" format; see
https://github.com/qtlHD/qtlHD/blob/master/doc/input/qtab.md
Revised summary.scanone to be more consistent about only picking one
row per chromosome even when there are multiple positions sharing
the maximum LOD on that chromosome.
Fixed bug in stepwiseqtl; backward deletion steps were not dealing
with the drop-one-qtl results from fitqtl appropriately.
Revised fitqtl to include formulas and lod scores as attribute in
drop-one-qtl analysis.
Fixed a bug in fitqtl regarding the adjustment for the X
chromosome. The problem shows up in stepwiseqtl; if X chr enters
model and is then removed, the covariates adjusting for sex and pgm
continue to be used. Added argument to refineqtl, fitqtl, scanqtl,
addqtl, addpair, to force X-related covariates into model.
In stepwiseqtl, include penalties as attribute in the output.
Slight change to checkcovar(): omit individuals with
phenotypes/covariates that are +/- Inf, as well as those that are
missing.
Handle missing values in mf.stahl and imf.stahl.
Fixed rare bug in fitqtl regarding X chr loci with interactions.
Fixed bug in sim.cross for type="bc" that resulted in loss of "X"
chromosome type.
Speed up some of the examples in the help file, so that R CMD check
doesn't take so long.
Version 1.24, 5/25/2012:
Major changes:
Fixed a major bug in checkcovar, used by scanone and scantwo to omit
individuals with missing phenotypes. If there is an "ID" column
that is numeric, the wrong individuals could be omitted, and
genotypes and phenotypes would be misaligned.
Changed the names of a number of functions, in order to avoid the
"Note" in R CMD check, and because Prof. Brian Ripley asked me to.
plot.map -> plotMap
plot.missing -> plotMissing
plot.errorlod -> plotErrorlod
plot.geno -> plotGeno
plot.info -> plotInfo
plot.pheno -> plotPheno
plot.pxg -> plotPXG
plot.rf -> plotRF
summary.map -> summaryMap
summary.scantwo.old -> summaryScantwoOld
Revised tutorials to use the new naming scheme.
Revised the emission probabilities for dominant markers in an F2,
for the HMM calculations. Previously, we had
Pr(O = not A | g = AA) = Pr(O = not B | g = BB) = epsilon/2
these have been changed to
Pr(O = not A | g = AA) = Pr(O = not B | g = BB) = epsilon
This corresponds to "not A" being "H or B"; similarly for not B.
Results will change only for an intercross with dominant markers,
and generally only slightly.
Minor changes:
Changes to the format of the output of summary.scanPhyloQTL for
format="lod". The final column is now the maximum LOD score across
partitions; the difference between the maximum and the
second-highest is now third-to-last; the threshold argument is
applied to the overall maximum rather than to that difference.
Revisions to read.cross (for the csv formats) from Steffen Moeller,
to give some more informative warnings/errors.
Fixed a bug in scantwo permutations in case that a chromosome has
multiple markers but they span < step from calc.genoprob.
Fixed a bug in interpPositions; problems if the input had missing
rownames.
Renamed the README.txt file as INSTALL_ME.txt; added a new
README.txt that provides a brief description of the package.
Version 1.23, 3/6/2012:
Major changes:
None.
Minor changes:
Added functions pull.genoprob, pull.argmaxgeno, and pull.draws, to
pull out those bits from a cross object as a single big matrix or
array.
Added a function inferFounderHap() for crudely inferring founder
haplotypes in multi-parent RIL, using groups of adjacent markers.
Added function nullmarkers() for identifying markers with no
genotype data.
Revised sim.cross so that founder genotypes are included in output,
for 4- and 8-way RIL.
Added HMM functions to handle a special design for MAGIC lines from
BioGemma (http://www.biogemma.fr/indexuk.php).
Revised subset.cross and clean.cross so that cross information in 4-
and 8-way RIL don't get lost.
Revised plot.pxg, effectplot and effectscan to give a more
informative error if the selected phenotype is not numeric.
Revised qtlversion() to use packageVersion().
Fixed bug in summary.map: class included the function data.frame;
not just the character string "data.frame".
Revised various utility functions to retain the "onlylod" attribute
in cross$rf, if it's there.
Version 1.22, 11/28/2011:
Major changes:
Revised plot.map to deal with a pair of maps with markers in
different orders (or with some markers appearing in one map and not
the other). We still require that the two maps have the same
chromosomes and chromosome names (with chromosomes in the same
order).
Revised scantwo to allow analysis of individual chromosome pairs,
and reorganized the way that scantwo permutations are done (first
summarizing each chromosome pair and then overall); this should
eliminate the memory problems we've had with scantwo permutations.
Minor changes:
Added warning to help file for fitqtl() regarding the estimated
percent variance explained in the case of linked loci: the values
are misleading.
Fixed problem in comparecrosses() regarding Inf/-Inf phenotypes.
Fixed a bug in scantwo, method="hk", for multiple phenotypes or
permutation tests in batch. This showed up only when there were
missing genotypes at one or both putative QTL.
write.cross with format="csv" now exports genotypes as AA/BB for
RIL (previously, genotypes were written as AA/AB).
Fixed bug in addint() and addcovarint()
Revised typingGap to have an argument 'terminal'; if TRUE, just look
at the gap from the terminal markers to the first typed interior
marker, giving 0 if the terminal markers are both typed.
Fixed bug in calc.genoprob with stepwidth="max" in the case that no
pseudomarkers are to be added.
Fixed bug in geno.table for the case that X chromosome has just one
observed genotype.
No longer allow "" in na.strings in read.cross for csv files.
Revised all calls to data.frame() and as.data.frame() to override
global option of stringsAsFactors, so that we know what's going to
happen.
Revised scantwo so that if the 'chr' argument is a list, we do just
the scans of the chr in the first component against those in the
second component.
Slight change in plot.info to deal with inclusion of 'main'
argument.
Added NAMESPACE file.
Slight changes to avoid some R warning messages.
Slight change to imf.cf to give more accurate results.
Fixed warning message in replacemap.
Fixed warning message in +.scanone.
Fixed bug in mqmfind.marker.
Fixed slight bugs in print.addint and print.addcovarint.
Removed a bunch of unused variables from C code.
Version 1.21, 3/21/2011:
Major changes:
None.
Minor changes:
Add "addchr" argument to find.pseudomarker. The default is TRUE,
and returned non-marker locations have names like "c5.loc25" (as in
the output of scanone). If FALSE, that initial "c5." part is left
off, to return just strings like "loc25" (as in the genotype
probabilities from calc.genoprob).
Revise calls to rainbow() in plot.rf and plot.scantwo so that they
no longer use the 'gamma' argument, which is being removed from
future versions of R.
Slight change to format of verbose output in est.map with m>0 (that
is, under interference).
Version 1.20, 2/18/2011:
Major changes:
Enabled est.map to use multiple processors via snow; added argument
n.cluster to indicate the number of cluster nodes to use.
Added the option stepwidth="max" in calc.genoprob, sim.geno, and
argmax.geno. This inserts the minimal number of pseudomarkers so
that the maximum step between points is as indicated by the "step"
argument.
Minor changes:
Fixed a bug in refineqtl() that kept it from working for a 4-way
cross. (The bug also broke stepwiseqtl().)
Fixed a problem in the internal function dropXcol() that led to a
crash in scantwo() for 4-way crosses with an X chromosome.
Fixed a bug in mqmscan() regarding the chromosome names in the
output.
Trap cases of X chromosome for crosses other than bc/f2 in
stepwiseqtl, makeqtl, addqtl, and addpair.
Added a function phenames() for pulling out the names of the
phenotypes.
Small revisions and enhancements to some of the MQM plots.
Revised subset.cross so that if the cross contains QTL genotypes
(from sim.cross), these are also subsetted.
Revised replacemap.cross (aka replace.map) so that it will also
replace the maps in results from calc.genoprob, sim.geno and
argmax.geno, using interpolation if necessary.
Fixed a couple of minor bugs in mqmscan: one giving duplicate row
names, another resulting in pseudomarkers outside the terminal
markers even when off.end=0.
Fixed bugs in scanone and scantwo regarding batch mode for
model != "normal".
Fixed a bug in refineqtl; it was including all possible covariates
refered to in the data frame 'covar', even if they weren't referred
to in the formula.
Fixed a bug in plot.geno, introduced in version 1.19, that made it
not work with horizontal=FALSE.
Version 1.19, 11/29/2010:
Major changes:
Added a tutorial on genetic map construction; find it within the
package at docs/geneticmaps.pdf, or (more simply, probably), find it
on the web at https://rqtl.org/tutorials/geneticmaps.pdf
Added two additional formats to summary.scanone(), "tabByCol" and
"tabByChr". These produce tables of LOD peaks organized by LOD
score column or by chromosome. The tables include approximate
confidence intervals for QTL location (as calculated by the lodint()
or bayesint() function; which one is indicated by the new argument
ci.function). Here's an example:
bp:
chr pos ci.low ci.high lod pval
c1.loc44.5 1 47.8 35.5 85.0 3.56 0.007
D4Mit164 4 29.5 18.8 30.6 8.09 0.000
sqrt:
chr pos ci.low ci.high lod pval
c1.loc44.5 1 47.8 35.5 84.8 3.63 0.007
D4Mit164 4 29.5 17.2 30.6 8.08 0.000
Minor changes:
Revised summary.scanoneperm to include a new argument,
controlAcrossCol. If TRUE, LOD thresholds will control error rate
not just across the genome but also across the LOD score columns.
Added function droponemarker, with the aim of identifying
problematic markers by dropping one marker at a time and calculating
a LOD score and a change in the estimated genetic length of the
respective chromosome.
Added a function pull.rf for pulling out either the estimated
recombination fractions or the lod scores, as calculated by
est.rf(), from a cross object. Also added a function plot.rfmatrix,
for plotting a slice through these.
Added a function cleanGeno for removing genotypes that are possibly
in error (as indicated by apparent tight double-crossovers). Use
this function with caution.
Added a function typingGap, which calculates, for each individual
and each chromosome, the maximum distance between typed markers.
Revised MQMscan so that the output contains covariate information,
to be plotted with add.cim.covar().
Revised c.scanone(), c.scanoneperm, c.scantwo, and c.scantwoperm so
that the input "..." can be a list of
scanone/scanoneperm/scantwo/scantwoperm objects.
Revised plot.geno() so that, for the X chromosome in a backcross or
intercross, the genotypes appear appropriately, with females being
homozygous or heterozygous and the males hemizygous, though we plot
the hemizygous genotypes as if they were homozygotes.
Revised subset.scanoneperm and subset.scantwoperm so that one may
pull out a subset of replicates (not just columns). Added functions
[.scanoneperm and [.scantwoperm so that one can use [] to subset.
Revised locateXO() so that the output contains a column with the
number of typed markers between adjacent crossovers.
In orderMarkers(), if verbose is numeric and > 1, even more
information on the progress of the calculations is provided.
Fixed a problem in subset.cross where, in the case that a cross
contained numeric IDs, subsetting the individuals resulted in them
being sorted according to their IDs.
Added a manual page for the function getid(), which was not previously
documented. (It is used internally a great deal, and it may be
useful more generally.)
Revised effectplot so that if mname2 or mark2 are given but mname1
and mark1 are not, the arguments get switched.
Fixed a bug in shiftmap().
Added an argument, force, to reviseXdata(), to force a change in the
genotypes; this is for use within plot.geno().
Slight change to top.errorlod, so that the output columns are not
factors but character strings.
Slight change in plot.geno() so that we use filled circles (pch=23) rather
than calling points() twice for each point.
Small changes to mqmplot.circle().
Subtle changes to tutorials new_multiqtl.pdf,
new_summary_scanone.pdf, new_summary_scantwo.pdf; added .R files
with the code for these tutorials.
Fixed slight bug in getid().
Version 1.18, 8/18/2010:
Major changes:
None.
Minor changes:
Revised geno.table so that, for 4-way crosses, it gives P-values in
most cases. (Previously, it just did so for fully informative
markers.)
Changed the default format for max.scanPhyloQTL and
summary.scanPhyloQTL from format="lod" to format="postprob".
Added function inferredpartitions for pulling out the inferred
partitions for a specified chromosome from the output of
scanPhyloQTL.
Fixed a problem in ripple with method="likelihood". (The problem
arose in revisions in version 1.17.)
Fixed a problem in est.map that resulted in NAs. (The problem arose
in revisions in version 1.17.)
Slight changes to "inverse" map functions imf.k, imf.h, imf.cf, so
that recombination fractions >= 0.5 return large map distances
rather than NAs.
Fixed a bug in summary.scanPhyloQTL so that it works when the input
has just one chromosome and so the colnames remain like "AB|CD"
rather than getting converted to "AB.CD".
Version 1.17, 7/28/2010:
Major changes:
Implemented the fit of models for binary traits in fitqtl(), by
Haley-Knott regression and multiple imputation. This model can also
be used in refineqtl, scanqtl, addqtl, addpair, addint, stepwiseqtl,
and addcovarint.
Implemented Haley-Knott regression for binary traits in scanone and
scantwo.
In mqmscan(), replaced the arguments step.min and step.max with
a single argument, off.end (to be more like scanone).
Added functions for the joint analysis of multiple crosses, in order
to map QTL to a phylogenetic tree. (A paper describing the methods
is in preparation.) The key function is scanPhyloQTL. simPhyloQTL
is used to simulate data. plot.scanPhyloQTL, max.scanPhyloQTL, and
summary.scanPhyloQTL are the plot, max, and summary functions for
the output from scanPhyloQTL.
Minor changes:
Added 'offset' argument to est.map, which defines the starting position
for each chromosome. If missing, we use the starting positions that
are currently present in the input cross object.
Added function shiftmap, for shifting the starting points of a
genetic map (in a map or cross object).