Replies: 3 comments 6 replies
-
Thanks for the ping @zhubonan, yeh sounds interesting. |
Beta Was this translation helpful? Give feedback.
-
I managed to get a prototype code working For example:
would get a node stored in An interesting usage is to allow making tree digram of the group/nodes as folders, and decorate the leafs by attributes: Perhaps I should make a plugin for it? No change of the code in |
Beta Was this translation helpful? Give feedback.
-
Code as a plugin is now located at: |
Beta Was this translation helpful? Give feedback.
-
I found that the use of
Group
being an essential part of organising data in AiiDA.The existing
GroupPath
is very useful, for example, I can group my works into groups of structure and workflows using the structures of various properties.On the other hand, I think we can perhaps enhancement the system a bit further. On file system, a path can be either a directory or a file. Perhaps we can have similar thing in AiiDA as well? A the moment a
GroupPath
always points to a (potential)Group
(like a directory), but not any actual data (Node
)For example, I am performing a study of material X, and have the following groups
If I run these calculations "by hand", I can place folders of calculations under
relaxation
, a structure intoexp
and the final optimised structure intooptimised
an so on. This allow a nature way of organising the data.The issue of them being groups in AiiDA is that to access the nodes, I have to use the
nodes
attribute, iterate and select the right one.(Of cource, I can also just note down the UUID of these workflows somewhere, but this can be a bit scary for people not used to UUIDs).
It would be nice if, say, I can do
X/structure/exp/icsd-128948
to access the node of the structure, and similarX/relaxation/final-pbe-converged
to access the relaxation providing the converged structure, similar to working on a file system folder structure.A possible way to achieve this is to assign some kind of alias to nodes (independent of
label
), this alias does not have to be unique, and can probably be stored in theextras
section. If there are duplicated alias inside aGroup
one can just refuse to resolve the givenGroupPath
.For example,
group.add_nodes(node, alias='icsd-12992')
woud allowGroupPath('X/structures/exp/icsd-12992')
to be solved to the node.The alias can be stored as:
in the
extras
of the node. It may also be possible to make thealias
specific to each group, e.g. making the_group_alias
a dictionary. Although perhaps this is a bit of overkill.Another added benefit is that it would make people that already used to a file based manual working routine easier to work with AiiDA.
Do you think this can be a good idea?
Pinging
GroupPath
expert @chrisjsewellBeta Was this translation helpful? Give feedback.
All reactions