C-Accel-CRIPT / sdk-archive

CRIPT Python SDK
MIT License
11 stars 0 forks source link

Missing data after upload via SDK #72

Open InnocentBug opened 1 year ago

InnocentBug commented 1 year ago

I am generating and uploading data to CRIPT, but it appears that many data fields are ignored or not uploaded. There is no error or warning thrown, which makes these very easy to miss. I also don't know what I am doing wrong here.

InnocentBug commented 1 year ago

For example, I upload a material like this:

        material = cript.Material(project=proj, name=uid)
        bigsmiles = cript.Identifier(key="bigsmiles", value=get_big_smiles(ana["smiles-string"]))
        material.add_identifier(bigsmiles)
        Mn, Mw = get_molweights(uid)
        material.add_property(cript.Property(key="mw_n", value=Mn, unit='g/mol'))
        material.add_property(cript.Property(key="mw_w", value=Mw, unit='g/mol'))
        forcefield = cript.ComputationalForcefield(
            key = "opls_aa",
            building_block = "atom",
            source = "Custom determination via LigParGen",
            data = forcefield_data
        )
        material.computation_forcefield = forcefield
        material.save(100000,update_existing=True)

But, when I upload this and get the JSON from CRIPT. There is no forcefield in the JSON.

{
    "url": "https://criptapp.org/api/material/45b96f34-cce5-458d-bf63-d843a24c7181/",
    "uid": "45b96f34-cce5-458d-bf63-d843a24c7181",
    "group": "https://criptapp.org/api/group/d7093f81-15ae-4c84-aace-caa3933b3fa3/",
    "project": "https://criptapp.org/api/project/dff795a3-8075-4731-96c1-fb56b0b198aa/",
    "name": "G-234TFS/",
    "identifiers": [
        {
            "key": "bigsmiles",
            "value": "{[] (C[$])C([$])(C)C(OCC(O)CSC1=CC=C(F)C(F)=C1F)=O []}"
        }
    ],
    "components": [],
    "keywords": [],
    "notes": null,
    "properties": [
        {
            "key": "mw_n",
            "value": 0.9201768998720014,
            "unit": "kilogram / mole",
            "uncertainty": null,
            "uncertainty_type": null,
            "type": null,
            "method": null,
            "components": [],
            "components_relative": [],
            "structure": null,
            "sample_preparation": null,
            "set_id": null,
            "conditions": [],
            "data": null,
            "computations": [],
            "citations": [],
            "notes": null
        },
        {
            "key": "mw_w",
            "value": 0.9201768998720008,
            "unit": "kilogram / mole",
            "uncertainty": null,
            "uncertainty_type": null,
            "type": null,
            "method": null,
            "components": [],
            "components_relative": [],
            "structure": null,
            "sample_preparation": null,
            "set_id": null,
            "conditions": [],
            "data": null,
            "computations": [],
            "citations": [],
            "notes": null
        },
        {
            "key": "temp_glass",
            "value": 361.637396328328,
            "unit": "kelvin",
            "uncertainty": 3.8927313404888366,
            "uncertainty_type": "stderr",
            "type": "value",
            "method": null,
            "components": [],
            "components_relative": [],
            "structure": null,
            "sample_preparation": null,
            "set_id": null,
            "conditions": [
                {
                    "key": "pressure",
                    "value": 100000.0,
                    "unit": "kilogram / meter / second ** 2",
                    "uncertainty": null,
                    "uncertainty_type": null,
                    "material": null,
                    "descriptor": null,
                    "data": null
                }
            ],
            "data": "https://criptapp.org/api/data/cc5ef655-9f90-4265-9bea-2ddda4efcd8a/",
            "computations": [],
            "citations": [],
            "notes": null
        }
    ],
    "process": null,
    "computational_forcefield": null,
    "public": false,
    "created_at": "2022-12-05T18:33:11.706644Z",
    "updated_at": "2022-12-05T18:33:11.706671Z"
}
InnocentBug commented 1 year ago

Also, the temp_glass property in this material is not complete. I created it like this:

    tg_prop = cript.Property("temp_glass",
                             value = tg_val,
                             unit = tg_unit,
                             type = "value",
                             uncertainty = tg_err,
                             uncertainty_type = "stderr",
                             conditions = quench_conditions,
                             data = quench_data,
                             computations = [quench, quench_up],
                             )

You can see, that the is recorded here, but the computations are not. Weird. It computations are in CRIPT though.

InnocentBug commented 1 year ago

These are just examples, I am missing fields in all kinds of nodes. I have no idea what is going on, and would appreciate any help.