OpenTreeOfLife / opentree

Opentree browsing and curation web site. For overarching or cross-repo concerns, please see the 'germinator' repo.
http://tree.opentreeoflife.org/
BSD 2-Clause "Simplified" License
107 stars 26 forks source link

error when rooting trees in study ot_232 #531

Open rgazis opened 9 years ago

rgazis commented 9 years ago

http://tree.opentreeoflife.org/curator/study/edit/ot_232/?tab=trees

When rooting/and selecting ingroup for one of the trees in study ot_232 a message "Sorry, there was an error in the study data." appears at the bottom.

when click details..

Open Tree of Life Curator Home Studies Welcome rgazis Sorry, there was an error in the study data. Hide details {"description": "ot_validation failed: {\"annotationEvent\": {\"@preserve\": false, \"@description\": \"Open Tree NexSON validation\", \"@passedChecks\": false, \"@wasAssociatedWithAgentId\": \"peyotl-validator\", \"message\": [{\"@severity\": \"ERROR\", \"@code\": \"INVALID_PROPERTY_VALUE\", \"data\": [\"ot:isLeaf\"], \"refersTo\": {\"@idref\": [\"Tn8234039\"], \"@treeID\": [\"Tn8234039\"], \"@treesID\": \"Tr49052\", \"@top\": \"trees\"}}, {\"@severity\": \"WARNING\", \"@code\": \"MISSING_OPTIONAL_KEY\", \"data\": [\"^ot:ottId\"], \"refersTo\": {\"@idref\": [\"Tl649243\", \"Tl649244\", \"Tl649245\", \"Tl649246\", \"Tl649247\", \"Tl649248\", \"Tl649249\", \"Tl649250\", \"Tl649251\", \"Tl649252\", \"Tl649253\", \"Tl649254\", \"Tl649255\", \"Tl649256\", \"Tl649257\", \"Tl649258\", \"Tl649259\", \"Tl649260\", \"Tl649261\", \"Tl649262\", \"Tl649263\", \"Tl649264\", \"Tl649265\", \"Tl649266\", \"Tl649267\", \"Tl649268\", \"Tl649269\", \"Tl649270\", \"Tl649271\", \"Tl649272\", \"Tl649273\", \"Tl649274\", \"Tl649275\", \"Tl649276\", \"Tl649277\", \"Tl649278\", \"Tl649279\", \"Tl649280\", \"Tl649281\", \"Tl649282\", \"Tl649283\", \"Tl649284\", \"Tl649285\", \"Tl649286\", \"Tl649287\", \"Tl649288\", \"Tl649289\", \"Tl649290\", \"Tl649291\", \"Tl649292\", \"Tl649293\", \"Tl649294\", \"Tl649295\", \"Tl649296\", \"Tl649297\", \"Tl649298\", \"Tl649299\", \"Tl649300\", \"Tl649301\", \"Tl649302\", \"Tl649303\", \"Tl649304\", \"Tl649305\", \"Tl649306\", \"Tl649307\", \"Tl649308\", \"Tl649309\", \"Tl649310\", \"Tl649311\", \"Tl649312\", \"Tl649313\", \"Tl649314\", \"Tl649315\", \"Tl649316\", \"Tl649317\", \"Tl649318\", \"Tl649319\", \"Tl649346\", \"Tl649347\", \"Tl649348\", \"Tl649349\", \"Tl649350\", \"Tl649351\", \"Tl649352\", \"Tl649353\", \"Tl649354\", \"Tl649355\", \"Tl649356\", \"Tl649357\", \"Tl649358\", \"Tl649359\", \"Tl649360\", \"Tl649361\", \"Tl649362\", \"Tl649363\", \"Tl649364\", \"Tl649365\", \"Tl649366\", \"Tl649367\", \"Tl649368\", \"Tl649369\", \"Tl649370\", \"Tl649371\"], \"@otuID\": [\"Tl649243\", \"Tl649244\", \"Tl649245\", \"Tl649246\", \"Tl649247\", \"Tl649248\", \"Tl649249\", \"Tl649250\", \"Tl649251\", \"Tl649252\", \"Tl649253\", \"Tl649254\", \"Tl649255\", \"Tl649256\", \"Tl649257\", \"Tl649258\", \"Tl649259\", \"Tl649260\", \"Tl649261\", \"Tl649262\", \"Tl649263\", \"Tl649264\", \"Tl649265\", \"Tl649266\", \"Tl649267\", \"Tl649268\", \"Tl649269\", \"Tl649270\", \"Tl649271\", \"Tl649272\", \"Tl649273\", \"Tl649274\", \"Tl649275\", \"Tl649276\", \"Tl649277\", \"Tl649278\", \"Tl649279\", \"Tl649280\", \"Tl649281\", \"Tl649282\", \"Tl649283\", \"Tl649284\", \"Tl649285\", \"Tl649286\", \"Tl649287\", \"Tl649288\", \"Tl649289\", \"Tl649290\", \"Tl649291\", \"Tl649292\", \"Tl649293\", \"Tl649294\", \"Tl649295\", \"Tl649296\", \"Tl649297\", \"Tl649298\", \"Tl649299\", \"Tl649300\", \"Tl649301\", \"Tl649302\", \"Tl649303\", \"Tl649304\", \"Tl649305\", \"Tl649306\", \"Tl649307\", \"Tl649308\", \"Tl649309\", \"Tl649310\", \"Tl649311\", \"Tl649312\", \"Tl649313\", \"Tl649314\", \"Tl649315\", \"Tl649316\", \"Tl649317\", \"Tl649318\", \"Tl649319\", \"Tl649346\", \"Tl649347\", \"Tl649348\", \"Tl649349\", \"Tl649350\", \"Tl649351\", \"Tl649352\", \"Tl649353\", \"Tl649354\", \"Tl649355\", \"Tl649356\", \"Tl649357\", \"Tl649358\", \"Tl649359\", \"Tl649360\", \"Tl649361\", \"Tl649362\", \"Tl649363\", \"Tl649364\", \"Tl649365\", \"Tl649366\", \"Tl649367\", \"Tl649368\", \"Tl649369\", \"Tl649370\", \"Tl649371\"], \"@top\": \"otus\", \"@otusID\": \"Tls23094\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"^dc:contributor\", \"^dc:creator\", \"^dc:date\", \"^dc:subject\", \"^dc:title\", \"^dcterms:bibliographicCitation\", \"^ot:comment\", \"^prism:creationDate\", \"^prism:modificationDate\", \"^prism:publicationDate\", \"^prism:section\", \"^skos:changeNote\", \"^skos:historyNote\", \"^tb:identifier.study\", \"^tb:title.study\"], \"refersTo\": {\"@idref\": \"S12034\", \"@top\": \"nexml\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tb15549\", \"@treesID\": \"Tb15549\", \"@top\": \"trees\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"^skos:historyNote\"], \"refersTo\": {\"@idref\": \"Tb15549\", \"@treesID\": \"Tb15549\", \"@top\": \"trees\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tls23094\", \"@top\": \"otus\", \"@otusID\": \"Tls23094\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"^skos:historyNote\"], \"refersTo\": {\"@idref\": \"Tls23094\", \"@top\": \"otus\", \"@otusID\": \"Tls23094\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233932\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233932\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233934\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233934\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233939\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233939\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233942\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233942\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233943\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233943\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233944\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233944\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233946\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233946\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233947\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233947\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233953\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233953\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233954\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233954\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233960\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233960\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233961\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233961\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233962\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233962\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233963\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233963\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233966\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233966\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233967\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233967\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233969\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233969\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233971\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233971\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233972\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233972\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233974\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233974\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233975\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233975\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233983\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233983\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233987\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233987\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233988\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233988\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233991\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233991\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233994\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233994\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233995\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233995\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233996\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233996\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8233998\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8233998\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234001\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234001\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234002\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234002\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234003\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234003\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234005\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234005\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234006\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234006\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234007\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234007\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234009\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234009\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234010\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234010\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234011\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234011\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234013\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234013\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234014\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234014\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234015\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234015\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234019\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234019\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234020\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234020\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234023\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234023\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234026\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234026\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234027\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234027\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234028\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234028\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234030\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234030\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234033\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234033\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234035\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234035\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234037\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234037\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234038\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234038\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234042\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234042\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234043\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234043\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234044\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234044\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tn8234047\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\", \"@nodeID\": \"Tn8234047\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"@label\"], \"refersTo\": {\"@idref\": \"Tr49052\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\"}}, {\"@severity\": \"WARNING\", \"@code\": \"UNRECOGNIZED_KEY\", \"data\": [\"^ot:nodeLabelMode\", \"^ot:nodeLabelTimeUnit\", \"^tb:kind.tree\", \"^tb:ntax.tree\", \"^tb:quality.tree\", \"^tb:type.tree\"], \"refersTo\": {\"@idref\": \"Tr49052\", \"@treeID\": \"Tr49052\", \"@treesID\": \"Tr49052\", \"@top\": \"trees\"}}], \"@id\": \"peyotl-validator-event\"}, \"agent\": {\"@description\": \"Open Tree NexSON validation\", \"@name\": \"api.opentreeoflife.org/validate\", \"@version\": \"0.0.4a\", \"@url\": \"https://github.com/OpenTreeOfLife/peyotl\", \"invocation\": {\"otherProperty\": [{\"name\": \"pythonVersion\", \"value\": \"2.7.3\"}, {\"name\": \"pythonImplementation\", \"value\": \"CPython\"}], \"commandLine\": []}, \"@id\": \"peyotl-validator\"}}", "error": 1}

jimallman commented 9 years ago

@rgazis, I ran the tests below on the study that's in the system, with no obvious errors found. I was able to save the study successfully after making no changes. Can you re-try your edits one at a time, saving after each one? This should help us pinpoint the error.

@mtholder, There are lots of mysterious properties in this study's elements (see above) and one fatal error that I'm unable to reproduce (see below). Do you see any clues here?

I believe the fatal error in validation is this one (formatted for clarity):

{
  "@severity": "ERROR", 
  "@code": "INVALID_PROPERTY_VALUE", 
  "data": ["ot:isLeaf"], 
  "refersTo": {
    "@idref": ["Tn8234039"], 
    "@treeID": ["Tn8234039"], 
    "@treesID": "Tr49052", 
    "@top": "trees"
  }
}

I've tried looking for weird nodes with unexpected values for ^ot:isLeaf, with no luck. This is from Chrome's dev console:

allNodes = viewModel.elementTypes.node.gatherAll(viewModel.nexml)
  Array[1690]
leafNodes = allNodes.filter(function(n) { return ('^ot:isLeaf' in n); });
  Array[856]
weirdNodes = leafNodes.filter(function(n) { return n['^ot:isLeaf'] !== true; });
  []
weirdNodes = leafNodes.filter(function(n) { return (typeof n['^ot:isLeaf'] !== 'boolean'); });
  []
weirdNodes = leafNodes.filter(function(n) { return n['^ot:isLeaf'] == false; });
  []

Perhaps it's a non-node element with the property ^ot:isLeaf? If so, I can't find it:

allTrees = viewModel.elementTypes.tree.gatherAll(viewModel.nexml)
  [Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object, Object]
leafTrees = allTrees.filter(function(n) { return ('^ot:isLeaf' in n); });
  []

allTreesCollections = viewModel.elementTypes.trees.gatherAll(viewModel.nexml)
  [Object]
leafTreesCollections = allTreesCollections.filter(function(n) { return ('^ot:isLeaf' in n); });
  []

allEdges = viewModel.elementTypes.edge.gatherAll(viewModel.nexml)
  Array[1678]
leafEdges = allEdges.filter(function(n) { return ('^ot:isLeaf' in n); });
  []

allOTUs = viewModel.elementTypes.otu.gatherAll(viewModel.nexml)
  Array[103]
leafOTUs = allOTUs.filter(function(n) { return ('^ot:isLeaf' in n); });
  []

allOTUCollections = viewModel.elementTypes.otus.gatherAll(viewModel.nexml)
  [Object]
leafOTUCollection = allOTUCollections.filter(function(n) { return ('^ot:isLeaf' in n); });
  []
mtholder commented 9 years ago

@rgazis Is it possible to describe where you were trying to put the root? (if you can point me to the paper, I can take a look).

@jimallman I'll try to look into this later. could be associated with the translation from the curator apps hbf 1.0.0 to the phylsystem's 1.2.1. Either there could be a bug in the conversion or this could be making the issue harder to find in chrome dev tools.

rgazis commented 9 years ago

Hi Mark

I was trying to set Chlorencoella torts KUS-F52256 as the root

Maybe it created problems because I needed to map it before selecting this terminal as the root?

Thanks

Romina

[http://ars.els-cdn.com/content/image/1-s2.0-S1878614613001694-gr2.jpg]

Romina Gazis, PhD Postdoctoral Fellow Biology Department Clark University 950 Main Street Worcester MA 01610 http://fungiperu.wordpress.com

From: "Mark T. Holder" notifications@github.com<mailto:notifications@github.com> Reply-To: OpenTreeOfLife/opentree reply@reply.github.com<mailto:reply@reply.github.com> Date: Thursday, January 8, 2015 12:40 AM To: OpenTreeOfLife/opentree opentree@noreply.github.com<mailto:opentree@noreply.github.com> Cc: Clark University rgazis@clarku.edu<mailto:rgazis@clarku.edu> Subject: Re: [opentree] error when rooting trees in study ot_232 (#531)

@rgazishttps://github.com/rgazis Is it possible to describe where you were trying to put the root? (if you can point me to the paper, I can take a look).

@jimallmanhttps://github.com/jimallman I'll try to look into this later. could be associated with the translation from the curator apps hbf 1.0.0 to the phylsystem's 1.2.1. Either there could be a bug in the conversion or this could be making the issue harder to find in chrome dev tools.

— Reply to this email directly or view it on GitHubhttps://github.com/OpenTreeOfLife/opentree/issues/531#issuecomment-69138502.

jimallman commented 9 years ago

I was trying to set Chlorencoella torts KUS-F52256 as the root

Thanks, I'll try this in the curation app and see if its code is causing the problem.

Maybe it created problems because I needed to map it before selecting this terminal as the root?

This should not be a problem, but we'll see...

jimallman commented 9 years ago

Based on the tree id reported in the original error message ("Tr49052", albeit in the wrong field), I'm guessing you did this in the first listed tree, which has that ID: http://tree.opentreeoflife.org/curator/study/edit/ot_232?tab=trees&tree=Tr49052

I don't see a node with the label "Chlorencoella torts KUS-F52256", but I tried re-rooting to the very similar "Chlorencoelia torta KUS-F52256" and running my Javascript tests above. Once again, no weird "leaf" elements were found.

I tried saving the changed study and got a very similar (the same?) validation error as reported by @rgazis. So now I'm looking more closely at the different fields reported in the (fatal) error message:

"refersTo": {
  "@idref": ["Tn8233982"], 
  "@treeID": ["Tn8233982"],
  "@treesID": "Tr49052", 
  "@top": "trees"
}

@mtholder, note that the treeID shown here is actually a node id (should be "Tr49052"), and the treesID should be the id of the only trees (tree collection) element in this study, or "Tb15549".

I haven't paid enough attention to these error messages to know whether this is a one-time glitch, or whether we often mis-label the ids in these annotations. Could this be a clue to some structural weirdness in this study that is confusing the validator?

mtholder commented 9 years ago

Hi, I think that peyotl will reject a tree that has any internal node marked with the "ot:isLeaf" property.

@rgazis I think that I achieved the rooting that you wanted by clicking on the branch that leads to the tip and telling the curator app to root along that edge. We'll try to fix the user interface so that curators don't need to know that trick. Could you verify that you wanted to perform this rooting on the first tree in the list, and confirm my edit? The tree that I rerooted is at http://tree.opentreeoflife.org/curator/study/view/ot_232/?tab=trees&tree=Tr49052

@jimallman we probably want to disable rooting at leaves, or automatically interpret a request to do that as a request to root along the edge that leads to the root.

Alternatively we could drop the "^ot:isLeaf" property from a node when we root at at tip. However it is extremely rare for a study to have a node of degree-1 as the root. So I think that we probably don't need to support that feature. We can probably just disable the reroot events for the leaves.

I've created a peyotl issue for fixing the problem in the error message that you noted.

jimallman commented 9 years ago

I think that peyotl will reject a tree that has any internal node marked with the "ot:isLeaf" property.

The curation app should update these flags when re-rooting. I'll check the JS to confirm.

we probably want to disable rooting at leaves, or automatically interpret a request to do that as a request to root along the edge that leads to the root.

Seems like a reasonable response, unless we can find a legit case where the tip node should truly be the new root.

jimallman commented 9 years ago

OK, I've added a quick sweep of all nodes after re-rooting, to update the ot:isLeaf flag for each. This means we should correctly handle re-rooting directly on a tip. Let me know if we should instead block re-rooting on these nodes entirely.

This is available for review on devtree and lets me save a study after re-rooting on a tip.

mtholder commented 9 years ago

I suspect most (all?) curators who ask to reroot on a leaf really want that leaf to be the outgroup rather than the root. I don't suppose that it matters too much for synthesis (if the ingroup is culled out), but I would not be surprised if having a root with degree 1 breaks some of the tools in our pipeline.

So, I'd say: disable rooting at leaf nodes until someone requests that feature.

jimallman commented 9 years ago

OK, I've disabled re-rooting directly on a leaf node. (In other words, this option will no longer appear on these nodes.) This is working now on devtree.