Giter VIP home page Giter VIP logo

lollipops's People

Contributors

jamesr-s avatar jimhavrilla avatar matthiasblum avatar pbnjay avatar sgblanch avatar typhainepl avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

lollipops's Issues

Color code based on Syn vs Nonsyn

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?

Custom domain

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

Add option to hide domain labels

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 truncating
  • off - hides all domain labels
  • fit - only show labels that fit into available space

Open to discussion

Cannot produce output .png

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?

dial tcp 193.62.193.81:80: i/o timeout

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?

Feature request : Gene name in plot

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

Binary for windows

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!

TP53

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

how to add a local .json file, and where to put it.

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"
}
]
}

biomart error

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

Not working with Big Sur Mac m1

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

i/o timeout

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!

Timeout message

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.

Runtime error

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

Options for Color and Size selection

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!

an error occurs when using -legend

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

Unable to find Arial.ttf

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

Runtime Error

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

Local JSON file not recognized

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_examples

 RefSeq 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 domains

Output 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

Lollipop usage

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?

Change shape parameter

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.

Image is too small

image
Hello, Lollipops - Variant visualization tool is really useful.
However, when I tried to draw variants, the image is very small. How can I make it larger?

Unable to find gene in UNIPORT

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

Error for CDKN2C gene

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

Trying to pull straight from Uniprot - pfam retrieval error

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!

CDS Mutation addition

Dear pbnjay,

do you plan to add CDS Mutation for Example TP53 c.817C>T (p.R273C) to visualize.

best wishes
Sebastian

Legend squished when changing to .png format

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!

Generate lollipops graph for genes instead of proteins

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.

Using a local JSON file

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:
screen shot 2018-06-04 at 11 06 02
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

biomart error: 301 Moved Permanently

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!

Polymorphisms not visible in small numbers

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

example

pfam error: 403 forbidden

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?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.