-
Notifications
You must be signed in to change notification settings - Fork 5
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
NexSON syntax for tree synthesis status #191
Comments
The curation app typically does the latter, adding expected properties (w/ default values) to a study as it's opened. Given the changes outlined above, I believe I can similarly interpret any tree IDs found in the study-level |
Sounds good. Are there any validation issues with phylesytem-api that we need to worry about? |
Perhaps this bit of |
Ideally, if a doc passes the checks in |
This is a little controlled vocabulary and it would be good to use qnames, as one normally would for a controlled vocabulary, e.g. ot:notReviewed, ot:doNotUse / ot:use (or ot:doNotInclude / ot:include), ot:needsCuration |
I like that suggestion: edited for lower camel |
(except lower camel ot:include, not ot:Include) |
@kcranston Are you OK with |
I already edited my comment for consistency of camels |
Just an update to note the latest proposal, which adds a list of objections (reasons to exclude) for each tree in Nexson, for example: ...
"ot:reasonsToExcludeFromSynthesis": [
"Felis as root conflicts with generally accepted phylogeny.",
"Needs further curation, esp. OTU mapping"
],
... Proposed enhancement: If we want to preserve "resolved" objections, we'll need one more layer (using ...
"ot:reasonsToExcludeFromSynthesis": [
{
"$": "Felis as root conflicts with generally accepted phylogeny.",
"ot:resolved": true
},
{
"$": "Needs further curation, esp. OTU mapping",
"ot:resolved": false
},
],
... This proposal also removes any properties indicating the tree's current state (presence in synthesis collections) or our intentions for next synthesis. These are handled by the use of Include and Exclude buttons in the curation app, which will take effect immediately using the collections API to add/remove the current tree as needed. When this method responds, we update the tree-list display to reflect whether the tree is now in a synthesis collection (ie, one whose members will be included in synthesis by default). Comments welcome. Barring objections, I'll add this to the main Nexson documentation (wiki page). |
How do objections get resolved? |
This could be handled similarly to comments in a Google doc, which offer a Resolve button (perhaps as an alternative to simply deleting the objection). |
Will the NeXML round trip still work with lists like this?
|
I think I need to see a sketch of the proposed UI before giving a 👍 |
I believe so -- at least, I can't think of any reason why not.
Of course. I'm hoping to knock out some mockups later today. |
It seems to me like we should just start with a list of reason and add complexity later if we need it. Git provides us with history info for these fields, so I'm not convinced we need to hold the history in the doc (with the resolved=true being a form of recording the history). |
Good point -- I'll omit this wrinkle for now, since we can add it later if users wish they could see prior deliberations. |
I've updated the Nexson wiki page to include |
Here's the mockup so far, still working out some details: This is based closely on @kcranston's Balsamiq mockup, with some implementation details added. Some questions and observations:
|
I think that this looks quit nice. I agree that "include in synthesis?" is better than "Action" I do think the badges look nice, and more informative than "details" |
Here's a proposed design for the resulting "details" popup: It tries to explain all possible factors in an accessible way. A few
|
This all looks good to me! Thanks! (and agree about changing the heading on the 'Action' column) |
On opentree issue#1042 we have been finalizing plans for changing how users propose trees for synthesis. We (= primarily me and @jimallman ) now need to determine now we are going to represent these new properties in the NexSON. Here is a proposal for discussion:
ot:candidateTreeForSynthesis
property that currently holds a list of treeIds where Preferred = Trueot:candidateForSynthesis
with the following possible values: [Not reviewed
,Do not use
,Include
,Needs curation
]. The values correspond 1:1 to menu choices in the UI.Q: In the UI, the default value is
Not reviewed
. Would we add the property : value {ot:candidateForSynthesis
:Not reviewed
} to all of the NexSONS? Or simply assume that as the default value if the property does not exist?The text was updated successfully, but these errors were encountered: