Skip to content

Commit b16f554

Browse files
committed
Update version number
1 parent 9d3e459 commit b16f554

File tree

228 files changed

+99527
-131
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+99527
-131
lines changed

DESCRIPTION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Package: geneviewer
22
Type: Package
33
Title: Gene Cluster Visualizations in R
4-
Version: 0.1.7
4+
Version: 0.1.8
55
Author: Niels van der Velden
66
Maintainer: Niels van der Velden <[email protected]>
77
Description: 'geneviewer' is an R package for plotting gene clusters and

NEWS.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
# geneviewer 0.1.8
2+
3+
### Enhancements:
4+
- Option to display transcripts using the GC_transcripts function.
5+
16
# geneviewer 0.1.7
27

38
### Enhancements:

docs/404.html

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/LICENSE-text.html

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/LICENSE.html

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/articles/BLASTP.html

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/articles/BLASTP_files/D3-7.8.5/geneviewer.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
dependencies:
22
- name: geneviewerwidget
3-
version: 0.1.7
3+
version: 0.1.8
44
src: htmlwidgets
55
script: geneviewerwidget.js
66
- name: Themes
7-
version: 0.1.7
7+
version: 0.1.8
88
src: htmlwidgets
9-
script: ./lib/geneviewer-0.1.7/Themes.js
9+
script: ./lib/geneviewer-0.1.8/Themes.js
1010
- name: geneviewer
11-
version: 0.1.7
11+
version: 0.1.8
1212
src: htmlwidgets
13-
script: ./lib/geneviewer-0.1.7/geneviewer.js
13+
script: ./lib/geneviewer-0.1.8/geneviewer.js
1414
- name: D3
1515
version: 7.8.5
1616
src: htmlwidgets
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
dependencies:
2+
- name: geneviewerwidget
3+
version: 0.1.8
4+
src: htmlwidgets
5+
script: geneviewerwidget.js
6+
- name: Themes
7+
version: 0.1.8
8+
src: htmlwidgets
9+
script: ./lib/geneviewer-0.1.8/Themes.js
10+
- name: geneviewer
11+
version: 0.1.8
12+
src: htmlwidgets
13+
script: ./lib/geneviewer-0.1.8/geneviewer.js
14+
- name: D3
15+
version: 7.8.5
16+
src: htmlwidgets
17+
script: ./lib/D3-7.8.5/d3.min.js
18+
stylesheet: ./lib/styles.css
19+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,211 @@
1+
HTMLWidgets.widget({
2+
name: 'geneviewer',
3+
type: 'output',
4+
5+
factory: function (el, width, height) {
6+
var
7+
graphContainer,
8+
style,
9+
data,
10+
links,
11+
series,
12+
titleOptions,
13+
legendOptions;
14+
15+
var widgetId = el.id.split('-')[1];
16+
17+
var draw = function (width, height) {
18+
19+
// Clear out the container if it has anything
20+
d3.select(el).selectAll('*').remove();
21+
22+
el.style["height"] = "100%"
23+
24+
// Apply styles
25+
if (style && typeof style === 'object' && Object.keys(style).length > 0) {
26+
// Apply styles from the style object
27+
for (var key in style) {
28+
if (style.hasOwnProperty(key)) {
29+
el.style[key] = style[key];
30+
}
31+
}
32+
}
33+
34+
// Add Title
35+
36+
if (titleOptions !== null && titleOptions?.height !== null && titleOptions?.show) {
37+
38+
var titleContainer = d3.select(el)
39+
.append("div")
40+
.attr("id", `geneviewer-title-container-${widgetId}`)
41+
.classed("geneviewer-container", true);
42+
43+
44+
titleOptions.width = el.clientWidth
45+
titleOptions.height = computeSize(titleOptions.height, el.clientHeight)
46+
47+
var title = createContainer(
48+
`#geneviewer-title-container-${widgetId}`,
49+
"svg-container",
50+
"titleOptions",
51+
titleOptions)
52+
.title(titleOptions?.title, titleOptions?.subtitle, titleOptions?.show ?? false, titleOptions)
53+
}
54+
55+
// Add legend
56+
57+
var legendHeight = (legendOptions?.show === false) ? 0 : computeSize(legendOptions?.height, el.clientHeight);
58+
59+
if (legendOptions?.group !== null && legendOptions?.show) {
60+
61+
var legendContainer = d3.select(el)
62+
.append("div")
63+
.attr("id", `geneviewer-legend-container-${widgetId}`)
64+
.classed("geneviewer-container", true);
65+
66+
legendOptions.width = width
67+
legendOptions.height = computeSize(legendOptions.height, el.clientHeight)
68+
69+
var legendContainer = createContainer(`#geneviewer-legend-container-${widgetId}`,
70+
"svg-container",
71+
"legendOptions",
72+
legendOptions)
73+
.legendData(data)
74+
.legend(legendOptions?.group ?? false, legendOptions?.show ?? false, el.id, legendOptions);
75+
76+
var legendElement = d3.select(`#geneviewer-legend-container-${widgetId}`).node();
77+
var legendDimensions = legendElement.getBoundingClientRect();
78+
legendHeight = legendDimensions.height;
79+
80+
}
81+
82+
var graph = d3.select(el)
83+
.append("div")
84+
.attr("id", `geneviewer-graph-container-${widgetId}`)
85+
.style("flex-direction", graphContainer["direction"])
86+
.classed("geneviewer-container", true);
87+
88+
// Add Clusters
89+
var clusters = Object.keys(series);
90+
91+
// Add Links
92+
if(links && links.length > 0){
93+
var graphLinks = links.reduce((acc, entry) => {
94+
const convertedData = HTMLWidgets.dataframeToD3(entry.data);
95+
acc = acc.concat(convertedData);
96+
return acc;
97+
}, []);
98+
}
99+
100+
clusters.forEach(function (clusterKey) {
101+
102+
var cluster = series[clusterKey],
103+
containerOptions = cluster.container,
104+
clusterOptions = cluster.cluster,
105+
clusterData = HTMLWidgets.dataframeToD3(series[clusterKey].data),
106+
scaleOptions = cluster.scale,
107+
clusterTitleOptions = cluster.clusterTitle,
108+
footerOptions = cluster.footer,
109+
clusterLabelOptions = cluster.clusterLabel,
110+
labelOptions = cluster.labels,
111+
sequenceOptions = cluster.sequence,
112+
geneOptions = cluster.genes,
113+
transcriptOptions = cluster.transcript,
114+
coordinateOptions = cluster.coordinates;
115+
scaleBarOptions = cluster.scaleBar;
116+
annotationOptions = cluster.annotations;
117+
trackMouse = cluster.trackMouse;
118+
tooltipOptions = cluster.tooltip;
119+
120+
var clonedContainerOptions = JSON.parse(JSON.stringify(containerOptions));
121+
clonedContainerOptions.height = computeSize(clonedContainerOptions.height, el.clientHeight);
122+
clonedContainerOptions.height -= titleOptions.height ? (titleOptions.height / clusters.length) : 0;
123+
clonedContainerOptions.height -= legendHeight ? (legendHeight / clusters.length) : 0;
124+
clonedContainerOptions.width = computeSize(clonedContainerOptions.width, el.clientWidth);
125+
126+
var clusterLinks = getClusterLinks(graphLinks, clusterKey);
127+
var linksOptions = {};
128+
if (Array.isArray(links) && links.length > 0 && links[0].options) {
129+
linksOptions = links[0].options;
130+
}
131+
132+
var cluster = createContainer(`#geneviewer-graph-container-${widgetId}`, "svg-container", 'containerOptions', clonedContainerOptions)
133+
.cluster(clusterOptions)
134+
.theme("preset")
135+
.title(clusterTitleOptions?.title, clusterTitleOptions?.subtitle, clusterTitleOptions?.show ?? false, clusterTitleOptions)
136+
.footer(footerOptions?.title, footerOptions?.subtitle, footerOptions?.show ?? false, footerOptions)
137+
.clusterLabel(clusterLabelOptions?.title, clusterLabelOptions?.show ?? false, clusterLabelOptions)
138+
.geneData(data, clusterData)
139+
.scale(scaleOptions)
140+
.sequence(sequenceOptions?.show ?? false, sequenceOptions)
141+
.genes(geneOptions?.group, geneOptions?.show ?? false, geneOptions)
142+
.transcript(transcriptOptions?.group, transcriptOptions?.show ?? false, transcriptOptions)
143+
.links(clusterLinks, clusterKey, linksOptions)
144+
.coordinates(coordinateOptions?.show ?? false, coordinateOptions)
145+
.labels(labelOptions?.label, labelOptions?.show ?? false, labelOptions)
146+
.scaleBar(scaleBarOptions?.show ?? false, scaleBarOptions)
147+
.addAnnotations(annotationOptions)
148+
.trackMouse(trackMouse?.show ?? false)
149+
.tooltip(tooltipOptions?.show ?? false, tooltipOptions);
150+
151+
});
152+
153+
// Bottom Legend
154+
if (legendOptions?.position == "bottom" && legendOptions?.show && legendOptions?.group !== null) {
155+
156+
d3.select(`#geneviewer-legend-container-${widgetId}`).remove();
157+
158+
var legendContainer = d3.select(el)
159+
.append("div")
160+
.attr("id", `geneviewer-legend-container-${widgetId}`)
161+
.classed("geneviewer-container", true);
162+
163+
var legendContainer = createContainer(`#geneviewer-legend-container-${widgetId}`,
164+
"svg-container",
165+
"legendOptions",
166+
legendOptions)
167+
.legendData(data)
168+
.legend(legendOptions?.group ?? false, legendOptions?.show ?? false, el.id, legendOptions);
169+
170+
}
171+
172+
};
173+
174+
var addLinks = function(width, height, clusters) {
175+
176+
if (!links || links.length === 0) {
177+
return;
178+
}
179+
// Remove all existing links
180+
const graphContainer = d3.select(`#geneviewer-graph-container-${widgetId}`);
181+
//graphContainer.selectAll(".link-marker").remove();
182+
183+
makeLinks(graphContainer, links, clusters);
184+
185+
// Remove all existing links
186+
const colorBarContainer = d3.select(`#geneviewer-graph-container-${widgetId}`);
187+
//graphContainer.selectAll(".link-marker").remove();
188+
189+
makeColorBar(graphContainer, links);
190+
191+
};
192+
193+
return {
194+
renderValue: function (input) {
195+
graphContainer = input.graphContainer;
196+
style = input.style;
197+
data = HTMLWidgets.dataframeToD3(input.data);
198+
links = input.links;
199+
series = input.series;
200+
titleOptions = input.title;
201+
legendOptions = input.legend;
202+
draw(width, height);
203+
addLinks(width, height);
204+
},
205+
resize: function (width, height) {
206+
draw(width, height);
207+
addLinks(width, height);
208+
}
209+
};
210+
}
211+
});

docs/articles/BLASTP_files/Themes-0.1.8/lib/D3-7.8.5/d3.min.js

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
.geneviewer-container {
2+
display: flex;
3+
flex-direction: column; /* or row, depending on the desired layout */
4+
align-content: stretch;
5+
}
6+
7+
.geneviewer-svg-content {
8+
flex: 1 1 auto; /* This makes the SVGs grow and shrink as needed */
9+
min-height: 0; /* This may be needed for correct sizing in some browsers */
10+
}
11+
12+
.hovered {
13+
cursor: pointer !important;
14+
}
15+
16+
.geneviewer-svg-content {
17+
z-index: 2;
18+
}
19+
20+
/* Common styles */
21+
.legend .legend-marker,
22+
.legend .legend-label
23+
.label. {
24+
transition: 0.3s ease-in-out; /* Smooth transitions */
25+
}
26+
27+
/* Hover styles: Gives a dim effect to the marker and text when hovered */
28+
.legend.hovered .legend-marker,
29+
.legend.hovered .legend-label,
30+
.label.hovered {
31+
opacity: 0.7;
32+
}
33+
34+
/* Highlighted/Clicked styles: Gives a more dimmed effect to both marker and text when clicked */
35+
.legend.unselected .legend-marker,
36+
.legend.unselected .legend-label {
37+
opacity: 0.5;
38+
}
39+
40+
.gene.hovered, .exon.hovered, .utr.hovered, .intron.hovered {
41+
filter: brightness(80%);
42+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
dependencies:
2+
- name: geneviewerwidget
3+
version: 0.1.8
4+
src: htmlwidgets
5+
script: geneviewerwidget.js
6+
- name: Themes
7+
version: 0.1.8
8+
src: htmlwidgets
9+
script: ./lib/geneviewer-0.1.8/Themes.js
10+
- name: geneviewer
11+
version: 0.1.8
12+
src: htmlwidgets
13+
script: ./lib/geneviewer-0.1.8/geneviewer.js
14+
- name: D3
15+
version: 7.8.5
16+
src: htmlwidgets
17+
script: ./lib/D3-7.8.5/d3.min.js
18+
stylesheet: ./lib/styles.css
19+

0 commit comments

Comments
 (0)