Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable assay/study table row order reconstruction #72

Closed
mkuhring opened this issue Sep 10, 2019 · 3 comments
Closed

Enable assay/study table row order reconstruction #72

mkuhring opened this issue Sep 10, 2019 · 3 comments

Comments

@mkuhring
Copy link
Contributor

Requestested by @holtgrewe and @mikkonie.

Currently, order information is lost due to the graph transformation. It should be possible to reconstruct an ISA-tab in the same order as imported. Therefore each node needs to keep the info of row origin and the union find algorithm needs to take this information into account. Other applications such as SODAR will benefit from this as well.

This feature partly overlaps with #46.

@mkuhring
Copy link
Contributor Author

I think we should extend that to study and assay order, i.e. in which order they were presented in the investigation file.

@holtgrewe
Copy link
Member

I don't think that we need to touch the Investigation as we are using using tuples for enumerating studies and assays and these already have explicit ordering. It's probably the easiest approach to enumerate(...) when importing into SODAR and adding order from there and then just construct the tuple when exporting from SODAR. Also, Python dicts are ordered from 3.6 on (this does not hold for JSONB fields in Postgres).

@mikkonie is that correct?

I think our focus should be on retaining order on the studies and assays on conversion between graph and table. I would not attempt to retain the order of all possible inputs. Retaining order on the sensible inputs is enough plus after the first round trip, round-tripping should not change the file any more.

@mkuhring
Copy link
Contributor Author

Done in a57ccec, thanks to @holtgrewe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants