Go to home
Go to 1. monocentrics Vignette
Go to 2. holocentrics Vignette
Go to 3. groups Vignette
Go to 4. phylogeny Vignette
1 Karyotype of 400 bands
Organize chr. in rows using column OTU. (Adler, 1994)
chrName | group | shortArmSize | longArmSize |
---|---|---|---|
1 | A | 5.600 | 5.890 |
2 | A | 4.245 | 6.715 |
3 | A | 4.220 | 4.720 |
4 | B | 2.240 | 6.165 |
5 | B | 2.110 | 5.920 |
6 | C | 2.880 | 4.835 |
FstRow<-length(which(humChr$group %in% c("A","B") ) ) # groups in 1st row
SndRow<-length(which(humChr$group %in% "C" ) ) # groups in second row
TrdRow<-length(which(humChr$group %in% c("D","E") ) ) # groups in third row
FrtRow<-length(which(humChr$group %in% c("F","G","sex") ) ) # groups in forth row
OTUdf<-data.frame(OTU=c(rep("otu1",FstRow),
rep("otu2",SndRow),
rep("otu3",TrdRow),
rep("otu4",FrtRow)
), stringsAsFactors=FALSE # c
) # df
OTUdf$chrName<-humChr$chrName
humChr$OTU<-OTUdf$OTU
Add OTU info. to data.frame of marks’ position
chrName | markName | chrRegion | markDistCen | markSize | |
---|---|---|---|---|---|
2 | 1 | chr1p36.3 | p | 5.290 | 0.310 |
3 | 1 | chr1p36.2 | p | 5.100 | 0.190 |
4 | 1 | chr1p36.1 | p | 4.680 | 0.420 |
5 | 1 | chr1p35 | p | 4.435 | 0.245 |
6 | 1 | chr1p34.3 | p | 4.270 | 0.165 |
7 | 1 | chr1p34.2 | p | 4.110 | 0.160 |
This is the data.frame of mark characteristics
markName | markColor | style | |
---|---|---|---|
2 | chr1p36.3 | white | square |
3 | chr1p36.2 | black | square |
4 | chr1p36.1 | white | square |
5 | chr1p35 | black | square |
6 | chr1p34.3 | white | square |
7 | chr1p34.2 | black | square |
2 Plot
# fig.width=10, fig.height=28
plotIdiograms(humChr, # data.frame of chromosome size (in package)
humMarkPos, # df of mark positions (in package)
dfMarkColor = humMarkColor, # df of mark characteristics (in package)
addOTUName = FALSE, # do not add name of OTU
karHeight = 6,
karHeiSpace = 7, # vertical spacing among OTU
amoSepar = 7, # reduce distance among OTUs
karIndex = FALSE, # do not add karyotype indices
distTextChr = 1.5, # distance from chr. to text.
chrColor = "black", # chr. color
chrIndex = FALSE, # add chromosome indices
morpho = FALSE, # add morphological categories
centromereSize = 0, # apparent centromere size
roundness = 10, # roundness of chr. and marks
legend = "inline", # mark labels next to chr.
markLabelSize = .5, # size of legend font
pattern= "chr[0-9XY]+", # REGEX pattern to remove from name of marks
indexIdTextSize = 2, # font size of chr name and indices
lwd.chr=.5, # width of chr and mark borders
rulerNumberSize = .9, # font size of ruler
rulerNumberPos = 2, # position of ruler
xlimRightMod = 0, # space to the right of karyotype
ylimBotMod = -.6 # modify ylim of bottom
,asp=1 # y x aspect
)
3 Robertsonian Translocations
This procedure transforms the data of long arms of the chromosomes 13 and 21 from data.frames of chr. and marks in a derivative (Robertson, 1916).
# extract 13 data
humChr13<-humChr[which(humChr$chrName %in% 13),]
humMarkPos13<-humMarkPos[which(humMarkPos$chrName %in% 13),]
# extract 21 data
humChr21<-humChr[which(humChr$chrName %in% 21),]
humMarkPos21<-humMarkPos[which(humMarkPos$chrName %in% 21),]
# Making derivative data.frame of Marks
# remove p arm from 21
humMarkPos21Der<-humMarkPos21[humMarkPos21$chrRegion=="q",]
humMarkPos21Der$chrRegion<-"p"
# remove p arm from 13
humMarkPos13Der<-humMarkPos13[humMarkPos13$chrRegion=="q",]
# rename fragments
humMarkPos21Der$chrName<-"t(13;21)"
humMarkPos13Der$chrName<-"t(13;21)"
# merge fragments of Marks
humMarkPosDer<-rbind(humMarkPos21Der,humMarkPos13Der)
# Making derivative data.frame of chr. size
humChrDer<-humChr13
humChrDer$shortArmSize<-humChr21$longArmSize
humChrDer$chrName<-"t(13;21)"
# Make data.frame of chr. to plot
humChr1321der<-rbind(humChr13, humChrDer , humChr21)
humChr1321der<-humChr1321der[,c("chrName","shortArmSize","longArmSize"),]
# marks for them, together:
humMarkPos1321Der<-rbind(humMarkPos13, humMarkPos21, humMarkPosDer)
humMarkPos1321Der$OTU<-NULL
plot of t(13;21)
plotIdiograms(humChr1321der, # data.frame of size of chr.
humMarkPos1321Der, # d.f of position of marks
dfMarkColor = humMarkColor, # d.f of style of marks
addOTUName = FALSE, # do not add OTU name
centromereSize=0, # apparent size of centromere
roundness=5, # roundness of vertices of chr. and marks
chrColor = "black", # chr. color
karHeight = 4, # karyotype height without spacing
chrIndex = FALSE, # do not add chr. indices
karIndex = FALSE, # do not add karyotype indices
distTextChr = 2, # distance from chr. to text.
morpho = FALSE, # do not add chr. morphology
markLabelSize = .5, # font size of chr. mark labels
legend = "inline", # mark labels next to chr.
pattern="chr[0-9]+", # REGEX pattern to remove from mark names
lwd.chr=.9, # width of chr and mark borders
rulerNumberSize = .9, # ruler font size
rulerNumberPos = 2, # ruler number position
ruler.tck = -.03, # tick of ruler, orientation and size
ylimBotMod = -.15 # modify ylim bottom argument
,asp=1 # y x aspect ratio
)
4 Function
robert
That can be included in a function. We can do any Robertsonian translocation using:
chrt13q14q<-robert(humChr,humMarkPos,13,14,"q","q")
# which produces a list of two data.frames:
# 1. chr sizes
dfChrSizeDer<-chrt13q14q$dfChrSizeDer
# remove the group column
dfChrSizeDer<-dfChrSizeDer[ , !(names(dfChrSizeDer) %in% "group")]
# 2. marks' positions
dfMarkPosDer<-chrt13q14q$dfMarkPosDer
head(dfMarkPosDer)
chrName | markName | chrRegion | markDistCen | markSize | OTU | |
---|---|---|---|---|---|---|
613 | t(13;14)(q10:q10) | chr14q11.1 | p | 0.000 | 0.125 | otu3 |
713 | t(13;14)(q10:q10) | chr14q11.2 | p | 0.125 | 0.330 | otu3 |
813 | t(13;14)(q10:q10) | chr14q12 | p | 0.455 | 0.335 | otu3 |
913 | t(13;14)(q10:q10) | chr14q13 | p | 0.790 | 0.305 | otu3 |
1013 | t(13;14)(q10:q10) | chr14q21 | p | 1.095 | 0.600 | otu3 |
1113 | t(13;14)(q10:q10) | chr14q22 | p | 1.695 | 0.330 | otu3 |
plot of t(13;14)
par(mar=c(0,2,.5,0))
plotIdiograms(dfChrSizeDer, # data.frame of chromosome size
dfMarkPosDer, # df of mark positions
dfMarkColor = humMarkColor, # df of mark characteristics (in package)
addOTUName = FALSE, # do not add name of OTU
karIndex = FALSE, # do not add karyotype indices
morpho = FALSE, # do not add morphological categories
chrIndex = FALSE, # do not add chromosome indices
chrColor = "black", # chr. color
chrWidth = 1, # chromosome width
karHeight = 9, # kar. height without space
centromereSize = 0, # apparent centromere size
roundness = 7, # roundness of chr. and marks
markLabelSize = .5, # size of legend font
legend = "inline", # mark labels next to chr.
pattern= "chr[0-9XY]+", # REGEX pattern to remove from name of marks
distTextChr = 6, # distance from chr. to text.
indexIdTextSize = 2, # font size of chr name and indices
lwd.chr=.5, # width of chr and mark borders
rulerNumberSize = .9, # font size of ruler
rulerNumberPos = 1 # position of ruler
,xlimLeftMod = 4 # space to the right of karyotype
,asp=1 # aspect ratio y x
)
References
Adler D. 1994. Idiogram album. http://www.pathology.washington.edu/research/cytopages/idiograms/human/
Robertson WRB. 1916. Chromosome studies. I. Taxonomic relationships shown in the chromosomes of tettigidae and acrididae: V-shaped chromosomes and their significance in acrididae, locustidae, and gryllidae: Chromosomes and variation Journal of MorphologyWiley Online Library, 27(2): 179–331. https://onlinelibrary.wiley.com/doi/abs/10.1002/jmor.1050270202