stephenturner / qqman

An R package for creating Q-Q and manhattan plots from GWAS results
http://cran.r-project.org/web/packages/qqman/
GNU General Public License v3.0
154 stars 92 forks source link

Manhattan Plot function -- X-axis fit and Y-axis fit #16

Closed tushardave26 closed 10 years ago

tushardave26 commented 10 years ago

I am currently using manhattan () function for my GWAS data and found two isuues with it.

(1) All chromosome number (i.e. 1.. 22) does not appear on x-axis though you make the font-size small with cex.axis

(2) the data points are not being fitted on Y-axis and are projected beyond the y-axis length. By reading your function, I believe, the function is calculating Y-axis limit based on max p-value. Still my data points are not well fitted.

Any quick solution to resolve this issue forever.

Thanks.

stephenturner commented 10 years ago

(1) Make the image larger. e.g.

png("myplot.png", width=2000, height=1500)
manhattan(...)
dev.off()

(2) can you provide some example data? for what it's worth, using the dev branch will allow you to specify ylim manually.

tushardave26 commented 10 years ago

Thanks Stephen. I am aware of manual fixing of ylim. But it would be hard to decide what limit should be the best for every other data sets as p-values are not the same in every data sets. What's your thoughts on this.? By the way how can I provide you sample data set? By email or attaching here on github?

stephenturner commented 10 years ago

https://gist.github.com/

tushardave26 commented 10 years ago

Here i sthe lisnk to the file https://gist.github.com/tushardave26/785b3ba7694d73bf7588

Other issue I just noticed that the x-axis line is started from 1 unit apart from the y-axis. So the axis are apart from each other and not closer to each other. I hope this make sense.

Thanks for your help.

stephenturner commented 10 years ago

I'm pretty sure I'm not cutting off your lowest p-value. The reason there's the space there is because you're only plotting a filtered list of p-values (less than .001). You can fix that with a ylim argument.

png("~/Desktop/test.png", w=2300, h=1200, pointsize=20)
manhattan(d, ylim=c(2,13))
dev.off()

test

tushardave26 commented 10 years ago

I understood what you meant by ylim oprtion. But my question was that. See below blue highlighted section in image. How can i reduce that distance. I hope that I make myself clear at this time.

manhattanplot_issue

stephenturner commented 10 years ago

Thanks for the pic. Yes, this makes it clear. The way I'm plotting the axes, ticks, and labels, I don't think it's possible to change this. The idea is to have the tick and label in the center of the chromosome by position from start to end. This will always result in that space at the beginning. I suppose it wouldn't be misconduct by any means to photoshop a black line connecting the axes if you'd like. Not sure how to best implement this option in the code.