'dash-bio circos draw links of range 1
I want to draw a circos plot with dash-bio of this data format:
Source Chromosome 1
Source Position 123456789
Target Chromosome 4
Target Position 987654321
value 7.8
Using the data sample from the tutorial, the links are correctly displayed:
import urllib.request as urlreq
from dash import Dash, html
import dash_bio as dashbio
import json
import pandas as pd
app = Dash(__name__)
data = urlreq.urlopen(
"https://git.io/circos_graph_data.json"
).read().decode("utf-8")
circos_graph_data = json.loads(data)
x = [{'source': {'id': 'chr19', 'start': 22186054, 'end': 36186054}, 'target': {'id': 'chr17', 'start': 21478117, 'end': 85478117}, 'value': 43}]
layout_config = {
"innerRadius": 100,
"outerRadius": 200,
"cornerRadius": 4,
"labels": {
"size": 10,
"color": "#4d4d4d",
},
"ticks": {
"color": "#4d4d4d",
"labelColor": "#4d4d4d",
"spacing": 10000000,
"labelSuffix": "Mb",
"labelDenominator": 1000000,
"labelSize": 10,
},
}
#a = dashbio.Circos(layout=data, config=layout_config)
chords_config = {"color": "RdYlBu", "opacity": 0.8}
a = dashbio.Circos(
layout=circos_graph_data["GRCh37"],
config=layout_config,
tracks=[
{"type": "CHORDS", "data": x, "config": chords_config}
],
)
app.layout = html.Div([
a
])
if __name__ == '__main__':
app.run_server(debug=True)
But changing the start and end values of range 1, the link disappear:
x = [{'source': {'id': 'chr19', 'start': 22186054, 'end': 22186055}, 'target': {'id': 'chr17', 'start': 21478117, 'end': 21478118}, 'value': 43}]
I would expect to see a very thin line. How to show a link between edges without a range (yes/no)?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|


