Releases: deeptools/pyGenomeTracks
Mid-2024 Release
3.9
Changes in dependencies:
- This version drops support for python 3.7.
- This version is compatible with matplotlib 3.8.
Enhancement:
-
pyGenomeTracks now uses font type 42 for pdf and ps which helps modification with illustrator.
-
2 new display for bed:
deletions
which is helpful when you need to show a deletion with precise coordinates andinversions
which displays arrows. -
New style to display bed:
exonarrows
which displays arrows with orientation in the exons. -
For the UCSC stlyle, the color of arrows on introns in customable
-
Do not hesistate to check the updated documentation: here
-
Allow to rasterize rectangles/lines of maf tracks with
rasterize = true
.
Bugfix:
- Fix the UTR/Coding of BED8/BED9.
- Fix a typo in options help text of bedgraph and bigwig:
tranform
instead oftransform
.
Happy New Year 2023 Release
3.8
Enhancement:
- A new
type
was introduced in 3.7 (announcement has been forgotten): avhighlight
to be able to hightlight a whole region across all tracks. - Much more parameters for vhighlight and vlines
- 'zorder' to set it on top or behind.
- 'line_width', 'color', 'alpha', 'border_color' for vhighlight and 'line_style' for vlines
- You can now set multiple vlines
- For gtf, the output of
make_tracks_file
setprefered_name
togene_name
instead oftranscript_name
.
Bugfix:
- Support mcool files for hic_matrix_square. This solves #404
- Works with gffutils version 0.11.0 where ValueError became gffutils.exceptions.EmptyInputError for empty gtf.
- The installation instructions have been updated
- Fixed a small bug in links track with "use_middle" enabled, where midpoints could have different ordering than start points (Thanks to @Jeff1995 ).
- Fix a bug when plotting gtf in the middle of a large intron.
- Fix plot genes with
orientation = inverted
- Support Numpy 1.24, drop support below 1.20
Relax version control on matplotlib:
- Any version of matplotlib from 3.1.1 to 3.6.2 is now accepted.
Spring 2022 Release
3.7
Enhancements:
This release is full of new tracks and new parameters for existing tracks:
-
Brand new tracks:
-
fasta
: to display sequences with colored letters from a fasta file (Thanks @GDelevoye for his contribution). -
maf
(multiple alignment format): to display conservation between species. -
hic_matrix_square
: to display Hi-C matrices not in 'triangle' shape but in 'square' shape.
This allow to display identical regions but also interactions between 2 different regions.
This render plots close to hicPlotMatrix.
-
-
New parameters for existing tracks:
-
Related to
hic_matrix_square
: we implemented a newdisplay
mode forbed
andlinks_type
forlinks
:squares
.
This allow to overlay TADs or loops on these Hi-C maps. -
For
bed
andgtf
:-
the
fontstyle
can be set toitalic
oroblique
. -
the
arrowhead_fraction
which controls the size of the arrowhead in the flybase style can be adjusted. -
the color of the backbone when you use flybase or UCSC style can be changed with
color_backbone
.
-
-
For
gtf
a new parametermerge_overlapping_exons = true
help to get a better display when all transcripts are merged. -
For
bedgraph_matrix
: whentype = lines
is set the colors of individual lines can be set byindividual_color
and the summary line bysummary_color
-
Minor enhancements:
-
pyGenomeTracks display better error message when rtf files are used.
-
the help message for BED has been improved to highlight the fact that the extension needs to be part of the output.
-
if the directory of the output file does not exists, it is created.
Drop support for python 3.6
- The introduction of the new track for Maf forced us to drop support for python 3.6.
Relax version control on matplotlib:
- Any version of matplotlib from 3.1.1 to 3.5.1 is now accepted.
Bugfixes:
-
The tick values for the x-axis are now accurate (see #333) and more informative.
-
The y values for tracks like bigwig are not restricted to one decimal. If needed, the scientific notation can be used.
-
pyGenomeTracks now allows to plot above chromosome size defined in bigwig or Hi-C matrices without raising an error.
-
pyGenomeTracks now works with gtf without exons.
-
pyGenomeTracks now closes figures after saving.
-
The plotting part does not modify the tracks anymore. This solves #393.
Fall 2020 Release
Enhancements:
-
A new parameter for pyGenomeTracks allow to fix the width of the central part:
--plotWidth
-
For scale bars, you can now define the position using 2 parameters among
x_center
,size
,scalebar_start_position
andscalebar_end_position
.
Python dependency with conda:
- Using conda which is the way we recommand installation it is now possible to use Python 3.8.
Relax version control on matplotlib:
- Any version of matplotlib from 3.1.1 to 3.3.2 is now accepted.
Bugfixes:
-
When the
--fontSize
parameter was used it happened that the colorbar labels were not corresponding to the colorbar ticks. This bug has been fixed (#297). -
The colormap
pink
was not working because it was both the name of a color and a colormap. This bug has been fixed (#295). -
When setting
min_value
,max_value
, if the track was empty these values were ignored. This bug has been fixed. -
When using
operation
in bedgraph with asecond_file
, BEDTools is now used to intersect the second file.use_middle
is now taken into account on the second file. -
Different handling of string evaluation of color, colormap and operation.
Summer 2020 Release bug fix 1
Bugfixes:
-
Get a message when bedtools is installed instead of crashing without any message (see #273, #278).
-
Always test if a bedgraph is tabix indexed without checking the extension (see #13 )
-
Fix a bug which was happening when
operation
orsummary_method
was used on bedgraph whereas the bedgraph had some missing intervals (see #277). -
Enforcing version 15 of HiCMatrix. Version 14 had a bug concerning the application of the correction factors of cool files.
Summer 2020 Release
3.5
Enhancements:
-
pyGenomeTracks goes much faster:
-
We now use bedtools to load only a portion of bed, gtf, bedgraph, narrowPeak, bedgraphMatrix, Epilogos, links. This speeds up the process dramatically especially for gtf files.
-
When you use a cool matrix, only the plotted region is loaded, this speeds up the process. If multiple regions on different chromosomes are provided in a BED this option is not used.
-
Unfortunately, it is not possible to speed the process with h5 matrices so you may want to convert them to cool with hicConvertFormat.
-
-
pyGenomeTracks does not require sorted bed anymore.
-
For coverage tracks (bedgraph and bigwig), there is a new parameter:
grid
which allows to display horizontal lines. -
For links, you can choose to use the middle of start1 and end1 and the middle of start2 and end2 thanks to
use_middle
instead of the extremities coordinates. -
For Hi-C matrices, mcool files are now supported.
-
For vlines, the line_width can now be set.
Minor enhancements:
-
Bedgraph with NA values in the 4-th column do not raise error anymore.
-
There is a progress bar for links.
-
For Hi-C matrices,
-
there is no error when the plot goes over the chromosome size provided by the matrix.
-
if the depth is smaller than binsize it makes an empty plot instead of raising errors.
-
-
When the
overlay_previous
is set in the first track it is ignored and a warning is given instead of giving an error with a not meaningful error message. -
The color for negative values in coverage tracks (bigwig and bedgraph) is now part of the output of
make_tracks_file
. -
Others output of
make_tracks_file
have been modified for better clarity. -
Others code related enhancements which are transparent to the users.
-
The format of bed12 is more stringent (the blocks must span the chromStart and chromEnd).
-
Improve the documentation regarding the installation. We highly recommand to use conda.
Bugfixes:
-
For bed tracks when
gene_rows
orglobal_max_row
was set the last row was very close to the bottom (sometimes even overlaying the next track). Now it is vertically centered and do not go over the track height. -
Solve some bugs how non conventional bed files are handle.
-
Display more meaningful error messages.
-
Only plot scale bar when in the region of plot.
-
Do not show a warning when file_type is set for
x_axis
orspacer
. -
Solve some incompatibilities with python 3.8. However, python 3.8 is not officially supported by now as bioconda do not support it yet https://bioconda.github.io/user/versions.html#python.
May 2020 Release
Improved documentation:
- fix url of test_data thanks to @sonnynguyen
- Better documentation for pyGenomeTracks / makeTracksFile
- Documentation of each track
Enhancements:
- Different bed files format (BED3, BED4, BED5, BED6, BED8, BED9, BED12) is guessed based on the first line and rely not only on number of columns but on the type of each column (string/float etc.). This way, broadPeaks/gappedPeaks and other bed-like formats can be accepted as
file_type = bed
without preprocessing. - gtf has now its own
file_type
. Warning:file_type = bed
for gtf will be no longer supported in a future version. - You can use a decreasing x-axis (from larger coordinates to smaller coordinates) with the option
--decreasingXAxis
inpyGenomeTracks
. - For bedgraph and bigwig:
- logScale: To apply a log transformation to your data you can set
transform
tolog1p
,log
,log2
,log10
,-log
. For others thanlog1p
, you can set alog_pseudocount
. By default the y axis values will represent the transformed values and the transformation will be written on the left of the y axis but you can decide to keep the original values by settingy_axis_values = original
. - operation on files: You can plot the result of an operation on one or two files without preprocessing. To use it, put the operation in
operation
with the variablefile
or both variablesfile
andsecond_file
, for exampleoperation = 0.89 * file
oroperation = max(file, second_file)
oroperation = file - second_file
. In the two later cases, you need to put the path of the second file insecond_file
. However, this operation can be time consuming if you do it multiple times and you may prefer to convert your files in advance.
For more examples on these two new features, visit the examples
- logScale: To apply a log transformation to your data you can set
- Both
type = line
andtype = lines
are working in bedgraph_matrix
Bugfix:
- In version 3.3, if you were using a colormap in bed the
border_color
andcolor_utr
were ignored. Now each one can be set to different color/colormap/bed_rgb.
March 2020 release
Release 3.3 adds:
- a documentation on readthedocs: https://pygenometracks.readthedocs.io
- progress bar for bed, gtf, bedgraph, narrowPeak, epilogos
- all colors can be set as
(r, g, b)
with r, g, b values between 0 and 1. - all colormap can be set as an array of colors, for example
[red, white, (0, 0, 0.5)]
- the titles on the right can be align left, right or center with the argument
--trackLabelHAlign
- for the links track,
compact_arcs_level
to be able to see both very long arcs and very small arcs.ylim
to be able to zoom and see small arcs.
- a new track type:
file_type = scalebar
which by default is close to the UCSC scale bar. - for the bed tracks:
- a new gene type:
tssarrow
border_color
andcolor_utr
can be set tobed_rgb
.all_labels_inside
allow to put the name of the region on the left if it ends after the plotted region.labels_in_margin
allow to put the name of the region in the margin if it ends after the plotted region.
- a new gene type:
line_width
can now be set in the narrowPeak tracks.colormap
can now be set in bedgraphMatrix tracks.
bug fixes:
- if a bed with no interval is provided, pgt no longer exit.
- When an exon had both UTR start and UTR end within it, only the UTR start was considered.
- alpha in links tracks was not used
- qcat files with missing values are now working.
Small bug fix in parser
- Small bug fix in parser when the parameter had spaces in the name and was a boolean (for example show data range instead of show_data_range).
Warning: In version 4.0 no parameter with space will be accepted.
Merry Xmas 2019
This is a major release with a lot of new features but also some deprecations in preparation for a new 4.0 release.
During the years we have introduced several ways to enable/disable settings.
We have used on/off, yes/no, 0/1, true/false. From now on we recommend to only use true/false so that we can unify our config files and make it more intuitive for all pgt-users.
We also removed all 2/3/4 words items and concatenate them now by _
(#132).
For example line width
is now line_width
. Thanks @LeilyR!
A few new features in this release:
- Every config is now checked for syntax errors before anything is executed (@lldelisle)
- Added the possibility to merge transcripts into one single gene representation when using gtf (@lldelisle)
- Added the possibility to rasterize bedgraph plots (@lldelisle)
- Added the possibility to use summary functions on bedgraphs (@lldelisle)
- Generate an empty track if a requested region is not in the given track-files. Fixed #120 (@LeilyR)
- Generate an empty track if a chromosome is missing in bedgraph files (@lldelisle)
- Improved UCSC style for intron arrows (@lldelisle)
- Flybase style now supports color_utr and height_uts (@lldelisle)
- A new tracktype
hlines
was added (@lldelisle) - Allow to plot the arcs of the links with a color scale based on scores as proposed in #30 (@lldelisle)
- Allow to plot rectangle on a heatmap for loops. Fixed #47 (@Phlya, @lldelisle)
- A lot of HiC Matrix improvements (@lldelisle)
- The
alpha
property can now be used nearly everywhere (@lldelisle)
Also checkout our updated readme.
Special thanks to @lldelisle & @LeilyR for such a feature-rich release.
Merry Xmas and a happy new year!
Your PGT team!