Rothamsted / knetminer

KnetMiner - webapp to search and visualize genome-scale knowledge graphs
https://knetminer.com
MIT License
25 stars 16 forks source link

Gene View shows wrong numbers in Evidence column #576

Closed KeywanHP closed 3 years ago

KeywanHP commented 3 years ago

In the current master branch, searching with a Genelist but without keywords shows the wrong numbers in the EVIDENCE column of Gene View. Many concept types like Trait, Phenotype, BioProc have always TWO duplicated evidences. On the production it's working as expected. See here comparison of genome API output on dev and live server:

http://babvs72.rothamsted.ac.uk:9100/ws/wheatknet/genome?list=TRAESCS3D02G004100

{"geneTable":"ONDEX-ID\tACCESSION\tGENE NAME\tCHRO\tSTART\tTAXID\tSCORE\tUSER\tQTL\tEVIDENCE\n35264\tTRAESCS3D02G004100\tMFT\t3D\t1733084\t4565\t193.30\tyes\t\tPath2Hormone signaling, transpor...//Hormone signaling, transpor...||ProtDomain2PEBP_euk//PEBP_euk||Phenotype2DECREASED GERMINATION WHEN ...//DECREASED GERMINATION WHEN ...||MolFunc1Phosphatidylethanolamine Bi...||CelComp2Endoplasmic Reticulum//Endoplasmic Reticulum||BioProc2Abscisic Acid-activated Sig...//Abscisic Acid-activated Sig...||Gene2WRI1//WRI1||Publication48PMID:31077147//PMID:30794545//PMID:31012027//PMID:31481195//PMID:30061395//PMID:28254780//PMID:28332758//PMID:29398940//PMID:28240777//PMID:26950112//PMID:27446143//PMID:27293186//PMID:27389636//PMID:26891287//PMID:26873978//PMID:25931984//PMID:24932489//PMID:25464340//PMID:24879400//PMID:24444091||Trait2FT10//FT10||Reaction1ARF inactivation by AUX/IAA||Protein2Q41261//Q41261||SNPEffect2START_LOST//START_LOST\n",

https://knetminer.com/wheatknet/genome?list=TRAESCS3D02G004100

{"geneTable":"ONDEX-ID\tACCESSION\tGENE NAME\tCHRO\tSTART\tTAXID\tSCORE\tUSER\tQTL\tEVIDENCE\n35264\tTRAESCS3D02G004100\tMFT\t3D\t1733084\t4565\t183.84\tyes\t\tProtDomain4Phosphatidylethanolamine-bd_CS//PEBP//PEBP-like_sf//PEBP_euk||Phenotype2DECREASED RATE OF GERMINATION...//DECREASED GERMINATION WHEN GR...||MolFunc1Phosphatidylethanolamine Bind...||Gene36ERF039//TRAESCS6A02G343300//NFYA8//TRAESCS6D02G268100//TRAESCS2A02G370400//MYB96//TRAESCS4A02G180900//TRAESCS3A02G485400//NFYA6//MKRN//TRAESCS3D02G434700//TULP7//TRAESCS5D02G496300//MFT//TRAESCS4B02G101400//TRAESCS5D02G158300//TRAESCS3A02G486500//NFYB10//MFT//TULP4//TRAESCS1D02G275400//ATMYB69//TRAESCS7D02G259600//ATMYB69//ATMYB69//TRAESCS5A02G491500//NF-YB1//WRI1//TCX2//MFT//MFT//ATY13//TRB1//TRAESCS3B02G533200//TRAESCS7A02G258700//WRI1||BioProc13Regulation Of Timing Of Trans...//Negative Regulation Of Flower...//Cell Differentiation//Inflorescence Development//Response To Abscisic Acid//Photoperiodism, Flowering//Regulation Of Flower Developm...//Short-day Photoperiodism, Flo...//Flower Development//Short-day Photoperiodism//Positive Regulation Of Seed G...//Vegetative To Reproductive Ph...//Abscisic Acid-activated Signa...||CelComp3Nucleus//Cytoplasm//Endoplasmic Reticulum||Publication46PMID:30794545//PMID:30061395//PMID:28254780//PMID:27862469//PMID:29398940//PMID:28240777//PMID:26950112//PMID:27446143//PMID:27293186//PMID:27389636//PMID:26891287//PMID:26873978//PMID:25931984//PMID:24932489//PMID:25464340//PMID:24879400//PMID:24444091//PMID:25330236//PMID:24280374//PMID:23590427||Trait17Grain germination//Storage 56 days//Mg25//Ca43//Grain yield//Anthesis time//mineral and ion content trait//seed maturation//Seed Dormancy//grain number//flowering time trait//seed dormancy//avrB//Seedling Growth//grain yield trait//Cd114//FT10||Protein12Q8VWH2//Q9XH44//Q9XH43//Q656A5//Q93WI9//O82088//Q9ASJ1//AT1G18100.1//Q9XH42//TRAESCS3D02G004100.1//Q9XFK7//Q41261\n"

KeywanHP commented 3 years ago

All concept types (apart from Publications) in Evidence column have a [1] or [2]. If it's [2] then both entries are identical.

image

AjitPS commented 3 years ago

@marco-brandizi hope this is somewhat useful info: The KnetMiner search results come from genome API endpoint (see https://github.com/Rothamsted/knetminer/blob/master/server-datasource-ondexlocal/src/main/java/rres/knetminer/datasource/ondexlocal/OndexLocalDataSource.java#L161) that returns 1 big response JSON with 3 output views wrapped inside it (comma-separated). GeneView .tab as "genetable", EvidenceView .tab as "evidencetable" and XML for Map View (genomaps) called "gviewer" in the response JSON besides 3 counts: "geneCount", "docSize" & "totalDocSize".

In this the "genetable" (Gene View) has an evidences column (that @KeywanHP shows above) that shows types (and counts) of evidences that in UI if you click on 1 of the concept shapes, it shows list of IDs of evidences of that type. These counts are wrong in this case. they show [2] when its one entry being duplicated somehow in the results returned or [1] besides publications which are the correct number.

e.g., https://knetminer.rothamsted.ac.uk/ws/wheatknet/genome?keyword=dormancy&list=MFT (old live example) works but new v5.0 example: http://babvs72.rothamsted.ac.uk:9100/ws/wheatknet/genome?list=MFT fails.

The "genetable" for GeneView is generated and returned at https://github.com/Rothamsted/knetminer/blob/master/server-datasource-ondexlocal/src/main/java/rres/knetminer/datasource/ondexlocal/service/ExportService.java#L350.

If user clicks on any 1 or more of these genes, its knetwork is displayed in Network View (knetmaps) by using a cyjsJSON response from network endpoint (see https://github.com/Rothamsted/knetminer/blob/master/server-datasource-ondexlocal/src/main/java/rres/knetminer/datasource/ondexlocal/OndexLocalDataSource.java#L282 ) which shows correct (larger) number (counts) for each conceptType.

KeywanHP commented 3 years ago

@marco-brandizi @AjitPS I have updated the title. The described problem happens for any type of search. I think the bug is somewhere between line 440-457 in ExportService.java.

https://github.com/Rothamsted/knetminer/blob/809a9d13318a73047f4802a5a58306a0b7a076a4/server-datasource-ondexlocal/src/main/java/rres/knetminer/datasource/ondexlocal/service/ExportService.java#L440

marco-brandizi commented 3 years ago

That was due to a recent bad renaming of lambda variables. Now it should be fixed. Please review the test instance(s) and close the issue.

KeywanHP commented 3 years ago

Fixed now