35
R/qtl2: progress & plans Karl Broman Biostatistics & Medical Informatics, UW–Madison kbroman.org github.com/kbroman @kwbroman Slides: bit.ly/Memphis2016

R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

R/qtl2: progress & plans

Karl Broman

Biostatistics & Medical Informatics, UW–Madison

kbroman.orggithub.com/kbroman

@kwbromanSlides: bit.ly/Memphis2016

Page 2: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

R/qtl

0

5000

10000

15000

20000

25000

30000

35000

●●

● ●●●

●●●

●●

●●●

●●

●●●●● ● ● ● ● ●

● ●●●●●●

●● ● ● ● ●

Year

Line

s of

cod

e

●● ● ●

● ●●

●●

●●●●

● ● ●●

●●●

●●

●● ●●● ● ● ● ● ●

● ●●●●●●●● ● ● ● ●

●●

● ● ● ● ●● ●●

●●●●

●●

●●●●●

●●●●

●●● ● ● ● ● ● ● ●●●●●●●● ● ● ● ●

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016

idea svn git

R

C

doc

2

Page 3: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Intercross

P1 P2

F1 F1

F2

3

Page 4: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

QTL mapping

0

2

4

6

8

Chromosome

LOD

sco

re

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 X

BB BR RR

0.8

0.9

1.0

1.1

4

Page 5: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

The “future”

Alan Attie

5

Page 6: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Multi-parent populations

combine mix fix

Valdar et al., Genetics 172:1783, 2006

6

Page 7: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: diagnostics

kbroman.wordpress.com/2012/04/25/microarrays-suck7

Page 8: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: scale of results

genotypes phenotypes

8

Page 9: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: scale of results

genotypes phenotypes

results

8

Page 10: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 11: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 12: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 13: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 14: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 15: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 16: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: organizing, automating

genotypes phenotypes

9

Page 17: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Challenges: metadata

What the heck is FAD_NAD SI 8.3_3.3G?

10

Page 18: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

What was the question again?

11

Page 19: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

The ridiculome

12

Page 20: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Multivariate phenotypes

13

Page 21: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Multivariate phenotypes

13

Page 22: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Composite phenotypes

Shaffer et al. (2013) J Dent Res 92:32-3714

Page 23: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

R/qtl

0

5000

10000

15000

20000

25000

30000

35000

●●

● ●●●

●●●

●●

●●●

●●

●●●●● ● ● ● ● ●

● ●●●●●●

●● ● ● ● ●

Year

Line

s of

cod

e

●● ● ●

● ●●

●●

●●●●

● ● ●●

●●●

●●

●● ●●● ● ● ● ● ●

● ●●●●●●●● ● ● ● ●

●●

● ● ● ● ●● ●●

●●●●

●●

●●●●●

●●●●

●●● ● ● ● ● ● ● ●●●●●●●● ● ● ● ●

2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016

idea svn git

R

C

doc

15

Page 24: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Good things

▶ HMM code▶ basic user interface▶ comprehensive▶ diagnostics and data visualization▶ quite flexible

16

Page 25: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Good things▶ HMM code▶ basic user interface▶ comprehensive▶ diagnostics and data visualization▶ quite flexible

16

Page 26: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Bad things

17

Page 27: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Stupidest code ever

n <- ncol(data)temp <- rep(FALSE ,n)for(i in 1:n) {

temp[i] <- all(data[2,1:i]=="")if(!temp[i]) break

}if(!any(temp)) stop("...")n.phe <- max((1:n)[temp])

18

Page 28: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Input file

BBBBSBSBBB1m260.4547.1215

BBSB−−−1m395.2551.4814

BBSB−−−1m275.6360.9413

SBSBSBBBSB1m133.0538.6412

SBSB−−−1m184.1265.6311

SBSBBBBBBB1m154.8859.4710

SSSS−−−1m191.5459.269

SBSB−−−1m181.0565.318

SSSSBBSBSB1m126.1378.067

SBSBSBSBBB1m131.91586

BBBB−−−1m178.5888.335

SBSBSBSBBB1m153.1661.924

48.138.3110.451.427.33

221112

D2Mit75D2Mit379D1Mit17D1Mit80D1Mit18pgmsexspleenliver1

IHGFEDCBA

19

Page 29: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Open source meanseveryone can see my stupid mistakes

Version control meanseveryone can see every stupid mistake I’ve evermade

20

Page 30: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Open source meanseveryone can see my stupid mistakes

Version control meanseveryone can see every stupid mistake I’ve evermade

20

Page 31: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Baroque data structures

attr(mycross$geno[["X"]]$probs, "map")

21

Page 32: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

R/qtl2

▶ High-density genotypes▶ High-dimensional phenotypes▶ Multi-parent populations▶ Linear mixed models

22

Page 33: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

R/qtl2: Let’s not make the same mistakes

▶ C++ and Rcpp▶ Simpler documentation▶ Unit tests▶ A single “switch” for cross type

▶ Split into multiple packages▶ Yet another data input format▶ Flatter data structures, but still complex

23

Page 34: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

R/qtl2: Let’s not make the same mistakes

▶ C++ and Rcpp▶ Simpler documentation▶ Unit tests▶ A single “switch” for cross type▶ Split into multiple packages▶ Yet another data input format▶ Flatter data structures, but still complex

23

Page 35: R/qtl2: progress & plans · 2018. 2. 15. · 14 51.48 395.25 m 1 - sb bb 13 60.94 275.63 m 1 - sb bb 12 38.64 133.05 m 1 sb bb sb sb sb 11 65.63 184.12 m 1 - sb sb 10 59.47 154.88

Slides: bit.ly/Memphis2016

kbroman.org

github.com/kbroman

@kwbroman

24