kcleal / gw

Genome browser and variant annotation
MIT License
282 stars 7 forks source link

Customize aesthetic settings #60

Closed ElfLiu closed 1 month ago

ElfLiu commented 1 month ago

Hi! I want to set the size of the elements in the track. When I use the gff3 file for the first track and the bed file for the second track, the image blocks in the first track are noticeably smaller than those in the second track. In addition, when there are many reads, I want to manually turn off the display of reads and only show the peak graph. These may be existing features, but I don't know how to implement them. ENSG00000286155.pdf

I also want to know why the track display in the gff3 file doesn't sames as the display in your teaching example.

c2ce0e424c19aee97bbaf44f1bed232
kcleal commented 1 month ago

Hi @ElfLiu,

I can add an option in the menu to hide the alignment track - thanks for the useful suggestion.

Since the demo was written, the way GFF3 is displayed as been changed a little to make it more similar to the way IGV displays data (a few bugs have also been fixed too). In the teaching example the grey bars are parts of the record that occur before/after the coding sequence start/end. In the newer version of gw, these are also represented by a narrow bar. Maybe the record you show does not have a coding sequence start/end in the record? Perhaps there is a bug in the display. If you could share the GFF3 lines associated with the record, that would be useful.

ElfLiu commented 1 month ago

I did a tests about GFF3 file. ##gff-version 3 21 havana gene 8230354 8258832 . + . ID=ENSG00000286155;Name=ENSG00000286155;biotype=TEC;description=TEC;gene_id=ENSG00000286155;logic_name=havana_homo_sapiens;version=1 21 havana unconfirmed_transcript 8230354 8231832 . + . ID=ENST00000651830;Parent=ENSG00000286155;biotype=TEC;tag=basic,Ensembl_canonical;transcript_id=ENST00000651830;version=1;GENE=ENSG00000286155 21 havana exon 8232254 8233832 . + . ID=ENST00000651830.exon.1;Parent=ENST00000651830;GENE=ENSG00000286155 21 havana CDS 8232054 8233932 . + . ID=ENST00000651830.exon.1;Parent=ENST00000651830;GENE=ENSG00000286155 21 havana CDS 8234354 8235832 . + . ID=ENST00000651830.exon.1;Parent=ENST00000651830;GENE=ENSG00000286155 image It seems that there is only a connection between exon and CDS. I originally thought that the length of the thin line was the length of the gene, but it seems that the gene will not be displayed. Does the thin line represent intro? , is there any setting that can display gene length? In addition, when the element in the track exceeds the outside part of the frame, the name of the element will not be displayed. What if I want to give each track a custom label?

kcleal commented 1 month ago

I have added an alignments option and command so you can turn on/off alignments:

image

I have also modified the display of GFF3 - the gene should now be displayed properly. Here is the example you sent through:

image

I decided to use a empty box to display the gene part of the record, that way you can also see the unconfirmed_transcript which would otherwise be hidden.

If you want to test the new version, you will have to build from source - the new release will take a little longer.

ElfLiu commented 1 month ago

Thank you so much for your improvements!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!, I can't believe it happened so fast!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! I also want to know if it is possible to set the label of each track like igv. image My data is from ChIP-seq, which has two categories: input (control) and IP (experimental). Is it possible to stack the two samples using a aligned track? Such a display would be more intuitive. Sample shown below: image

kcleal commented 1 month ago

Hi @ElfLiu, What did you mean by label? Do you mean the text to the right hand side, or are you referring to the colotof the reads? I think stacking the samples will be difficult to do effectively

ElfLiu commented 1 month ago

yes,i mean the text to the right hand side. If stacking the samples is difficult to achieve, then forget it. After all, such a demand is quite small,and the soft is really good.

kcleal commented 1 month ago

I have added some data labels as suggested, the can be switched on and off using the data_labels option in the main menu. I have a few more adjustments to make, but hopefully should be able to release this tomorrow.

Screenshot 2024-10-15 at 15 54 26
ElfLiu commented 1 month ago

Are you adding parameters to the menu in the software window? I actually can't use the window in the cluster and opening the window gives an error. I hope the new options to be added to the command line.

kcleal commented 1 month ago

Oh dear, that's annoying. I can add a CLI option too. Regarding the server issue, could I ask, what OS is your server running, and what OS is your local machine running? Also if you could send me the result of trying to open gw in debug mode, that would be very useful, thanks. E.g.

GW_DEBUG=1 gw hg19

ElfLiu commented 1 month ago

I don’t use windows very much, so this has little impact on me. I hope that the previous alignment option can also be added to the CLI option. Thank you so much.

# OS message
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

# Error message
█▀▀ █ █ █
█▄█ ▀▄▀▄▀
DISPLAY=
LIBGL_DEBUG=
LIBGL_ALWAYS_INDIRECT=
LIBGL_ALWAYS_SOFTWARE=
MESA_DEBUG=
MESA_GL_VERSION_OVERRIDE=
GLX_DEBUG=
GALLIUM_DRIVER=
__GL_LOG_LEVEL=
LD_DEBUG=
XDG_SESSION_TYPE=
WAYLAND_DEBUG=
GLFW version: 3.3.6 X11 GLX EGL OSMesa clock_gettime evdev shared
GLFW_CONTEXT_VERSION_MAJOR=
GLFW_CONTEXT_VERSION_MINOR=
GLFW Error: X11: The DISPLAY environment variable is missing
ERROR: could not initialize GLFW3
terminate called without an active exception
已中止 (核心已转储)
kcleal commented 1 month ago

The alignment and labels options have been made accessible from the command line by using the command option - you can toggle them by adding a command using -c (most gw commands can be used the same way - the list of commands will be applied right be any drawing) e.g:

gw t2t -r chr1 -n -f test.pdf -c labels -c alignments -c log2-cov

Also you can set the labels option permanently by editing the .gw.ini file (usually in ~/.config/.gw.ini), set the data_labels=true

kcleal commented 1 month ago
GLFW Error: X11: The DISPLAY environment variable is missing
ERROR: could not initialize GLFW3
terminate called without an active exception

The DISPLAY variable needs to be set to make the window appear. This should be an IP address if you are using gw remotely. Might be worth checking if the -X or -Y options are being used when you ssh to the server

Also, the glfw3 version is out of date, it should be 3.4.