joiningdata / lollipops Goto Github PK
View Code? Open in Web Editor NEWLollipop-style mutation diagrams for annotating genetic variations.
License: GNU General Public License v3.0
Lollipop-style mutation diagrams for annotating genetic variations.
License: GNU General Public License v3.0
Hi Jeremy - I thought it would be a nice feature to color code the lollipops based on whether they are synonymous or non-synonymous mutations. Would this be easy to code in?
Hi,
You've got an interesting tool here. I'm testing it out but have come accross an issue with the annotations.
For one of the proteins that I am interested in, the annotations from pfam are different from other published sources including uniprot and published articles. Is there a way to add custom domain annotations? For example, to use a tab delimited text file describing the different domains as an input?
Thanks,
-Jonathan
Brought up in #13 by @tinypirate08
I think I'd look to make it a 3-value option: fit
, truncate
, or off
truncate
- the current default, try to fit labels by truncatingoff
- hides all domain labelsfit
- only show labels that fit into available spaceOpen to discussion
The lolliplot output for gene CHL1 produces a plot for the gene DDX11.
Is there a way to use this for organisms other than humans - perhaps by directly entering the Uniprot/SwissProt accession?
I've been trying to output in png but I got the following error message:
Drawing diagram to out.png
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1c8 pc=0x1265d61]
goroutine 1 [running]:
github.com/golang/freetype/truetype.(*Font).Bounds(0x0, 0xc000000280, 0x200, 0xc0005be000)
/Users/jeremy/src/github.com/golang/freetype/truetype/truetype.go:364 +0x11
github.com/golang/freetype/truetype.NewFace(0x0, 0xc0000c7820, 0x13691a0, 0x156e580)
/Users/jeremy/src/github.com/golang/freetype/truetype/face.go:198 +0x2dd
github.com/pbnjay/lollipops/drawing.(*diagram).png(0xc0000102a0, 0x1368b20, 0xc0003de028)
/Users/jeremy/src/github.com/pbnjay/lollipops/drawing/png.go:72 +0x3af
github.com/pbnjay/lollipops/drawing.(*Settings).DrawPNG(0x154ab80, 0x1368b20, 0xc0003de028, 0x4052000000000000, 0xc000090160, 0x2, 0x2, 0xc0000101e0)
/Users/jeremy/src/github.com/pbnjay/lollipops/drawing/png.go:58 +0x12f
github.com/pbnjay/lollipops/drawing.DrawPNG(0x1368b20, 0xc0003de028, 0x4052000000000000, 0xc000090160, 0x2, 0x2, 0xc0000101e0)
/Users/jeremy/src/github.com/pbnjay/lollipops/drawing/png.go:37 +0x83
main.main()
/Users/jeremy/src/github.com/pbnjay/lollipops/main.go:226 +0x7ef
This is the command line I used:
./lollipops -labels -o=out.png OTOF R1495Ter Gly887Arg
Maybe I'm doing something wrong. Any idea how to fix this?
Hey,
I've used lollipops previously but recently when I try to I get the error:
Get http://www.uniprot.org/uniprot/?query=PMS1+AND+reviewed:yes+AND+organism:9606+AND+database:pfam&sort=score&columns=id,entry+name,reviewed,genes,organism&format=tab: dial tcp 193.62.193.81:80: i/o timeout
I was wondering if this is a problem on my end or something others are experiencing?
Hello pbnjay,
I've tried to use this to generate plots for mutations in multiple genes and it has worked great so far. However, do you think it would be possible to allow an option to print the gene name in the plot somewhere ? I'd eventually like to merge the images into a single file and having the gene names on the plot would be handy as opposed to having them in the file name. Just a thought.
Thanks a lot!
Aravind
Thank you for providing this great tool. for the most recent release do you have binaries for windows? I tried compiling from source code but I am getting the following error
C:\Users\roys\Downloads\lollipops-0.96\lollipops-0.96>go build main.go
command-line-arguments
.\main.go:33: undefined: GetProtID
.\main.go:51: undefined: GetPfamGraphicData
.\main.go:73: undefined: DrawSVG
here are the list of files from source.zip
01/14/2015 03:01 PM 11,754 drawpops.go
01/14/2015 03:01 PM 2,863 fetch_data.go
01/14/2015 03:01 PM 1,359 fonts.go
01/14/2015 03:01 PM 1,541 main.go
01/14/2015 03:01 PM 2,639 README.md
01/14/2015 03:01 PM 13,305 tp53.png
01/14/2015 03:01 PM 6,256 tp53.svg
01/14/2015 03:01 PM 18,092 tp53_more.png
If there are specific instructions to compile in windows, it will be helpful.
Thank you!
Using the example input "lollipops TP53 R273C R175H T125 R248Q" generates a plot for 53BP1 (Tumour suppressor p53-binding protein-1 Tudor) rather than p53. Replacing "TP53" with "P53" as the gene symbol seems to fix that; is this on purpose? Thank you in advance
I've had trouble getting the lollipop to run with my local.json file (since the uniprot isn't accurate enough and I want to add other domains). Here are the two examples I've tried. Note, the tcjtest2 file is stored on the desktop - I don't know if this is part of the problem.
Thanks, TCJ!
tcjtest2.json file tests
lollipops.exe -legend -l tcjtest2.json S2G#ff0000@3 S2G#ff0000@2 S3P#ff0000@1 P4L#ff0000@20
lollipops.exe -legend -l=tcjtest2.json S2G#ff0000@3 S2G#ff0000@2 S3P#ff0000@1 P4L#ff0000@20
below is the code for tcjtest2.json, which works fine at pfam in the code generator window
{
"length" : "534",
"regions" : [
{
"type" : "pfama",
"text" : "Peptidase_S8",
"colour" : "#2dcfff",
"display": "true",
"startStyle" : "curved",
"endStyle" : "curved",
"start" : "159",
"end" : "361",
"aliEnd" : "350",
"aliStart" : "163"
},
{
"type" : "pfama",
"text" : "PA",
"colour" : "#ff5353",
"display" : true,
"startStyle" : "jagged",
"endStyle" : "curved",
"start" : "388",
"end" : "469",
"aliEnd" : "469",
"aliStart" : "396"
}
]
}
Hello,
I downloaded lollipops last month and used it a couple of times, and it worked very well. But unfortunately it's not working anymore. The problem is that it cannot retrieve from Biomart. I get the following error message:
biomart error: 400 Bad Request
I am not sure if I am the only one facing this issue. Can you please let me know how to get around it?
Thanks!
Kanika
Hi,
I'm trying to install the package on R, but I get:
library(devtools)
install_github("pbnjay/lollipops")
Downloading GitHub repo pbnjay/lollipops@master
from URL https://api.github.com/repos/pbnjay/lollipops/zipball/master
Error: Does not appear to be an R package (no DESCRIPTION)
Thanks a lot!
I am new to Mac. I tried to execute the file but the below error is shown. Is the code not compatible with ARM64 or I am doing it wrong? Please guide me?
zsh: exec format error: /Users/shradheyagupta/Downloads/lollipops-v1.5.2-linux64 1.04.21 AM/lollipops
Hello, I'm trying the example provided in the readme. Can you please help with the following error with release v1.3.2 for Macs?
$ ./lollipops TP53 R273C R175H T125 R248Q
HGNC Symbol: TP53
Get http://www.uniprot.org/uniprot/?query=TP53+AND+reviewed:yes+AND+organism:9606+AND+database:pfam&sort=score&columns=id,entry+name,reviewed,genes,organism&format=tab: dial tcp 35.178.50.247:80: i/o timeout
If it helps I can ping 35.178.50.247 just fine.
Thank you!
I'm not sure exactly what is going on, but I'm not able to generate a plot. I keep getting this message:
Get http://pfam.xfam.org/protein/Q16829/graphic: dial tcp 193.62.192.83:80: i/o timeout
I've tried using both the Uniprot ID and HGNC gene name. Also I tried downloading the .json script from the pfam website, but I get this message:
json: cannot unmarshal array into Go value of type data.PfamGraphicResponse
And since I've never worked with json I have no idea what it means.
Hi,
I just downloaded the latest version and started testing with some mutations, e.g.
lollipops -o=test.png BRAF V600E
However, I get a bunch of runtime errors I am not able to comprehend (see below) I tried your tool earlier (a previous version I guess) that worked fine. Is this related to go?
./lollipops -o=test1.png BRAF V600E
WARNING: unable to find Arial.ttf - for more accurate font sizing add -f=/path/to/arial.ttf
HGNC Symbol: BRAF
Uniprot/SwissProt Accession: P15056
Drawing diagram to test1.png
panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xb code=0x1 addr=0x60 pc=0x14869e]
goroutine 1 [running]:
code.google.com/p/jamslam-freetype-go/freetype.(_Context).SetDPI(0x0, 0x4052000000000000)
/Users/jeremy/src/code.google.com/p/jamslam-freetype-go/freetype/freetype.go:297 +0x1e
github.com/pbnjay/lollipops/drawing.(_Settings).DrawPNG(0x59eec0, 0x6b01e8, 0xc8200d2028, 0x4052000000000000, 0xc82000a370, 0x1, 0x1, 0xc8200c4120)
/Users/jeremy/src/github.com/pbnjay/lollipops/drawing/png.go:38 +0xf1
github.com/pbnjay/lollipops/drawing.DrawPNG(0x6b01e8, 0xc8200d2028, 0x4052000000000000, 0xc82000a370, 0x1, 0x1, 0xc8200c4120)
/Users/jeremy/src/github.com/pbnjay/lollipops/drawing/png.go:18 +0x76
main.main()
/Users/jeremy/src/github.com/pbnjay/lollipops/main.go:151 +0x142e
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
goroutine 10 [IO wait]:
net.runtime_pollWait(0x6b18f0, 0x72, 0xc820010180)
/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(_pollDesc).Wait(0xc8200ce140, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc8200ce140, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc8200ce0e0, 0xc8200a9000, 0x1000, 0x1000, 0x0, 0x6ac050, 0xc820010180)
/usr/local/go/src/net/fd_unix.go:232 +0x23a
net.(_conn).Read(0xc8200320a8, 0xc8200a9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x6b1a70, 0xc8200320a8, 0xc8200dc058, 0xc8200a9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1370 +0x67
net/http.(_noteEOFReader).Read(0xc82000e8a0, 0xc8200a9000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
:126 +0xd0
bufio.(_Reader).fill(0xc82001c720)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Peek(0xc82001c720, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(_persistConn).readLoop(0xc8200dc000)
/usr/local/go/src/net/http/transport.go:876 +0xf7
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:685 +0xc78
goroutine 8 [IO wait]:
net.runtime_pollWait(0x6b19b0, 0x72, 0xc820010180)
/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(_pollDesc).Wait(0xc820066760, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(_pollDesc).WaitRead(0xc820066760, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(_netFD).Read(0xc820066700, 0xc82001b000, 0x1000, 0x1000, 0x0, 0x6ac050, 0xc820010180)
/usr/local/go/src/net/fd_unix.go:232 +0x23a
net.(_conn).Read(0xc8200320a0, 0xc82001b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x6b1a70, 0xc8200320a0, 0xc820018108, 0xc82001b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1370 +0x67
net/http.(_noteEOFReader).Read(0xc82000e7a0, 0xc82001b000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
:126 +0xd0
bufio.(_Reader).fill(0xc82001c600)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(_Reader).Peek(0xc82001c600, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(_persistConn).readLoop(0xc8200180b0)
/usr/local/go/src/net/http/transport.go:876 +0xf7
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:685 +0xc78
goroutine 9 [select]:
net/http.(_persistConn).writeLoop(0xc8200180b0)
/usr/local/go/src/net/http/transport.go:1009 +0x40c
created by net/http.(_Transport).dialConn
/usr/local/go/src/net/http/transport.go:686 +0xc9d
goroutine 11 [select]:
net/http.(_persistConn).writeLoop(0xc8200dc000)
/usr/local/go/src/net/http/transport.go:1009 +0x40c
created by net/http.(_Transport).dialConn
/usr/local/go/src/net/http/transport.go:686 +0xc9d
I am working with mutation data from multiple cancer types and I would like to plot the mutations of multiple types on one protein and have the color indicate the the different cancer type. Can you alter lollipops so this is possible? Thank you!
Hi,
Thank you for developing this excellent tool. I find it's useful and easy to use.
I tried with local json file and it works well. However, if I add "-legend", I get an error shown below:
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1c4 pc=0x1255f4c]
goroutine 1 [running]:
github.com/golang/freetype/truetype.(*Font).Bounds(0x106b698, 0xa87e0)
/Users/jiangjue/go/src/github.com/golang/freetype/truetype/truetype.go:378 +0xc
github.com/golang/freetype/truetype.NewFace(0x0, 0xc00010b778)
/Users/jiangjue/go/src/github.com/golang/freetype/truetype/face.go:199 +0x325
github.com/joiningdata/lollipops/drawing.(*Settings).prepare(0x15086c0, {0xc0000ac060, 0x0, 0x0}, 0xc0000a6360)
/Users/jiangjue/go/src/github.com/joiningdata/lollipops/drawing/draw.go:254 +0x11a5
github.com/joiningdata/lollipops/drawing.DrawSVG({0x1340c00, 0xc0000a4100}, {0xc0000ac060, 0x2, 0x2}, 0x10ac6ce)
/Users/jiangjue/go/src/github.com/joiningdata/lollipops/drawing/svg.go:44 +0x3b
main.createOutput({0x7ffeefbff872, 0x8}, 0xc00010bf50, {0xc0000ac060, 0x0, 0x0})
/Users/jiangjue/go/src/github.com/joiningdata/lollipops/output.go:24 +0x13c
main.main()
/Users/jiangjue/go/src/github.com/joiningdata/lollipops/main.go:217 +0x7c7
lollipops version:
lollipops-v1.5.3-mac64
go version:
go version go1.17 darwin/amd64
System:
macOS Big Sur 11.4
Bests,
Jue
Greetings.
I got a request to install lollipops, for cluster use. I downloaded "v1.5.1.tar.gz" (from https://github.com/pbnjay/lollipops/releases) This expands to directory lollipops-1.5.1.
However, there is no such binary "lollipops." Nor are there configure / make instructions, or list of dependencies.
How is one supposed to install lollipops?
Hi I tried this handy littke thing on both Mac with Yosemite 10.10.5 and on my CentOS 6.6 box.
I downloaded the binaries and started with a simple command for a single gene.
I am getting the same error on both.
-bash-4.1$ ./lollipops TAF1 S1579G
ERROR: Unable to find Arial.ttf - Required for accurate font sizing.
Please use -f=/path/to/arial.ttf or the TTF font of your choice.
Any ideas what may be going on?
Thanks
Creating a plot using any options (or none) other than "-labels" produces the following runtime error after attempting to draw the diagram:
panic: assignment to entry in nil map
The -uniprot
option is broken since Uniprot changed their data interchange format:
https://web.expasy.org/docs/userman.html#FT_line
The current code was based on the format which was current as of March 2019:
http://web.archive.org/web/20190213124909/https://web.expasy.org/docs/userman.html#FT_line
Hi there,
I have some trouble getting lollipops run with a local JSON file.
This is my file:
{
"length" : "150",
"regions" : [
{
"type" : "pfama",
"text" : "E6",
"colour" : "#2dcfff",
"display": true,
"startStyle" : "straight",
"endStyle" : "straight",
"start" : "1",
"end" : "150"
}
]
}
and the command I'm trying is
./lollipops -f="/Library/Fonts/Arial Unicode.ttf" -l="E6.json"
however, the only output I get is the default help screen of lollipops: (so no error message or anything)
Usage: ./lollipops [options] {-Q UNIPROT_DB IDENTIFER | -U UNIPROT_ID | GENE_SYMBOL} [PROTEIN CHANGES ...]
Protein ID input:
GENE_SYMBOL is the official human HGNC gene symbol. This will use the
UniprotKB API to lookup the UNIPROT_ID.You can provide a UniProt ID directly with -U (e.g. "-U P04637" for TP53)
For more advanced usage, query UniprotKB's database mappings directly using
a supported identifier with -Q DBNAME. Available DBNAMEs can be found here:
http://www.uniprot.org/help/programmatic_access#id_mapping_examplesRefSeq ID e.g. -Q P_REFSEQ_AC NP_001265252.1 Entrez GeneID e.g. -Q P_ENTREZGENEID 4336 Ensembl ID e.g. -Q ENSEMBL_ID ENSG00000168314
Protein changes:
Currently only point mutations are supported, and may be specified as:<AMINO><CODON><AMINO><#COLOR><@COUNT>
Only CODON is required, and AMINO tags are not parsed.
Synonymous mutations are denoted if the first AMINO tag matches the second
AMINO tag, or if the second tag is not present. Otherwise the non-synonymous
mutation color is used. The COLOR tag will override using the #RRGGBB style
provided. The COUNT tag can be used to scale the lollipop marker size so that
the area is exponentially proportional to the count indicated. Examples:R273C -- non-synonymous mutation at codon 273 T125@5 -- synonymous mutation at codon 125 with "5x" marker sizing R248Q#00ff00 -- green lollipop at codon 248 R248Q#00ff00@131 -- green lollipop at codon 248 with "131x" marker sizing
(N.B. color must come before count in tags)
Diagram generation options:
-legend draw a legend for colored regions
-syn-color="#0000ff" color to use for synonymous mutation markers
-mut-color="#ff0000" color to use for non-synonymous mutation markers
-hide-axis do not draw the amino position x-axis
-show-disordered draw disordered regions on the backbone
-show-motifs draw simple motif regions
-labels draw label text above lollipop markers
-no-patterns use solid fill instead of patterns (SVG only)
-domain-labels=fit hot to apply domain labels (default="truncated")
"fit" = only if fits in space available
"off" = do not draw text in the domainsOutput options:
-o=filename.png set output filename (.png or .svg supported)
-w=700 set diagram pixel width (default = automatic fit)
-dpi=300 set DPI (PNG output only)Alternative input sources:
-uniprot use UniprotKB as an alternative to Pfam for
fetching domain/motif information
-l=filename.json use local file instead of Pfam API for graphic data
see: http://pfam.xfam.org/help#tabview=tab9
I also tried to follow the advice given here #36 and here #31 but no success so far.
Am I missing something?
Thanks,
Lukas
It is not working after updating OS.
I get this after testing
Get http://www.uniprot.org/uniprot/?query=TP53+AND+reviewed:yes+AND+organism:9606+AND+database:pfam&sort=score&columns=id,entry+name,reviewed,genes,organism&format=tab: dial tcp 128.175.240.211:80: i/o timeout
but not lollipop graph anymore
Hello!
I am not familiar with Go language. I am trying to plot some mutations for mice in a lollipop diagram. I downloaded the zip file for my OS. Unzipped it and ran the .exe file (opened in cmd). I see all the options and everything but now what? Cmd does not let me enter any command (as "enter" is coded to exit). What command line is exactly used to run this software? There is nothing given in the usage part of this poorly written software description. Nothing has mentioned the publication either.
Can somebody please be kind enough to guide me through?
Where would I change the code to have the user input an optional shape parameter (For a given variant to not be a circle)? I'm not a GO programmer, but could try if I got pointed in the right direction.
lollipops fail to generate an annotation for several Pfam entries.
e.g: lollipops -U D2BYD1_DICZ5
Firstly, many thanks for taking the time to develop this really useful tool!
I am trying to run the following:
./lollipops IFT140 [some variants]
And getting:
GNC Symbol: IFT140
Uniprot returned 8 hits for your gene symbol 'IFT140':
Entry Entry name Status Gene names Organism
Q9HBG6 IF122_HUMAN reviewed IFT122 SPG WDR10 WDR140 Homo sapiens (Human)
Q8NDW8 TT21A_HUMAN reviewed TTC21A STI2 Homo sapiens (Human)
Q7Z4L5 TT21B_HUMAN reviewed TTC21B IFT139 KIAA1992 Nbla10696 Homo sapiens (Human)
Q96FT9 IFT43_HUMAN reviewed IFT43 C14orf179 Homo sapiens (Human)
Q9P2L0 WDR35_HUMAN reviewed WDR35 IFT121 KIAA1336 Homo sapiens (Human)
Q8NEZ3 WDR19_HUMAN reviewed WDR19 IFT144 KIAA1638 Homo sapiens (Human)
Q96NG3 ODAD4_HUMAN reviewed ODAD4 TTC25 Homo sapiens (Human)
However, on the UNIPORT website: https://www.uniprot.org/uniprot/Q96RY7#sequences the gene seems to exist.
I have tried importing my own json version of this gene and running locally: https://pfam.xfam.org/protein/Q96RY7/graphic
With this code:
./lollipops -l="./ift140.json" -o="json.svg" [some variants]
As per a previous issue but I keep getting this:
HGNC Symbol: Q383X
Uniprot returned 0 hits for your gene symbol 'Q383X':
Unable to find protein ID for 'Q383X' (use -U XX to select one of the above)
Q383X is the first variant I am hoping to plot....
Your advice would be much appreciated thanks
All the best
Hi,
I was getting this error below. Any help would be great.
W:\lollipop>lollipops TP53 R273C R175H T125 R248Q
HGNC Symbol: TP53
Get http://www.uniprot.org/uniprot/?query=TP53+AND+reviewed:yes+AND+organism:9606+AND+database:pfam&sort=score&columns=id,entry+name,reviewed,genes,organism&format=tab: dial tcp: lookup www.uniprot.org: getaddrinfow: A non-recoverable error occurred during a database lookup.
Haven't been able to get the script working - receiving this error:
Get http://pfam.xfam.org/protein/P38398/graphic: dial tcp 193.62.192.83:80: i/o timeout
Dear Jeremy,
I got the following error using lollipops for CDKN2C (HUMAN). But the gene is there :
http://www.uniprot.org/uniprot/?query=CDKN2C&sort=score
bests,
./lollipops CDKN2C
ERROR: Unable to find Arial.ttf - Which is required for accurate font sizing.
Please use -f=/path/to/arial.ttf or the TrueType (.ttf) font of your choice.
HGNC Symbol: CDKN2C
panic: runtime error: index out of range
goroutine 1 [running]:
github.com/pbnjay/lollipops/data.GetProtID(0x7fff5fbfef1c, 0x6, 0x0, 0x0, 0x0, 0x0)
/Users/jeremy/src/github.com/pbnjay/lollipops/data/fetch_data.go:131 +0xeb2
main.main()
/Users/jeremy/src/github.com/pbnjay/lollipops/main.go:160 +0x85a
goroutine 17 [syscall, locked to thread]:
runtime.goexit()
/usr/local/go/src/runtime/asm_amd64.s:1696 +0x1
goroutine 23 [IO wait]:
net.runtime_pollWait(0x12b58f8, 0x72, 0xc8200860a0)
/usr/local/go/src/runtime/netpoll.go:157 +0x60
net.(*pollDesc).Wait(0xc820080760, 0x72, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:73 +0x3a
net.(*pollDesc).WaitRead(0xc820080760, 0x0, 0x0)
/usr/local/go/src/net/fd_poll_runtime.go:78 +0x36
net.(*netFD).Read(0xc820080700, 0xc8200da000, 0x1000, 0x1000, 0x0, 0x12b0028, 0xc8200860a0)
/usr/local/go/src/net/fd_unix.go:232 +0x23a
net.(*conn).Read(0xc820096098, 0xc8200da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/net.go:172 +0xe4
net/http.noteEOFReader.Read(0x12b59b8, 0xc820096098, 0xc8200d41b8, 0xc8200da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
/usr/local/go/src/net/http/transport.go:1370 +0x67
net/http.(*noteEOFReader).Read(0xc8200986e0, 0xc8200da000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
<autogenerated>:126 +0xd0
bufio.(*Reader).fill(0xc820084540)
/usr/local/go/src/bufio/bufio.go:97 +0x1e9
bufio.(*Reader).Peek(0xc820084540, 0x1, 0x0, 0x0, 0x0, 0x0, 0x0)
/usr/local/go/src/bufio/bufio.go:132 +0xcc
net/http.(*persistConn).readLoop(0xc8200d4160)
/usr/local/go/src/net/http/transport.go:876 +0xf7
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:685 +0xc78
goroutine 24 [select]:
net/http.(*persistConn).writeLoop(0xc8200d4160)
/usr/local/go/src/net/http/transport.go:1009 +0x40c
created by net/http.(*Transport).dialConn
/usr/local/go/src/net/http/transport.go:686 +0xc9d
Hiya, I'm trying to pull viral protein structures from Uniprot (has worked successfully before).
It works for lollipops -labels -o=CMVtest.svg -U Q6SW77
But not for lollipops -labels -o=AdVtest.svg -U Q2KS23 when I get 'pfam returned an invalid result'.
Any idea why this might be? Thanks!
Dear pbnjay,
do you plan to add CDS Mutation for Example TP53 c.817C>T (p.R273C) to visualize.
best wishes
Sebastian
Hello,
I am running the following code to generate a .png file of my protein of interest. I was wondering if there was a way to reformat the legend so that they are not overlapping and display clearly. I have been adjusting the width -w
option, but I couldn't resolve my problem.
Do you have any recommendations for how I can adjust the height so that the legends aren't overlapping?
./lollipops \
-o=ACH000840_CIC_long_lollipop.png \
-w=2500 -dpi=500 \
-legend -labels -U I3L2J0 S1703*@100
Interestingly this problem doesn't occur when I use the .svg format:
./lollipops \
-o=ACH000840_CIC_long_lollipop.svg \
-legend -labels -U I3L2J0 S1703*@100
Thank you in advance!
First, thanks for your work that is pretty useful.
As I'm working on genes with mutations leading to splicing defects notably, and dealing with c. and p. nomenclatures (HGVS), I would be interested in being able to do these kind of graphs on genes (keeping annotations of gene parts mapping to protein domains), using HGVS nomenclatures if possible. Do you thing it would be possible to implement this, or do you know a tool that performs this?
I have a long list of mutations to represent on the graph, and the intron/exon view is needed to properly visualize splicing mutations.
Thanks for your help.
@pbnjay : thanks for creating wondeful tool to represent variants
I am getting "biomart error: 502 internal error - server connection terminated"
checked it on multiple computers...
Is there a way to select the biomart mirror?
Hey,
is there maybe a minimal example for the usage of a local JSON file? - More specifically: Which of the graphical elements of the PFAM domain generator are recognized/ needed for lollipops to accurately perform the plotting?
I converted my mutational data set to a JSON which works properly with the PFAM domain graphic generator:
For lollipops I assumed that just the regions information is needed, so I reduced my JSON to that information kind, but I am still getting this error message:
"json: cannot unmarshal string into Go struct field PfamGraphicFeature.display of type bool"
Hope you can help!
Greetings,
grrchrr
Hi, Is it possible to map the mutations of a different protein isoform? Thanks!
As a potential segway to support visualizing CNVs, it would be nice to map against genomic coordinates. Accepting c. nomenclature, for example. Many of the domains in Uniprot are incorrect :)
Dear author,
I have tried to run this command today, but it was not successful.
./lollipops
-labels
-hide-disordered
-w=900
SMAD4
This is the error message that I have received:
biomart error: 301 Moved Permanently
Is possible that the URL or web link has been changed? Thanks a lot for providing this great tool for the bioinformatics community!
Hi,
I am wondering how to change the font size of AA labels and change the angle from 45 to 90. Thanks.
Hi, when I have 2 variants at the same locus, small numbers are not visibly different from a single variant. Is there any way to force lollipops to stack identical variants the way it does when they're very close to each other?
Eg, in the command+image below, there is 1 variant at 610, 2 at 629, and 5 at 655, but the first loci have identical icons, and the the third is barely larger. Changing the DPI still makes the icons hard to discern by eye. I'd rather stack variants like the three at 554-556.
Thanks heaps!
lollipops -o=example.png Q16853 554#ae2727 555#ae2727 556#ae2727 610#ae2727 629#ae2727@2 655#ae2727@5
Is there any way of extracting information from Ensembl and/or Uniprot that would allow one to visualize the exon boundaries for the associated transcript? This would be very useful for visualizing how variants map from protein domains to coding exons. For example, combining a lollipop plot for TP53 with a plot like this from ExAC:
Hi,
I try to use the program and it is very good. Yet I was wondering is it possible to stacking the variants on the same position rather than making the dot larger.
Thanks
Trying to launch the following lollipops command line, I got this:
./lollipops BRCA1 –labels=no A1708E@2 C61G@1 C644VfsX7@1 C64Y@2 D749IfsX4@1 E1115del@1 E1161FfsX3@2 E1210RfsX9@2 E149YfsX2@1 E1694X@1 E23VfsX17@2 F1718SfsX2@1 F709LfsX3@2 G1706E@1 I1031NfsX2@1 I1723X@1 K812RfsX3@1 L1418RfsX9@1 L431X@1 L63SfsX3@1 N1355KfsX10@1 N682X@1 Q1135X@1 Q1281X@3 Q1327X@1 Q1395X@1 Q172NfsX62@1 Q1756PfsX74@6 Q310X@1 Q494X@1 R1203X@1 R1443X@1 R1699Q@1 R1751AfsX79@1 R71G@1 S1253RfsX10@1 S1280X@1 S157X@1 T1677IfsX2@1 V1713X@2 V1810CfsX20@1 V412E@1 Y1094IfsX15@1 Y1113X@1 Y422X@1
HGNC Symbol: BRCA1
Uniprot/SwissProt Accession: P38398
pfam error: 403 Forbidden
Why? Is this possible to workaround this?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.