Open-Systems-Pharmacology / Forum

Discussion forum for the Open Systems Pharmacology Project
65 stars 19 forks source link

OSP Molecules catalogue #10

Closed jgonlop3 closed 3 years ago

jgonlop3 commented 7 years ago

Hi, I´m new in OSP and I think that a good idea for new users like me is to have a catalogue of molecules with preconfigured properties. I think that PK-Sim can be very usefull for clinical uses with this information.

msevestre commented 7 years ago

Great idea

jgonlop3 commented 7 years ago

I don´t have sufficient programming background kwnoledge but I´m very interested in this topic. How can I help? Ideas to lead and planning work?

msevestre commented 7 years ago

@jgonlop3 The major task first of all is to compile this list of ever growing preconfigured molecules.

For each molecule, following parameters are required:

Then ideally, some processes describing how the drugs interacts with different enzymes, transporters etc..

The actual format could be an

Having a json file with all the compound properties would offer many advantages. One of which would be that this file would be on github and anyone could participate and add/modify the catalogue of molecules

So far, no programming knowledge required. Only a Text editor :)

In PK-Sim, a simple change would have to be implemented to allow for

jgonlop3 commented 7 years ago

Perfect! I think it´s easy to do. I start today! I make an LibreOffice Calc file with this properties. I think Calc is more easy for non-programmers than json. I agree with your comment, the perfect situation will be the PK-sim option to import/export properties of molecules.

msevestre commented 7 years ago

@Yuri05 @TheiBa Do you have any suggestions ?

TheiBa commented 7 years ago

What about the idea to import this information, e.g. from https://www.drugbank.ca/

I think that would offer accepted, referencable start values. Could involve 2 steps: 1. importing/extracting the information from above into a suitable format that is 2. readable by PK-Sim?

TheiBa commented 7 years ago

and further qualified models will be developed and posted as discussed in #11

msevestre commented 7 years ago

I fear that importing compound data without validating them may lead to quite a lot of unusable substances. Do you think we can use values from the drug bank in PK-Sim as is? It gets even more interesting when we think about processes. On Wed, May 17, 2017 at 5:27 PM Thomas Eissing notifications@github.com wrote:

What about the idea to import this information, e.g. from https://www.drugbank.ca/

I think that would offer accepted, referencable start values. Could involve 2 steps: 1. importing/extracting the information from above into a suitable format that is 2. readable by PK-Sim?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/Open-Systems-Pharmacology/Forum/issues/10#issuecomment-302236704, or mute the thread https://github.com/notifications/unsubscribe-auth/AA_jVXyIaIaW0evOvUWUCBqSa9Zf-Fcsks5r62ZLgaJpZM4NeICW .

TheiBa commented 7 years ago

https://github.com/notifications/beacon/AYQo2fcKCrP5b6brigYBewoeCkFcYtdsks5r62lxgaJpZM4NeICW.gif No, I am pretty sure we cannot expect the resulting models to have a high quality, but they can serve as an easy start that then needs refinement and qualification/validation for intended use. But I guess that is more the topic of #11?!

So, I see two topics: easy access to reasonable phys-chem values to start modelling (here), and then further developing quality models fit for purpose (#11).

jgonlop3 commented 7 years ago

Yes, I am agree with @msevestre. No quality = no usefull. But it´s a good starting point like @TheiBa told. There is a lot of databases information about molecular properties but we need to use the properties that match the best results with OSP. I think about starting with some of this references values and then validate the whole model in PK-Sim. The pack of properties for any molecule must be coordinate with adequate package of anatomy+physiological values...etc. In summary, we need to stablish an initial molecular values that works with the reference PBPK model implemmented in PK-Sim.

msevestre commented 7 years ago

@jgonlop3

I make an LibreOffice Calc file with this properties

Be aware that the number of properties is not set. That's why an excel/calc table won't work. For example, in the json text I pasted above, you can see that there is also a PartialProcess defined for CYP3A4 of type MixedInhibition.
A compound can have many different processes defined and as you can imagine, this will be very hard to model in a table.

jgonlop3 commented 7 years ago

Yes, I know the limitations of a table. I try to do a database (sqlite or libreoffice base are good options for this purpose). First of all I need to design the tables and relations. I think on spreadsheet like Calc previously because of its simplicity. But I think you are right and database is better option. I will make a database.

msevestre commented 7 years ago

@jgonlop3 the problem with a database is that it is very hard to extend if you are non programmer. Why not try the json file option? This is a simple text file that can be edited in almost any decent text editor. The beauty in this approach is that anyone could submit a patch on github and it would be fairly easy to see what has change between two versions (text file)

At the moment however, you can start with a simple table as you suggested which would have to be converted to another format once somewhat ready. Thoughts?

jgonlop3 commented 7 years ago

@msevestre I don´t like json format because it seems programming language code! difficult to read for me: not too intuitive... but you´re right again! is simple and this is the key. I will do it in json.

msevestre commented 7 years ago

Also another cool advantage is that pksim could load this file (in start or on demand) and use it as a remote compound database (json files are ideal for that...very lightweight)

On Thu, May 18, 2017, 3:40 PM jgonlop3 notifications@github.com wrote:

@msevestre https://github.com/msevestre I don´t like json format because it seems programming language code! difficult to read for me: not too intuitive... but you´re right again! is simple and this is the key. I will do it in json.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Open-Systems-Pharmacology/Forum/issues/10#issuecomment-302519991, or mute the thread https://github.com/notifications/unsubscribe-auth/AA_jVWY1wRIEAKZkickirnjOOG6ixIHbks5r7J7DgaJpZM4NeICW .

msevestre commented 7 years ago

See https://github.com/Open-Systems-Pharmacology/PK-Sim/issues/168 for upcoming implementation in PK-Sim that will allow users to create a json block automatically

jgonlop3 commented 7 years ago

Thank you @msevestre I´ll read it

jgonlop3 commented 7 years ago

I have a doubt: I am writing a json for vancomycin. I take the properties from Chemicalize.com. I have a lot of usefull information but I don´t know where to write it inside json frame. @msevestre can you help me? I try to simplify and take only the most important properties but in the json example you had sent I don´t know where to place this information. Example: How can I write solubility at differents pH? I think it is a very easy for you... ;)

msevestre commented 7 years ago

@jgonlop3 What PKSim is supporting now is fairly limited

For example you can only enter one solubility for a given pH. Those properties are called SolubilityAtRefpH and RefpH respectively. We may have to extend the json format to support all capability of PK-Sim in the future. For example

{ "Name": "inhibitor", "Lipophilicity": 2, "FractionUnbound": 0.6, "MolWeight": 3.0E-7, "SolubilityAtRefpH": 1.0E-7, "RefpH": 9, ... }

jgonlop3 commented 7 years ago

I think about this idea. Is it planned that PK-Sim can export data of molecules in json format? Because we can use PK-Sim to do a template that users can load with different data. Secondly, do a warehouse of molecules and then we do planning to validate them. Each set of data for a molecule (we can do many sets for the same molecule) can include information about it validation status.

2017-05-19 17:29 GMT+02:00 Michael Sevestre notifications@github.com:

@jgonlop3 https://github.com/jgonlop3 What PKSim is supporting now is fairly limited

For example you can only enter one solubility for a given pH. Those properties are called SolubilityAtRefpH and RefpH respectively. We may have to extend the json format to support all capability of PK-Sim in the future. For example

{ "Name": "inhibitor", "Lipophilicity": 2, "FractionUnbound": 0.6, "MolWeight": 3.0E-7, "SolubilityAtRefpH": 1.0E-7, "RefpH": 9, ... }

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Open-Systems-Pharmacology/Forum/issues/10#issuecomment-302734693, or mute the thread https://github.com/notifications/unsubscribe-auth/AEQnqUFeQytYIw5-SpjDj8hznKvdU8gZks5r7bVdgaJpZM4NeICW .

-- Jaime González López

jgonlop3 commented 7 years ago

We can use PK-sim as frontend. We only need export capabilities.

2017-05-19 17:37 GMT+02:00 Jaime Gonzalez jgonlop3@gmail.com:

I think about this idea. Is it planned that PK-Sim can export data of molecules in json format? Because we can use PK-Sim to do a template that users can load with different data. Secondly, do a warehouse of molecules and then we do planning to validate them. Each set of data for a molecule (we can do many sets for the same molecule) can include information about it validation status.

2017-05-19 17:29 GMT+02:00 Michael Sevestre notifications@github.com:

@jgonlop3 https://github.com/jgonlop3 What PKSim is supporting now is fairly limited

For example you can only enter one solubility for a given pH. Those properties are called SolubilityAtRefpH and RefpH respectively. We may have to extend the json format to support all capability of PK-Sim in the future. For example

{ "Name": "inhibitor", "Lipophilicity": 2, "FractionUnbound": 0.6, "MolWeight": 3.0E-7, "SolubilityAtRefpH": 1.0E-7, "RefpH": 9, ... }

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/Open-Systems-Pharmacology/Forum/issues/10#issuecomment-302734693, or mute the thread https://github.com/notifications/unsubscribe-auth/AEQnqUFeQytYIw5-SpjDj8hznKvdU8gZks5r7bVdgaJpZM4NeICW .

-- Jaime González López

-- Jaime González López

jgonlop3 commented 7 years ago

Regarding solubility data: How can I write 2 solubilities at 2 different pHs? Can you give me an example?

msevestre commented 7 years ago

@jgonlop3

Is it planned that PK-Sim can export data of molecules in json format?

yes: https://github.com/Open-Systems-Pharmacology/PK-Sim/issues/168 This will be released in 7.2.0. As soon as the feature is implemented however, you'll be able to try it out with the pre release

Regarding solubility data: How can I write 2 solubilities at 2 different pHs? Can you give me an example?

This is not supported by PK-Sim. Instead, using RefpH and Ref Solubility and solubility gain per charge, PK-Sim predicts the Sol = f(pH)

Here is an extract of Chapter 15 describing how PK-Sim handles solubility

The solubility can be specified together with the type of measurement or the medium used (first column, Experiment). The corresponding unit can be chosen from the drop-down menu in the second column (Solubility at Ref-pH). For charged compounds, the pH value at which the solubility of the compound was measured should be given in the third column (Ref-pH). In the fourth column, the Solubility gain per charge can be modified, which defines the factor by which the solubility increases with each ionization step. In order to calculate the charge of the molecule, the fraction of each microspecies is calculated according to the Henderson-Hasselbalch equation for a given pH. This is done across the entire pH-range such that the fractions are used to calculate the probability with which a molecule is in a certain ionization state. Based on this information, the pH-dependent solubility of molecules with one or more ionizable groups is calculated. By clicking on Show Graph, the pH-dependent solubility across the whole pH range calculated based on the experimental solubility at the defined pH is shown. For neutral compounds the input fields Ref-pH and Solubility gain per charge and the graph are irrelevant.

jgonlop3 commented 7 years ago

Thanks @msevestre

jgonlop3 commented 7 years ago

In PK-Sim I can select differents units but in the json file you sent me as example this is not specified. Where can I registered the units (example mg/L) of the solubility at Ref-pH inside json files?

"SolubilityAtRefpH": 0.177827, <- Which units????? "RefpH": 7.4,

msevestre commented 7 years ago

This is a very good point. The json specification does not support unit at the moment. That means that for now, all values should be defined in base unit for a specific dimension. PK-Sim and MoBi are using the following dimension and unit definition

https://github.com/Open-Systems-Pharmacology/OSPSuite.Dimensions/blob/master/OSPSuite.Dimensions.xml

For example, Concentration (molar) as a base unit of umol/l https://github.com/Open-Systems-Pharmacology/OSPSuite.Dimensions/blob/master/OSPSuite.Dimensions.xml#L165

When the export is implemented in PK-Sim,. values will be exported in the correct unit by default

Does it make sense?

jgonlop3 commented 7 years ago

Understand. Is possible to add dime coment in json file with the units? Only like explanation. Ir nota is possible, dont worry. I understand It.

PavelBal commented 7 years ago

Why json? I am not a fan of XML, but wouldn't it be more consistent to use XML for compound definitions? OSPS uses XML for exporting model blocks and whole simulations (MatLab/R), so no new structure should be thought of. Furthermore, schemas could help in validating the molecules catalogue.

The advantage of json of being more lighweight should not play any role as the data should be used locally.

Yuri05 commented 7 years ago

Defining a schema would be a good idea in any case. JSON format also supports schema definition and validation can be performed even online. http://www.jsonschemavalidator.net/

msevestre commented 7 years ago

That being said, the format we have now, that I copied as an example above, will probably need to be extended. More particularly, I think we need to add

@jgonlop3 While json will remain, the actual data structure will change now that we go from an intern use to external use only. It might be wise to wait a bit until the structure is finalize

CcVn commented 7 years ago

Dear all,

The proposal of an "incremental" approach made by TheiBa sounds reasonable. Drugbank is a good source to start with : I used it quite often as a starting point when building a new PBPK model from scratch on reference compounds, and the quality of information seems sufficient for a first version of a model. Then the compound file may be gradually completed/optimized to use other validated in vitro or ex vivo data found elsewhere. Up to a real "validation" against clinical data (first PK in healthy people, then in disease population etc.). This approach may require to have a dedicated and standardized field within the compound file indicating the degree/scale of quality/validation of the file, starting with the lowest grade (pure in silico data) to the highest grade (file validated with various clinical datasets). This way people could know what degree of confidence they can put into their simulations.

Best regards,