Skip to content

Commit 769880a

Browse files
committed
Update NEWS
1 parent c101338 commit 769880a

2 files changed

Lines changed: 189 additions & 69 deletions

File tree

NEWS.md

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
# GENOVA v1.0 27-01-2021 (The Cartographer)
2+
3+
This version marks a large refactoring of the code base in an effort to increase
4+
consistency. However, it also breaks a lot of old code. It is the version that
5+
was used during submission of the [GENOVA publication](https://doi.org/10.1093/nargab/lqab040).
6+
7+
## Data representation
8+
9+
- A loaded Hi-C experiment is now dubbed a <contacts> class object.
10+
- Added support for loading data from the cooler and juicer pipelines. Juicer
11+
import requires the {strawr} dependency and cooler import requires the {Rhdf5}
12+
dependency.
13+
- Centromere information is automatically estimated while loading the data by
14+
looking for the largest stretch of empty bins.
15+
- Added the `sync_indices()` function to harmonise data from various
16+
pipelines.
17+
18+
## Analysis functions
19+
20+
- Results from analysis functions have been dubbed <discovery> class objects.
21+
- For quantification of analysis, the `quantify()` generic was added with
22+
methods for several <discovery> objects.
23+
- Likewise, for visualising results, the `visualise()` generic was added with
24+
methods for several <discovery> objects. Additionaly, some base R equivalents
25+
are available as <discovery> methods to the `plot()` function.
26+
- New `bundle()` and `unbundle()` functions to more easily combine <discovery>
27+
objects.
28+
- New `ARA()` functions for aggregating on-diagonal regions, convenient for
29+
stripe analysis.
30+
- New `CSCAn()` function for crosswise intersections of different sets of
31+
regions.
32+
- New `anchors_*()` family of functions for related analysis functions for
33+
repeated lookup analyses, to make these analyses more flexible.
34+
- New `anchors_extendedloops()` function to recapitulate the Haarhuis *et al*.
35+
(2017) strategy for loop anchors.
36+
- Standardised the `APA()`, `ATA()` and `PESCAn()` functions to use a common
37+
pattern for repeatedly looking up regions in the Hi-C map.
38+
- Speed-up of the repeated lookup functions by making better use of {data.table}
39+
joins.
40+
- The `insulation_score()` algorithm was sped up for larger data.
41+
- TAD calling via `call_TAD_insulation()` was sped up and closer to the
42+
description of the algorithm in Crane *et al.* (2015).
43+
- Compartment strength is no longer calculated in the deprecated
44+
`visualise.compartmentStrength()`, but in the `quantify.saddle_discovery()`
45+
method.
46+
- Refactored the `RCP()` function.
47+
48+
## Plotting
49+
50+
- Added colour palettes for sequential and divergent values
51+
(see `?GENOVA_colours`). The default sequential palette can be changed
52+
using `options("GENOVA.colour.palette" = {a character vector of colours})`.
53+
- Wrappers for these colour palettes in {ggplot2} scales are in the
54+
`scale_{colour/fill}_GENOVA()` and `scale_{colour/fill}_GENOVA_div()`
55+
functions for sequential and divergent palettes respectively.
56+
- Added the `pyramid()` and `pyramid_difference()` function for plotting a
57+
Hi-C map at 45 degree angles.
58+
- The `pyramid()` plot can be annotated by the `add_bed_graph()`,
59+
`add_bed_track()`, `add_ctcf_sites()` functions.
60+
- The `pyramid()` plot can be annotated by compartment score, insulation score,
61+
directionality index, domainograms, virtual 4C or arbitrary ggplot2 layer
62+
using the `as_track()` function.
63+
- Most `image()`-based plotting now have the `rasterise` argument.
64+
- Replaced the `visualise.{analysis}.ggplot()` pattern functions by a
65+
`visualise()` generic with methods for <discovery> objects.
66+
67+
## Renamed
68+
69+
Generally, functions have been renamed to prevent `dot.case` functions implying
70+
S3 methods or `lowerCamelCase` implying S4 functions. Instead they now all use
71+
the `snake_case`.
72+
73+
| Old name | New name |
74+
|------------------------------|----------------------------|
75+
| `hic.matrixplot()` | `hic_matrixplot()` |
76+
| `construct.experiment()` | `load_contacts()` |
77+
| `insulation.score()` | `insulation_score()` |
78+
| `insulation.domainogram()` | `insulation_domainogram()` |
79+
| `fastDI()` | `direct_index()` |
80+
| `chromosomeMatrix()` | `chromsome_matrix()` |
81+
| `compartment.score()` | `compartment_score()` |
82+
| `insulation.callTAD()` | `call_TAD_insulation()` |
83+
| `intra.inter.TAD.contacts()` | `intra_inter_TAD()` |
84+
| `select.subset()` | `select_subset()` |
85+
| `trans.compartment.plot()` | `trans_matrixplot()` |
86+
87+
88+
## Deprecated
89+
90+
- The `badBin.find()` function.
91+
- The `badBin.plot()` function.
92+
- The `rescale()` function in favour of `scales::rescale()`.
93+
- The `resize_mat()` function.
94+
- The `differential.TAD.dotplot/scatterplot()` function in favour of the
95+
`visualise.IIT_discovery()` method.
96+
- The `frequency.from.matrix()` function.
97+
- The `chrom.comparison.plot()` function in favour of the
98+
`visualise.chrommat_discovery()` method.
99+
- The `quantifyAPA()` function in favour of the `quantify.APA_discovery()`
100+
method.
101+
- The `cisTotal.perChrom()` and `cisTotal.scores()` functions in favour of the
102+
`cis_trans()` function.
103+
- The `insulation.plot.dual()` and `insulation.plot.single()` functions in
104+
favour of the `insulation_matrixplot()`.
105+
106+
## Miscelaneous
107+
108+
- Added the `get_test_data()` function and 40k/150k datasets of two small
109+
chromosomes to quickly try some functions with some data. It uses the
110+
{pkgfilecache}
111+
112+
- Limit the number of threads used by {data.table} to 1 by default. We noticed
113+
that this is faster if functions are executed in a loop.
114+
- Removed {reshape2} and {dplyr} dependencies.
115+
- Replaced {bigwrig} dependency to {rtracklayer} for importing bigwig data.
116+
- Added the `expnames()` function to glance which samples were involved in
117+
a <discovery> or <contacts> object.
118+
- Added the `resolution()` function to glance at which resolution a <discovery>
119+
object was calculated or <contacts> object has.
120+
121+
# GENOVA 0.9.995 - 20-3-2019 (The Old Lighthouse)
122+
123+
## Added
124+
125+
- HiCseg.callTAD: a function to call TADs with HiCseq (Levy-Leduc) per chromosome-arm or windowed chromosomes.
126+
- construct.experiment: added an option to get Z-score normalised experiment-objects.
127+
- hic.matrixplot: added an option to use Z-score normalised experiment-objects.
128+
- insulation.heatmap: added option to set leftlost bin to 0
129+
- insulation.heatmap: added option to use a borders-file (also for peaks!)
130+
131+
## Changed
132+
133+
- APA: sped up by using a vapply loop (@MarijneMia)
134+
- ATA: sped up by using a vapply loop
135+
- select.subset: sped up the pos-lookup
136+
- visualise.APA.ggplot: better divergent colors (same as Z-score colors in hic.matrixplot)
137+
- visualise.ATA.ggplot: better divergent colors (same as Z-score colors in hic.matrixplot)
138+
- genome.wide.insulation: added speudocounts
139+
- compartment.score: uses a more robust handing of comparable tracks.
140+
- genome.wide.insulation::matrix.insulation: shifted output half a bin upstream.
141+
- genome.wide.insulation: forcing even window-sizes to get score between bins.
142+
- insulation.heatmap: nicer plotting of profile and heatmap without grid
143+
- insulation.heatmap: refactored the scripts.
144+
145+
# GENOVA 0.9.98 - 27-02-2019
146+
Github-hash: 9951098
147+
148+
## Added
149+
150+
- ATA: outputs also the used TADs.bed
151+
- HiC_matrixplot: smoothing of the regions with no data (e.g. the white stripes) has been implemented. This is done by filling these bins with the result of a Nadaraya/Watson normalization of the kernel. Set `smoothNA` to true to use and `smoothBandwidth` to tweak
152+
- HiC_matrixplot: If `chip.yMax` is NULL, a warning will be given for the used yMaxes.
153+
- PE-SCAn: A maximal distance can be given with `maxDist`.
154+
- PE-SCAn: verbosity can be limited off with `verbose = F`
155+
- PE-SCAn: Catches errors when no matrices are found by cov2d.
156+
- PE-SCAn: A treshold for the minimum amount of BED-entries per chromosome is added: `minComparables`.
157+
- PE-SCAn: Shifted bed-entries bigger than their chromosome are now fixed (they "wrap around" to the start)
158+
- PE-SCAn: Returns not only the O/E matrix, but a list with a O/E score-matrix (if shift != 0), otherwise an observed score-matrix, the underlying signal and background-matrices and the shift used.
159+
- visualise.PESCAn.ggplot: several checks to see if the input-data is comparable (including shift).
160+
- visualise.PESCAn.ggplot: colorscales for O/E and O are better (i.e. no log2-divergent scale for shift==0 matrices).
161+
- cis.compartment.plot: a second experiment-object can be used. This is plotted in the lower-left corner. Note: only the first matrix is invisibly returned.
162+
- cis.compartment.plot: smoothing of the regions with no data (e.g. the white stripes) has been implemented. This is done by filling these bins with the result of a Nadaraya/Watson normalization of the kernel. Set `smoothNA` to true to use and `smoothBandwidth` to tweak
163+
- getTADstats: a new function to get some stats on ATA-results. Still quite buggy.
164+
- saddle: Forces user for either CS or chip.
165+
- README now contains actual text.
166+
167+
## Changed
168+
169+
- HiC_matrixplot: `bed.col` and `bw.col` are merged to chip.col. This argument can take a vector of four colours, parallel to the `chip`-argument.
170+
- HiC_matrixplot: `yMax` is renamed to `chip.ymax`.
171+
- visualise.PESCAn.ggplot: works woth new output of PE-SCAn
172+
- PE-SCAn: cov2d loops over a vectorised list without duplicates, which speeds up the code.
173+
- PE-SCAn: cleaned up cov2d's return-code
174+
- quantifyAPA: the `enrichmentType` argument lets you choose between pixel/mean(backgroundRegions) and the fraction of loops with more than 50% higher signal than the background.
175+
- visualise.compartmentStrength: at least one bin is used (bugfix).
176+
- saddle: extra effort to use the CS is taken by matching the CS-vector and the eigen-vector. This will fix problems due to big centromeres or shaky/different centromere-calls.
177+
- vignette: fixed typo's
178+
179+
# GENOVA 0.9.971 - 13-06-2018
180+
Github-hash: 8edef82
181+
182+
# GENOVA 0.9.97 - 11-06-2018
183+
Github-hash: 35772ec
184+
185+
# GENOVA 0.9.96 - 22-05-2018
186+
Github-hash: 7deebca
187+
188+
189+

changelog.md

Lines changed: 0 additions & 69 deletions
This file was deleted.

0 commit comments

Comments
 (0)