a$newname <- paste(a$SNP, a$GENE) manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",annotatePval = 0.0001) However note that I do not use manhattan() so you may need to alter the parameters as I am assuming a is where it finds the remaining parameters. You may also need to play with the sep =, and collapse = parameters to paste() to get the precise layout you want. Michael On 19/05/2020 17:21, Ana Marija wrote:> Hi Michael, > > can you please send me code how that would be done? > > Thanks > Ana > > On Tue, May 19, 2020 at 11:18 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote: >> >> Dear Ana >> >> Perhaps paste together SNP and GENE using paste() and then supply that >> as the snp parameter. >> >> Michael >> >> On 19/05/2020 17:12, Ana Marija wrote: >>> Hello, >>> >>> I am making manhattan plot with: >>> library(qqman) >>> manhattan(a, chr="CHR", bp="BP", snp="SNP", p="P",annotatePval = 0.0001) >>> >>> and I would like to annotate these two SNPs which are above the >>> threshold so that they have GENE name beside them: >>> >>>> a[a$SNP=="rs4081570",] >>> SNP P CHR BP GENE >>> 1 rs4081570 6.564447e-05 19 15918647 UCA1 >>>> a[a$SNP=="rs11867934",] >>> SNP P CHR BP GENE >>> 1021 rs11867934 6.738066e-06 17 16933404 FLCN >>> >>> Right now my plot only has SNP name for those 2, how to add GENE names >>> (FLCN and UCA1 as well) >>> >>> Please advise >>> Ana >>> >>> >>> >>> ______________________________________________ >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>> https://stat.ethz.ch/mailman/listinfo/r-help >>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>> and provide commented, minimal, self-contained, reproducible code. >>> >> >> -- >> Michael >> http://www.dewey.myzen.co.uk/home.html >-- Michael http://www.dewey.myzen.co.uk/home.html
HI Michael, Thank you so much! That worked!!! Now I am just trying to increase the size of text of SNP and GENE on plot I tried this: a$newname <- paste(a$SNP,"\n", a$GENE) manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",cex 0.5,annotatePval = 0.0001) but I am getting this error: Error in textxy(topSNPs$pos, -log10(topSNPs$P), offset = 0.625, labs topSNPs$SNP, : formal argument "cex" matched by multiple actual arguments Do you by any chance know how to do this? Cheers Ana On Wed, May 20, 2020 at 4:12 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote:> > a$newname <- paste(a$SNP, a$GENE) > manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",annotatePval = 0.0001) > > However note that I do not use manhattan() so you may need to alter the > parameters as I am assuming a is where it finds the remaining parameters. > > You may also need to play with the sep =, and collapse = parameters to > paste() to get the precise layout you want. > > Michael > > On 19/05/2020 17:21, Ana Marija wrote: > > Hi Michael, > > > > can you please send me code how that would be done? > > > > Thanks > > Ana > > > > On Tue, May 19, 2020 at 11:18 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote: > >> > >> Dear Ana > >> > >> Perhaps paste together SNP and GENE using paste() and then supply that > >> as the snp parameter. > >> > >> Michael > >> > >> On 19/05/2020 17:12, Ana Marija wrote: > >>> Hello, > >>> > >>> I am making manhattan plot with: > >>> library(qqman) > >>> manhattan(a, chr="CHR", bp="BP", snp="SNP", p="P",annotatePval = 0.0001) > >>> > >>> and I would like to annotate these two SNPs which are above the > >>> threshold so that they have GENE name beside them: > >>> > >>>> a[a$SNP=="rs4081570",] > >>> SNP P CHR BP GENE > >>> 1 rs4081570 6.564447e-05 19 15918647 UCA1 > >>>> a[a$SNP=="rs11867934",] > >>> SNP P CHR BP GENE > >>> 1021 rs11867934 6.738066e-06 17 16933404 FLCN > >>> > >>> Right now my plot only has SNP name for those 2, how to add GENE names > >>> (FLCN and UCA1 as well) > >>> > >>> Please advise > >>> Ana > >>> > >>> > >>> > >>> ______________________________________________ > >>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > >>> https://stat.ethz.ch/mailman/listinfo/r-help > >>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > >>> and provide commented, minimal, self-contained, reproducible code. > >>> > >> > >> -- > >> Michael > >> http://www.dewey.myzen.co.uk/home.html > > > > -- > Michael > http://www.dewey.myzen.co.uk/home.html
Dear Ana That looks like something is hard coded in manhattan(). The simplest thing might be to contact the maintainer of the package and ask. You can make a copy of manhattan or textxy and modify them but I think the maintainer is the simplest course of action. Michael On 20/05/2020 16:10, Ana Marija wrote:> HI Michael, > > Thank you so much! > That worked!!! Now I am just trying to increase the size of text of > SNP and GENE on plot > > I tried this: > > a$newname <- paste(a$SNP,"\n", a$GENE) > manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",cex > 0.5,annotatePval = 0.0001) > > but I am getting this error: > > Error in textxy(topSNPs$pos, -log10(topSNPs$P), offset = 0.625, labs > topSNPs$SNP, : > formal argument "cex" matched by multiple actual arguments > > Do you by any chance know how to do this? > > Cheers > Ana > > On Wed, May 20, 2020 at 4:12 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote: >> >> a$newname <- paste(a$SNP, a$GENE) >> manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",annotatePval = 0.0001) >> >> However note that I do not use manhattan() so you may need to alter the >> parameters as I am assuming a is where it finds the remaining parameters. >> >> You may also need to play with the sep =, and collapse = parameters to >> paste() to get the precise layout you want. >> >> Michael >> >> On 19/05/2020 17:21, Ana Marija wrote: >>> Hi Michael, >>> >>> can you please send me code how that would be done? >>> >>> Thanks >>> Ana >>> >>> On Tue, May 19, 2020 at 11:18 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote: >>>> >>>> Dear Ana >>>> >>>> Perhaps paste together SNP and GENE using paste() and then supply that >>>> as the snp parameter. >>>> >>>> Michael >>>> >>>> On 19/05/2020 17:12, Ana Marija wrote: >>>>> Hello, >>>>> >>>>> I am making manhattan plot with: >>>>> library(qqman) >>>>> manhattan(a, chr="CHR", bp="BP", snp="SNP", p="P",annotatePval = 0.0001) >>>>> >>>>> and I would like to annotate these two SNPs which are above the >>>>> threshold so that they have GENE name beside them: >>>>> >>>>>> a[a$SNP=="rs4081570",] >>>>> SNP P CHR BP GENE >>>>> 1 rs4081570 6.564447e-05 19 15918647 UCA1 >>>>>> a[a$SNP=="rs11867934",] >>>>> SNP P CHR BP GENE >>>>> 1021 rs11867934 6.738066e-06 17 16933404 FLCN >>>>> >>>>> Right now my plot only has SNP name for those 2, how to add GENE names >>>>> (FLCN and UCA1 as well) >>>>> >>>>> Please advise >>>>> Ana >>>>> >>>>> >>>>> >>>>> ______________________________________________ >>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>>>> and provide commented, minimal, self-contained, reproducible code. >>>>> >>>> >>>> -- >>>> Michael >>>> http://www.dewey.myzen.co.uk/home.html >>> >> >> -- >> Michael >> http://www.dewey.myzen.co.uk/home.html >-- Michael http://www.dewey.myzen.co.uk/home.html
Paul Murrell
2020-May-20 20:49 UTC
[R] [FORGED] Re: text annotation on Manhattn plot in qqman
Hi Something like this might do what you want ... ## From example(manhattan) manhattan(gwasResults, annotatePval = 0.0001) library(gridGraphics) grid.echo() ## grid.ls() ## The annotations have "text" in their name labels <- grid.grep("text", grep=TRUE) grid.edit(labels, gp=gpar(cex=1)) Hope that helps Paul On 21/05/20 3:10 am, Ana Marija wrote:> HI Michael, > > Thank you so much! > That worked!!! Now I am just trying to increase the size of text of > SNP and GENE on plot > > I tried this: > > a$newname <- paste(a$SNP,"\n", a$GENE) > manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",cex > 0.5,annotatePval = 0.0001) > > but I am getting this error: > > Error in textxy(topSNPs$pos, -log10(topSNPs$P), offset = 0.625, labs > topSNPs$SNP, : > formal argument "cex" matched by multiple actual arguments > > Do you by any chance know how to do this? > > Cheers > Ana > > On Wed, May 20, 2020 at 4:12 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote: >> >> a$newname <- paste(a$SNP, a$GENE) >> manhattan(a, chr="CHR", bp="BP", snp="newname", p="P",annotatePval = 0.0001) >> >> However note that I do not use manhattan() so you may need to alter the >> parameters as I am assuming a is where it finds the remaining parameters. >> >> You may also need to play with the sep =, and collapse = parameters to >> paste() to get the precise layout you want. >> >> Michael >> >> On 19/05/2020 17:21, Ana Marija wrote: >>> Hi Michael, >>> >>> can you please send me code how that would be done? >>> >>> Thanks >>> Ana >>> >>> On Tue, May 19, 2020 at 11:18 AM Michael Dewey <lists at dewey.myzen.co.uk> wrote: >>>> >>>> Dear Ana >>>> >>>> Perhaps paste together SNP and GENE using paste() and then supply that >>>> as the snp parameter. >>>> >>>> Michael >>>> >>>> On 19/05/2020 17:12, Ana Marija wrote: >>>>> Hello, >>>>> >>>>> I am making manhattan plot with: >>>>> library(qqman) >>>>> manhattan(a, chr="CHR", bp="BP", snp="SNP", p="P",annotatePval = 0.0001) >>>>> >>>>> and I would like to annotate these two SNPs which are above the >>>>> threshold so that they have GENE name beside them: >>>>> >>>>>> a[a$SNP=="rs4081570",] >>>>> SNP P CHR BP GENE >>>>> 1 rs4081570 6.564447e-05 19 15918647 UCA1 >>>>>> a[a$SNP=="rs11867934",] >>>>> SNP P CHR BP GENE >>>>> 1021 rs11867934 6.738066e-06 17 16933404 FLCN >>>>> >>>>> Right now my plot only has SNP name for those 2, how to add GENE names >>>>> (FLCN and UCA1 as well) >>>>> >>>>> Please advise >>>>> Ana >>>>> >>>>> >>>>> >>>>> ______________________________________________ >>>>> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see >>>>> https://stat.ethz.ch/mailman/listinfo/r-help >>>>> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html >>>>> and provide commented, minimal, self-contained, reproducible code. >>>>> >>>> >>>> -- >>>> Michael >>>> http://www.dewey.myzen.co.uk/home.html >>> >> >> -- >> Michael >> http://www.dewey.myzen.co.uk/home.html > > ______________________________________________ > R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting-guide.html > and provide commented, minimal, self-contained, reproducible code. >-- Dr Paul Murrell Department of Statistics The University of Auckland Private Bag 92019 Auckland New Zealand 64 9 3737599 x85392 paul at stat.auckland.ac.nz http://www.stat.auckland.ac.nz/~paul/