Closed aradley closed 3 years ago
In "data_sets/De-noised_1200G_9T_300cPerT_6_DS3/" directory we have provided input files for a GRN (Interaction_cID_6.txt, Regs_cID_6.txt) containing 1200 genes. You can use this GRN in a differentiation simulation with settings of dataset 12. If it's not quite what you want, let me know and I can help you creating input for your desired GRN.
And thanks for reporting this. We understand that users need to create arbitrary input GRNs and we hope to implement some functionality for this purpose in the near future.
Ah ok, so SERGIO can handle each of these GRN's as a differentiation process just by changing the "dynamics" parameter? If this is correct then yes, this seems like it will do find, thank you.
I'm a bit confused as to how SERGIO will know/decide which cell groups the branching points occur between though. Is that encoded in the "bifurcation_matrix"? If so, would it be possible to upload all the required input settings for dataset 12 so that I can use then with the GRN of dataset 3?
Thanks for your help :)
Hi Payam,
If you find the time could you answer my above questions? After that I'll try to simulate a datasets with SERGIO.
Thank you.
First of all, yes your understanding is correct, you can simulate any GRN in both steady state and dynamics modes. I don't have the exact input files that you require, but I can help you creating them quickly:
1- in "data_sets/De-noised_1200G_9T_300cPerT_6_DS3/" there are two files you need to use Interaction_cID_6.txt and Regs_cID_6.txt 2- you can left the interaction file unchanged. But in the Regs file, number of columns determines number of cell types. It currently has 9 columns/cell-types. You can use all of them or remove some of them to simulate smaller number of cell types. 3- You need a matrix (bifurcation_matrix) to determine differentiation program. It should be an upper triangular matrix, with non-zero values in row i, column j showing differentiation of cell type i to cell type j. An example of this file is in De-noised_100G_6T_300cPerT_dynamics_7_DS6/bMat_cID7.tab.
If you have 9 cell types, this file should have 9 rows and columns. You can determine edges by non-zero values. I recommend using non-zeros values < 0.2. One last tip is that do not use very large values for noise parameters, I recommend using the default noise parameters (noise_params = 0.2, noise_params_splice = 0.07) in run_sergio.ipynb.
Hi, thanks for clarifying. I've got your example to run on my computer, unfortunately I'm getting an error when I try using the inputs suggested abover.
I am running the following:
Bifur_Matrix = np.zeros((9,9))
Bifur_Matrix[0,1] = 0.08
Bifur_Matrix[1,2] = 0.08
Bifur_Matrix[2,3] = 0.08
Bifur_Matrix[2,4] = 0.08
Bifur_Matrix[3,5] = 0.08
Bifur_Matrix[3,6] = 0.08
Bifur_Matrix[4,7] = 0.08
Bifur_Matrix[4,8] = 0.08
sim = sergio(number_genes=1200, number_bins = 9, number_sc = 300, noise_params = 0.2, decays=0.8, sampling_state = 1, noise_params_splice = 0.07, noise_type='dpd', dynamics=True, bifurcation_matrix= Bifur_Matrix)
sim.build_graph(input_file_taregts ='/home/ahr35/Python_Enviroments/SERGIO/data_sets/De-noised_1200G_9T_300cPerT_6_DS3/Interaction_cID_6.txt', input_file_regs='/home/ahr35/Python_Enviroments/SERGIO/data_sets/De-noised_1200G_9T_300cPerT_6_DS3/Regs_cID_6.txt', shared_coop_state=2)
sim.simulate()
and this flags up the following error, " AttributeError: 'sergio' object has no attribute 'scIndices_' "
Obviously you will need to change the paths slightly to see if you can re-create the error.
Any ideas?
Thanks,
Arthur
Can you show the entire output printed when you run sim.simulate()? Need to know where this error occurs.
Yes of course.
sim.simulate()
Start simulating new level
There are 2 genes to simulate in this layer
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/ahr35/Python_Enviroments/SERGIO/SERGIO/sergio.py", line 525, in simulate
self.CLE_simulator_(level)
File "/home/ahr35/Python_Enviroments/SERGIO/SERGIO/sergio.py", line 510, in CLE_simulator_
gObj.set_scExpression(self.scIndices_)
AttributeError: 'sergio' object has no attribute 'scIndices_'
Have you recently (in past 2 months) cloned the repo? If not, can you please clone the latest version?
I cloned it for the first time about a week ago, but I can try again.
Have you tried re-creating the error by using the same inputs as I have above? If you can't re-create the error using the exact same inputs as mine then I will have to consider that some of my python packages are incompatible/out of date.
If so, then you have the most recent version. There should be some minor bug somewhere in the code, let me check and will come back to you asap.
Hi Arthur - Here is the problem, in dynamics mode you need to use "sim.simulate_dynamics()" instead of "sim.simulate()".
Yup, that seems to be running now.
Thank you very much for your help :)
Hi,
Your software looks really good, thanks for developing it.
This is more of a request than an issue, I would have emailed you but I couldn't find your info anywhere.
Do you have any suggestions or pipelines for easily creating a GRN for simulation essentially the same as dataset 12, but with 1000 genes rather than 100? I desire the resulting output to be have differentiation and branching points, but to test my software it would be great if around 1000 genes or more were part of the GRNs.
From what I gather from your methods you used GeneNetWeaver, but had to exclude specific interactions, etc., to make it compatible with SERGIO. I fear that trying to do this myself would lead to a lot of error messages... Hence, it would be great if you can advise on how to achieve this in a relatively stress free manner.
Best,
Arthur