NEWS.md

venndir 0.0.42.900

changes to existing functions

venndir 0.0.41.950

changes to existing functions

venndir 0.0.41.900

overall

changes to existing functions

venndir 0.0.40.900

venndir 0.0.39.950

venndir 0.0.39.900

changes to existing functions

new functions

added generic functions

removed deprecated functions, mostly related to polygon_list data format

The polygon_list format loosely conformed to polyclip data input/output, but had several exceptions that motivated me to use JamPolygon: simple polygons encoded as list, complex polygons encoded as nested list; solid polygon encoded as clockwise points, holes encoded counterclockwise.

venndir 0.0.38.900

changes to existing functions

venndir 0.0.37.900

changes

changes to existing functions

venndir 0.0.36.900

Substantial changes.

The method of assembling labels now arranges labels adjacent to each other, removing an important dependency on internal gridtext functions (which are not permitted in CRAN/Bioconductor). It also allows more flexible labeling in future, e.g. different overlap metrics, optional overlap names.

Labels use a more aesthetic layout: The main set label is always top-center of a group of labels. Count labels are split into left/right columns, for main/signed counts, respectively. They are middle-aligned left-to-right. Set label and count labels are arranged top/bottom, also centered. One region is defined for the group of labels. * The previous arrangement can be see with group_labels=FALSE.

All graphics are returned as grid graphical objects (grobs), which enables flexible options for drawing the figure. For example it can be drawn inside a grid::viewport, or included with patchwork or cowplot as a figure panel. Or, the grobs can be directly manipulated.

Bug fixes

changes to existing functions

New internal functions

Not terribly exciting, but useful nonetheless. Several new functions were added to help manipulate grid grobs, to stack, tile, xalign, yalign grobs relative to each other, using units that keep them aligned even when the plot device is resized. These functions are probably dependent upon gridtext labels, since they are used to create individual overlap and count labels, and define xext,yext with the "true" grid dimensions for each label. These functions make it possible to center the grouped label on the original label point, or align the left column with the right column, etc.

venndir 0.0.35.900

changes to existing functions

bug fixes

venndir 0.0.34.900

changes to existing functions

Main goal is to fix bug associated with empty or nested setlist entries when used with proportional=TRUE. This update is somewhat of a risk, several core components were updated in venndir(), render_venndir() and venndir_label_style(), which could impact a number of downstream steps. Corresponding testthis entries have been added, hopefully to prevent occurrence of new bugs.

Added test cases

bug fixes

venndir 0.0.33.900

changes to existing functions

venndir 0.0.32.900

Bug fixes

Changes to existing functions

tests

venndir 0.0.31.900

changes to existing functions

REMOVED a bunch of sp/rgeos dependent functions

venndir 0.0.30.900

The polyclip update. Removing all remnants of sp and rgeos.

Major change, all functions ported or rewritten not to rely upon sp, rgeos, and sf, since the migration to sf would also incur heavy burden of installing sf and all its map/geography-related system libraries.

Backward compatibility is limited for pre-existing venndir output, since rgeos was removed from CRAN (ugh). In principle a pre-existing object could be re-run to produce the new object output.

Attempts were made for venndir() to produce output equivalent to previous versions, but it is unclear how practical that may be.

All graphical output uses grid, no support for base or ggplot2. The grid output was chosen since it can be conveniently combined into panels using patchwork or cowplot, while offering more robust features to position graphical components, also keeping 1:1 aspect ratio so Venn circles remain circular.

New S4 objects:

venndir package changes

new JamPolygon object and functions

(It may eventually become its own R package.)

New object Venndir for venndir output

venndir 0.0.29.900

new functions

changes to existing functions

venndir 0.0.28.900

bug fixes

new functions

venndir 0.0.27.900

changes to existing functions

venndir 0.0.26.900

changes to existing functions

venndir 0.0.25.900

new functions

changes to dependencies

changes to existing functions

bug fixes

venndir 0.0.24.900

changes to existing functions

new functions

Two temporary functions to customize gridtext. Both functions also call internel gridtext functions, so they cannot be maintained when venndir is prepared for CRAN. More likely these functions will become the basis for gridtext issue and/or pull request (PR).

venndir 0.0.23.900

change in defaults

changes to existing functions

bug fixes

new branch (future dev)

venndir 0.0.22.900

bug fixes

venndir 0.0.21.900

updates to existing functions

venndir 0.0.20.900

bug fixes

Proportional Venn diagrams have been a bit of a challenge for labeling. Some edge cases were resolved finally, mostly relevant when certain Venn overlap wedges were razor thin, or when an overlap was represented by more than one polygon in the resulting geometry.

Also, label placement outside the Venn circle was inconsistent, some of the options in polygon_label_outside() appear to work poorly together. Its default values were adjusted to be more consistently "pleasing".

Lightweight change: polygon_label_outside() was moved into a separate .R file. The venndir-sp.R file has too many functions, it will be split into pieces eventually.

venndir 0.0.19.900

bug fixes

changes to existing functions

venndir 0.0.18.900

bug fixes

To resolve issue #2, the colorjam package was updated to add prefix to call jamba::tcount() to function colorjam::approx_degrees(). When the colorjam package is loaded, using library(colorjam) or require(colorjam) it automatically also loads jamba so its functions are available. However, when colorjam::approx_degrees() is called directly, without formally loading the colorjam package, the jamba functions are not loaded. This issue caused the error, which unfortunately causes the venndir() function to fail unless jamba or colorjam packages have been loaded previously.

All that said, the "fix" is to require the updated colorjam(>= 0.0.22.950) package version that includes this fix.

venndir 0.0.17.900

updates to existing functions

venndir 0.0.16.900

bug fix

changes to existing functions

venndir 0.0.15.900

bug fixes

changes to existing functions

new unit tests

venndir 0.0.14.900

new function

updates

bug fixed

testthat

venndir 0.0.13.900

updates to existing functions

venndir 0.0.12.900

updates to existing functions

new functions (experimental for plotly)

venndir 0.0.11.900

bug fixes

venndir 0.0.10.900

updates to existing functions

new functions

venndir 0.0.9.900

Began adding testthat tests for various functions.

one more refactor

Proportional Venn diagrams (Euler diagrams) warranted a refactor in order to label each set even when one set is fully contained inside another set.

new functions

functions removed

bug fixes

changes to existing functions

It has some label_preset options, which help position set and count labels inside or outside.

venndir 0.0.8.900

One more refactor is in progress. Label coordinates will be pre-calculated inside and outside each polygon, then labels can be toggled in or out (or moved to a custom location). The main driver is to be able to label the Venn circles on the perimeter of the diagram. For proportional circles, when a set is fully contained inside another set, there is no polygon with that set alone -- thus the defaul labeling fails.

new functions

venndir 0.0.7.900

Several refactoring processes being implemented, some further updates ad bugfixes may be necessary. Pushed this version for more testing on CentOS where the gridtext package was hard to install for GCC below version 5.3, but was installed with GCC 5.3.

new dependencies

bug fixes

changes to existing functions

venndir 0.0.6.900

Much closer to a release-ready form. It needs the ggplot2 option enabled with the newest render_venndir() logic.

bug fixes / changes

refactoring the details

More refactoring may take place to simplify the workflow, until the package is publicized.

new features

venndir 0.0.5.900

bug fixes

display item labels inside Venn polygons

new render functions

new rescale_*() functions

The rescale_*() functions are intended to allow manipulation of numeric coordinates in each relevant object type, aimed at SpatialPolygons and the various sub-types.

The rescale_*() operations enable three types of manipulations:

  1. scale - multiplies coordinates for each axis
  2. rotate_degrees - rotates points in degrees
  3. shift - shifts coordinates by adding a constant to each axis
  4. center - the scale and rotate_degree are applied relative to the center, which by default uses the mean bounding box.

new conversion functions

changes to existing functions

venndir 0.0.4.900

changes to existing functions

new functions

venndir 0.0.3.900

new functions

venndir 0.0.2.900

The venndir package is intended for analyses where direction is encoded alongside each item in a set. The driving example is for gene expression analysis, which results in a subset of differentially expressed genes, where the expression can either by "up-regulation" or "down-regulation." When comparing two sets of differentially expressed genes, it is helpful if not essential to recognize when any overlaps also share the same direction of change (or opposite direction.)

Although there are some 40,000 gene loci in human (give or take), it is common to see many of the same few hundred genes differentially regulated across a very diverse array of experiments. For two experiments to identify 800 genes each, with overlap of 400, these outcomes illustrate the utility of venndir:

new functions



jmw86069/venndir documentation built on Nov. 14, 2024, 10:12 a.m.