In PR #24 I add support for multiple layers in ClusterGraphs outside the indexed atoms. To do this I took advantage of a networkx matching function nx.algorithms.max_weight_matching (the same one we used in smarty).
It is possible there are other matching algorithms that would make more sense for this purpose. At some point I will investigate the other options for matching and compare how this algorithm pairs atoms to how I would pair atoms as a chemist.
I think the current matching is sufficient, I just wanted to make a note that the only justification for this choice was, I know it exists...
I described this problem a bit in the preprint too. I think the ideal solution would be to make single_graphs for each set of atoms in the cluster and then find a way to overlay those graphs before combining them.
In PR #24 I add support for multiple layers in
ClusterGraph
s outside the indexed atoms. To do this I took advantage of a networkx matching functionnx.algorithms.max_weight_matching
(the same one we used in smarty).It is possible there are other matching algorithms that would make more sense for this purpose. At some point I will investigate the other options for matching and compare how this algorithm pairs atoms to how I would pair atoms as a chemist.
I think the current matching is sufficient, I just wanted to make a note that the only justification for this choice was, I know it exists...