Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create storage object for analyses #56

Open
sonyahanson opened this issue Jun 6, 2016 · 4 comments
Open

Create storage object for analyses #56

sonyahanson opened this issue Jun 6, 2016 · 4 comments

Comments

@sonyahanson
Copy link
Contributor

Started working on a way of storing the results, most useful for tracking different ways of analyzing the same dataset. So far this is what I've come up with: a dictionary of inputs that gets combined with a dictionary of outputs that gets stored as a csv file.

inputs = {
    'data_file'     :  'p38_singlet1_20160420_153238.xml',
    'Lstated'       :  np.array([20.0e-6,14.0e-6,9.82e-6,6.88e-6,4.82e-6,3.38e-6,2.37e-6,1.66e-6,1.16e-6,0.815e-6,0.571e-6,0.4e-6,0.28e-6,0.196e-6,0.138e-6,0.0964e-6,0.0676e-6,0.0474e-6,0.0320e-6,0.0240e-6,0.0160e-6,0.0120e-6,0.008e-6,0.00001e-6], np.float64), # ligand concentration, M
    'ligand_order'  :  ['BOS_w_backfill','BSI_w_backfill','ERL_w_backfill','GEF_w_backfill','BOS_no_backfill','BSI_no_backfill','ERL_no_backfill','GEF_no_backfill'],
    'protein'       :  'p38',
    'Pstated'       :  0.5e-6 * np.ones([24],np.float64), # protein concentration, M
    'assay_volume'  :  50e-6, # assay volume, L
    'well_area'     :  0.1369, # well area, cm^2 for 4ti-0203 [http://4ti.co.uk/files/3113/4217/2464/4ti-0201.pdf]
    }

outputs = {
        'analysis'        : 'pymcmodels',
        'outfiles'        : 'DeltaG_%s.npy, DeltaG_trace_%s.npy' %(rows_to_analyze, rows_to_analyze),
        'rows_to_analyze' : rows_to_analyze,
        'section'         : section,
        'DeltaG'          : "DeltaG = %.1f +- %.1f kT" % (DeltaG, dDeltaG),
        'Kd'              :  Kd_summary,
        'datetime'        : datetime.datetime.now().strftime("%Y-%m-%d %H:%M")
    }

This is a rough start so more input on what to include and what format would be ideal is much appreciated.

Currently this is created and run by a quick_model function that takes in the inputs dictionary and rows_to_analyze = 'BSI_w_backfill' and section = '280_480_TOP_120' makes a few figures and spits out the results.

So far this just spits out a csv file for each analysis rather than just appending to a database.

@sonyahanson
Copy link
Contributor Author

This is currently implemented using json files in quickmodel.py using a pre-defined inputs.py in the same directory. I think this is working nicely, but up for other suggestions on how to make this better or what to make sure to include.

@jchodera
Copy link
Member

Do we really want to store this as a CSV file? Why not just pickle the results?

@jchodera
Copy link
Member

Oh! Just saw the original post was from June, and that you're using JSON files now. Cool!

@jchodera
Copy link
Member

For inputs, what about taking some inspiration from the assaytools example and storing information like the ligand stock IDs and which rows of the plate you're considering?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants