SynBioDex / Xperimental-Data-Connector-Server

This runs a submission to flapjack and synbiohub from an excel file
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

flapjack ids on synbiohub #4

Open JMante1 opened 2 years ago

JMante1 commented 2 years ago

Not sure if this is the correct location to log the issue. When flapjack links are presented in the other information section on synbiohub it just shows the number. Having a clickable link that takes you to flapjack would be better (the full link is provided in the sbol).

cjmyers commented 2 years ago

Might they have been added as strings rather than RDF resources?

JMante1 commented 2 years ago

They are added using:

tl.setPropertyValue('https://flapjack.rudge-lab.org/ID', f'http://wwww.flapjack.com/{hash_map[id]}')

(https://github.com/SynBioDex/Xperimental-Data-Convertor/blob/d057c614c98015fe2600a80baadfb495f856a3b5/xperimental-data-conv/xperimental_data_conv/main.py#L76)

Which does add them in as strings. It seems like only int, string, and float are supported by this method.

JMante1 commented 2 years ago

I could switch to using a uri property instead though:

https://github.com/SynBioDex/pySBOL2/blob/abf1e80fac63e0761257cdcd7f06e4a44965e97e/sbol2/property.py#L296

cjmyers commented 2 years ago

Agreed. That would be the right approach.

JMante1 commented 2 years ago

It is now added as a uri. However it is still not a clickable property. Also @Gonza10V and @saisam17 the form http://wwww.flapjack.com/{flapjackID} is obviously not right in terms of actually linking to flapjack. Could you let me know what is the correct pattern/create a pull request on the xdc library to update the format?

Gonza10V commented 2 years ago

Why this form http://wwww.flapjack.com/{flapjackID} in not right to link to Flapjack? That form can be very specific or rather ambiguous. If you provide the Flapjack ID of DNA2 for example it will make a query that contains DNA2. The data that has DNA2 could be in different Studies for example and if new Studies that contain DNA2 are added it will included. The way to be more specific is including Study in particular or other value for the query. If you want to retrieve the characterization data of DNA2 you could store the Study that characterize it in the "URI" as well. What is the expected behaviour if you click a Flapjack link in SinBioHub?

JMante1 commented 2 years ago

Sorry I should give an example: when flapjack.create(dna2) is run you get back a flapjackID (not name but ID) e.g. 47. Then we want to be able to link to that object using something like: http://wwww.flapjack.com/47 or even http://wwww.flapjack.com/dna/47, however clicking that link will not lead to any kind of flapjack page. I would like the link to lead to a flapjack page with information about the dna2 part and the other flapjack objects it links to.

Gonza10V commented 2 years ago

For me information or metadata about DNA2 should be stored in SynBioHub, there is what DNA2 is. Then in Flapjack you just get experimental data related to DNA2. That is why our tools are comlementary, if we store what DNA2 is in Flapjack it will be redundant. Let me know if that is helpful or if I missunderstood something, division of labor between the tools is something that we can discuss and change.

cjmyers commented 2 years ago

Agree with Gonzalo about DNA. However for studies or assays it may be nice to access flapjack from the URI to allow measurements to be visualized

JMante1 commented 2 years ago

I think it makes sense to store metadata for DNA2 in Synbiohub, but being able to link to a flapjack page for DNA2 and see all the flapjack links to that object still makes sense. Additionally, we definitely want the be able to do something equivalent for low repression assay (assay 2) etc.

cjmyers commented 2 years ago

Yes, this makes sense. Being able to see what all the assays are for DNA2 could be useful.

Gonza10V commented 2 years ago

I agree that it would make sense to have a page for the objects with their description and to which objects it is related. An example of that could be DNA2 is in 3 Studies and list them, in 10 Assays, with 3 different Media, but a page like that is no currently implemented in Flapjack. If we can make a propossition in the form of an issue for feature request we could allocate someone to develop it, but it could take a while and probably will be a feature of Flapjack2. Given that Flapjack does not have an active developer I will not count on that feature for the near future. For now we should use what has been developed and the closest thing that we have are the query "URIs", although is no the best solution is the most practical.

saisam17 commented 2 years ago

@Gonzalo, Chris said it's fine to go ahead and use the existing query that is in place to support the links, which will take the user to FJ from the data uploaded to SynBioHub. When we connect tomorrow, we can work on finishing that.

cjmyers commented 2 years ago

What would an example URL look like to say query for DNA2?

Gonza10V commented 2 years ago

Well maybe DNA is not the best example because is inside Vector and Vector y part of the query. So for Vector2 the URL is this: flapjack.rudge-lab.org/view?vector=2 The user needs to be logged and have acces to the object to see it.

This is what it opens in my end. Screen Shot 2022-10-13 at 17 21 23

Gonza10V commented 2 years ago

If you press plot with that query this is the default output:

Screen Shot 2022-10-13 at 17 22 44

cjmyers commented 2 years ago

These seems reasonable for now.

JMante1 commented 2 years ago

Could you provide examples for the equivalent for each of the objects linked in synbiohub? Including DNA as it will still need some linkage.