Genetic Map Construction

831 views
Skip to first unread message

bryan musungu

unread,
Sep 27, 2016, 11:03:31 AM9/27/16
to R/qtl discussion, Bryan - Ars Musungu
Hello Karl,

I am trying to make a genetic map for f2 population (139 genotype individuals and ~4000 markers) have been able to get through all the steps outlined in your manual.  I however ran into the issue the form linkage group formLinkageGroups() where all my markers fall into the first linkage group.  What would you suggest to deal with this and is this because when I imported the dataset with the read.cross() I did not include the cM between markers initially.

Thanks

Bryan

Karl Broman

unread,
Sep 27, 2016, 12:40:09 PM9/27/16
to rqtl...@googlegroups.com
In formLinkageGroups(), try different values for max.rf and min.lod and look at how many linkage groups are formed. Larger values of min.lod should result in more groups.

karl
> --
> You received this message because you are subscribed to the Google Groups "R/qtl discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rqtl-disc+...@googlegroups.com.
> To post to this group, send email to rqtl...@googlegroups.com.
> Visit this group at https://groups.google.com/group/rqtl-disc.
> For more options, visit https://groups.google.com/d/optout.

bryan musungu

unread,
Sep 29, 2016, 11:24:15 AM9/29/16
to R/qtl discussion
Hello Karl,

I had question regarding max.rf and min.lod.  Is there a range that isn't appropriate because I had values of max.rf=0.15 and min.lod=2.  I saw in the Rqtl book that the preferred range is max.rf =.3 and min.lod =8.

Thanks

Bryan

Karl Broman

unread,
Sep 29, 2016, 11:28:06 AM9/29/16
to rqtl...@googlegroups.com
I wouldn't use the term "inappropriate".

Small values of min.lod will result in markers being placed in the same linkage group when they're not really linked.

Large values of min.lod will result in linkage groups being in multiple pieces.

The values to choose depend on the type of cross, the sample size, the number of markers, and the number of chromosomes. It's hard to say in advance what to use.

karl

bryan musungu

unread,
Oct 4, 2016, 1:57:39 PM10/4/16
to R/qtl discussion
Thanks for the information Karl.  I was able to get it to work.  Another question I have is for the orderMarker() function takes a long time for 493 markers.  What would you suggest to speed up the analysis for orderMarker().

Karl Broman

unread,
Oct 4, 2016, 2:01:31 PM10/4/16
to rqtl...@googlegroups.com
Try using a smaller number for "window", or use use.ripple=FALSE
Try using a lower number for maxit; say maxit=10. Likely will get a bunch of warnings about lack of convergence, but you can ignore those. When you've established marker order, go back and get improved estimates of inter-marker distances with est.map().

karl

John Lovell

unread,
Oct 5, 2016, 10:28:46 AM10/5/16
to R/qtl discussion
Hi Bryan, 
Another options is to try to reduce the number of markers on a chromosome - its likely that you don't really need 493 markers, unless you have a ton of recombination. 
I have a function "dropSimilarMarkers" that drops similar markers based on their recombination fraction (retaining the markers with fewer NAs and less segregation distortion). 
Perhaps that would speed up your map construction. 
Cheers,
John

## Find the package here: https://github.com/jtlovell/qtlTools

## To get it:
library(devtools)
install_github("jtlovell/qtlTools")
library(qtlTools)

## To run it:
?dropSimilarMarkers

## An example:
set.seed(42)
map<-sim.map(len = c(50,20), n.mar = c(20,30), include.x=F)
cross0<-sim.cross(map, n.ind=50, type="f2", map.function="kosambi", error.prob=.01, missing.prob = .05)
cross0<-est.rf(cross0)
cross1<-dropSimilarMarkers(cross0)
plot.map(cross0, cross1)

bryan musungu

unread,
Oct 5, 2016, 11:39:47 AM10/5/16
to R/qtl discussion, Bryan - Ars Musungu
Hi John,

Thanks for the idea because I noticed some of my markers were showing segregation distortion. 

bryan musungu

unread,
Oct 6, 2016, 11:47:36 AM10/6/16
to R/qtl discussion
Also does R/qtl prefer the position of the markers in Mbp or cM.  Because previously I used Mbp when inserting the marker positions.

Bryan

Karl Broman

unread,
Oct 6, 2016, 2:41:34 PM10/6/16
to rqtl...@googlegroups.com
For QTL mapping, we want a genetic map, in cM. Functions like calc.genoprob and sim.geno need estimated recombination fractions, which are derived from the cM locations plus a map function.

karl

bryan musungu

unread,
Oct 7, 2016, 10:47:48 AM10/7/16
to R/qtl discussion
Additional question is whether my data is suffering from genotyping error( I posted my rf plot below).  Would you suggest removal of markers that fall outside of the linkage groups to remedy the issue.  Could this be due to markers with low rfs and high lods?

Bryan
rfPlot.tiff

John Lovell

unread,
Oct 10, 2016, 2:17:58 PM10/10/16
to R/qtl discussion
Bryan, its hard to know if there have been genotyping errors from the plot.rf output. 
Once you get your map down to a manageable number of markers and you are certain the marker order is correct, you could run calc.errorlod(), which gives you the probability of genotyping errors. .  

bryan musungu

unread,
Oct 24, 2016, 3:15:53 PM10/24/16
to R/qtl discussion
Thank you for help Karl so far.  I had questions with calc.errorlod() function.  Is the runtime long for anything greater than 1000 markers.

Bryan

Karl Broman

unread,
Oct 25, 2016, 1:06:15 PM10/25/16
to rqtl...@googlegroups.com
The run time for calc.errorlod increases with both number of markers and number of individuals.
I think it's linear in individuals and quadratic in the number of markers.

If you use calc.errorlod with version="old", it uses a somewhat different approach that is a lot faster and with computation time increasing linearly in the number of markers. But the newer (slower) version does a better job of picking out potential errors.

Personally, I no longer much use calc.errorlod; I instead rely on the HMM functions like calc.genoprob to smooth over genotyping errors without trying to pick out and clean the individual errors.

karl

bryan musungu

unread,
Oct 25, 2016, 2:48:47 PM10/25/16
to R/qtl discussion
Thanks for the idea Karl.

Bryan

bryan musungu

unread,
Nov 2, 2016, 1:55:07 PM11/2/16
to R/qtl discussion
I was looking at QTL guide book and for the function scanone(), does it use the sex column by setting the perm.Xsp=T. 

Bryan

Karl Broman

unread,
Nov 2, 2016, 2:15:55 PM11/2/16
to rqtl...@googlegroups.com
The sex phenotype column is needed for qtl analysis on the X chromosome, whether you're doing a permutation test or not, and whether perm.Xsp=TRUE or =FALSE.

The method of permutations is the same whether perm.Xsp=TRUE or =FALSE, and is not done stratified by sex. For the X chromosome in a backcross or intercross, males and females each have a single recombinant X chromosome, and we're effectively shuffling those across all individuals.

karl

bryan musungu

unread,
Nov 2, 2016, 2:52:50 PM11/2/16
to R/qtl discussion
Does that mean that the covariate approach highlighted in the qtl book is the proper way to look qtl when looking at sex as a trait.

Karl Broman

unread,
Nov 2, 2016, 2:56:19 PM11/2/16
to rqtl...@googlegroups.com
Could you say point to specific pages, because I don't quite understand what you mean.

And you're thinking of sex as a phenotype/outcome?

karl


> On Nov 2, 2016, at 1:52 PM, bryan musungu <bryan....@gmail.com> wrote:
>
> Does that mean that the covariate approach highlighted in the qtl book is the proper way to look qtl when looking at sex as a trait.
>

bryan musungu

unread,
Nov 2, 2016, 3:17:18 PM11/2/16
to R/qtl discussion
Yes, sex as a phenotype/outcome.  The page is 187 involving: the code is

> gutlength <- calc.genoprob(gutlength, step=1,

+ error.prob=0.001)

> out.0 <- scanone(gutlength)

> out.a <- scanone(gutlength, addcovar=x)

Karl Broman

unread,
Nov 2, 2016, 3:30:24 PM11/2/16
to rqtl...@googlegroups.com
If you're using sex as a phenotype, you wouldn't want to also include it as a covariate.

And you can't really deal with X chromosome data properly in this case. Our handling of the X chromosome presumes that the genetic causes of sex are understood (XX = female, XY = male), in which case sex as an outcome doesn't make much sense.

karl

bryan musungu

unread,
Nov 2, 2016, 4:13:06 PM11/2/16
to R/qtl discussion
Okay that makes sense, I was bit confused cause I was dealing with two different qtl analysis for female and male maps.  It makes more sense now though.

Bryan
Message has been deleted

bryan musungu

unread,
Dec 2, 2016, 11:26:17 AM12/2/16
to R/qtl discussion

I had another question on another project I am working on in regards to dealing with making a sex-specific maps(male and female) for F2 generation fish and treating as pseudo backcross.  Is it appropriate to select the crosstype as Backcross and generation F2 or to treat as just a Backcross when importing the two different maps?  I am currently doing this with Catfish also if that helps and I have been selecting markers based on their segregation patterns. 

bryan musungu

unread,
Dec 2, 2016, 11:31:11 AM12/2/16
to R/qtl discussion
My apologies I mean F1

dr.astha...@gmail.com

unread,
Dec 14, 2016, 2:00:17 PM12/14/16
to R/qtl discussion, bryan....@ars.usda.gov
Hi sir,
I had made linakge map with 341 SNP markers and 186 genotype using MapMaker software but length is too large.
So there is difference in criteria during construction of linkage map between ur software and others like joinmap or MapMaker.

What is the factors which may responsible for large linkage map length (cM) and How is can minimize?

I m using first time this R/qtl.
Kindly tell me command which required specifically for preparing the linkage map in brief.Because in tutorial so many commands which i dont undestand like in which command what criteria should use?
thanks

Karl Broman

unread,
Dec 14, 2016, 2:01:59 PM12/14/16
to rqtl...@googlegroups.com
The best source for information about linkage map construction in R/qtl is
http://www.rqtl.org/tutorials/geneticmaps.pdf

karl

astha gupta

unread,
Dec 15, 2016, 1:19:59 AM12/15/16
to rqtl...@googlegroups.com

Dear sir,
              I m getting this warning messge shown below.what it means?What should I do?

Please suggest me.


##############################################



> map33 <- read.cross("csv", "C:/Users/lenovo/Desktop/rqtl", "map33.csv")
 --Read the following data:
         186  individuals
         341  markers
         1  phenotypes
 --Estimating genetic map
 --Cross type: f2
Warning message:
In summary.cross(cross) :
  Some chromosomes > 1000 cM in length; there may be a problem with the genetic map.
  (Perhaps it is in basepairs?)


On Thu, Dec 15, 2016 at 12:31 AM, Karl Broman <kbr...@gmail.com> wrote:
The best source for information about linkage map construction in R/qtl is
http://www.rqtl.org/tutorials/geneticmaps.pdf

karl

> On Dec 14, 2016, at 12:30 PM, dr.astha...@gmail.com wrote:
>
> Hi sir,
> I had made linakge map with 341 SNP markers and 186 genotype using MapMaker software but length is too large.
> So there is difference in criteria during construction of linkage map between ur software and others like joinmap or MapMaker.
>
> What is the factors which may responsible for large linkage map length (cM) and How is can minimize?
>
> I m using first time this R/qtl.
> Kindly tell me command which required specifically for preparing the linkage map in brief.Because in tutorial so many commands which i dont undestand like in which command what criteria should use?
> thanks
>
> --
> You received this message because you are subscribed to the Google Groups "R/qtl discussion" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rqtl-disc+unsubscribe@googlegroups.com.
> To post to this group, send email to rqtl...@googlegroups.com.
> Visit this group at https://groups.google.com/group/rqtl-disc.
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to a topic in the Google Groups "R/qtl discussion" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/rqtl-disc/J1vbTOK2ss8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to rqtl-disc+unsubscribe@googlegroups.com.

Karl Broman

unread,
Dec 15, 2016, 7:33:01 AM12/15/16
to rqtl...@googlegroups.com
It means there is at least one chromosome with genetic map length > 1000 cM, which is suspiciously long. So you should look at the genetic map and see if maybe there are some misplaced markers or other problems.

karl
To unsubscribe from this group and stop receiving emails from it, send an email to rqtl-disc+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages