Comments (1)
Coming back to this: a silly property (that I should have thought of earlier) is that these kinds of "cyclic bubbles" (when they are an isolated component of the graph) technically contain a chain from the end to the start node. The figure below shows that, depending on whether you identify the bubble or the chain first, the resulting decomposition looks different:
(I didn't draw it out in the figure, but the final step of the right side would be merging the chain and bubble into a cyclic chain. Also, the L and R subscripts indicate node splitting: see #167)
Notably, this is not the case when these bubbles are located within a chain of bubbles (i.e. when the start node has any other incoming edges, and/or when the end node has any other outgoing edges). Because in that case there is no longer a valid chain from the end to the start.
This means that we can't just say "oh, identify the chain first, then find the bubble, etc." -- because this will fail if this cyclic bubble exists in a chain of bubbles. So we have to make a choice -- do we continue to allow cyclic bubbles (which means that their decomposition in isolated components may look like either of the two figures above), or do we reject them completely?
I guess we can continue to allow cyclic bubbles for now. This isn't really a problem per se -- the fact that the decomposition is slightly inconsistent irks me, but it isn't really a bug (you could argue that either decomposition is meaningful -- in both cases we identify a bubble, anyway). My work on this project is already embarrassingly behind schedule as is.
Note that this also impacts cyclic frayed ropes (#242), when the connected end and start nodes have no non-pattern adjacencies. It doesn't impact cyclic chains since the "chain" from the end to the start of the cyclic chain is naturally a part of the cyclic chain anyway.
from metagenomescope.
Related Issues (20)
- Prevent long node labels from extending past pattern boundaries
- Change the "chain" color to something more neutral HOT 1
- New type of pattern: bipartite subgraphs HOT 1
- Better component tiling
- Aggregate some statistics in node / edge tables
- Add "select all" option
- Blurry exported screenshots HOT 1
- Automatically cropping screenshots HOT 1
- Pass PATTERN2COLOR from Python to JS?
- Allow searching to return complements if needed
- Thicken duplicate edges HOT 1
- [Feature Request] Output a graph file that could be used elsewhere (e.g., NetworkX, iGraph, or Cytoscape) HOT 4
- Compress main.js more
- Pass extra GFA segment / link attributes (tags) to the visualization
- Support duplicate (aka parallel) edges in GFA / FASTG files?
- Draw arrowheads in both directions for self-implying edges
- Identify cyclic frayed ropes?
- Support general node / edge metadata
- Adjust max node / max edge counts to consider the top layer of the decomposed graph
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from metagenomescope.