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

octopus model for mouse #27

Closed
ZeitgeberH opened this issue Aug 25, 2022 · 5 comments
Closed

octopus model for mouse #27

ZeitgeberH opened this issue Aug 25, 2022 · 5 comments

Comments

@ZeitgeberH
Copy link

Hi,
The octopus model works for 'guinea', but not for 'mouse'.
In Octopus class, the data table for mouse's octopus cell is XM13_channels. However, in that data table, there's no column for II-o cell type, which only exist in RM-3_channels. I wonder is there any update for mouse octopus model. If not, could you please suggest a way to modify the XM13_channels table to accommodate II-o cell?
Thank you!

@pbmanis
Copy link
Contributor

pbmanis commented Aug 26, 2022

You are correct that there is no entry for octopus cells in that table - we were just using the values we had used in a published paper. However, there is some data that could be used to add a column to the table for octopus cells. Cao and Oertel (Hearing Res. 2017) Table 1 gives some values for max gKL and gH, along with Rin and taum values, including from some of their previous studies. To make a temporary fix, you can edit the table "ionchannels.py", "XM13_channels" for mouse to include a column titled "II-o". Using a programming editor that lets you work in a column mode (VSCode, Textmate both do), copy the data in column "II" (bushy cells) to this new column, being careful about exact alignment with the column title. Replace the value 80.0 in klt_gbar with something between the two values in their table (450 nS might be ok), and the value of ihvcn_bar of 30.0 with something again between - maybe 130 nS. This will get you in the ballpark but the actual density will depend on the surface area. Unfortunately, they do not give capacitance or SA estimates for the cells, so density is not known. If you have values in S/cm2 (mho/cm2), then you can add a row at the bottom of the table called "units" (see the Ceballos et al. table at the end of the table in the Python3 branch), but then you will need to recalculate all the values in the column to update to the new units.

I don't see that they give a value for the capacitance in either the 2017, 2011, or Bal et al. 2001 papers, but octopus cell somas are large, so it would make sense to check the literature for soma diameter in mouse CN and calculate the capacitance from the surface area assuming 0.9 uF/cm2 (Gentet et al. 2000; also the value we used in the Rothman and Manis 2003 models). You could also estimate it by measuring the membrane time constant and input resistance and matching their data in the 2017 table.

If you come up with a reasonable set of values, I'd be happy to formally add them to the table (or you could do a PR with just those changes). If we do this, let's annotate the table with a footnote [5] to describe how the values were determined and provide citations.

@pbmanis
Copy link
Contributor

pbmanis commented Aug 28, 2022

One more note: If you want to use an external/custom table to specify your parameters, you can do this:

            table_name = f"somepathtothedata.nameofthetable"
            CHAN = importlib.import_module(table_name)
           
            channels = f"give the table a name"

            changes = data.add_table_data(     # create a new data table from the imported table 
                channels,
                row_key="field",
                col_key="model_type",
                species="mouse",
                data=CHAN.ChannelData,
            )

            if changes is not None:
                data.report_changes(changes) # reports what has been changed

            # now create a cell using the new table, for example:
            self.post_cell = cells.Bushy.create(
                morphology=str(hoc_filename),  # using a reconstruction....  None if point cell
                decorator=Decorator,  # methods used to decorate a reconstruction (usually cnmodel.Decorator) None if point celll
                species="mouse",  
                modelName=model_hame,  # the name of the table used to set the parameters
                modelType="model type",  # might be type II-I, etc if needed
                nach=nach,   # the name of the sodium channel mechanism if it is being changed.
            )

@ZeitgeberH
Copy link
Author

Thanks very much. I was able to make the changes suggested in your first comment. Here's a screenshot of the test figures for octopus-mouse case:
octopus-mouse

'rmp': -62.65107570068176,
'rmrintau': {'Rin': 13.743713257718873, 'tau': 0.5497485303087548, 'v': -62.65107570068069},

I think the Rin and Tau is higher than the Table 1 from Cao and Oertel 2017 (6.7 Mohm and 0.21 ms). The Na type jsrna or nacn or scaling factor (sf, up to 3.0) does not seem to make much difference.
I've pushed the current version to this branch, will continue look at other options.

@pbmanis
Copy link
Contributor

pbmanis commented Aug 31, 2022

Hello - There may be a couple of reasons why the value for Rin and Tau is higher in the model. My best guess is that it has to do with how the values are actually measured. They state: "Input resistances were measured as the slope of plots of voltage responses to small hyperpolarizing current steps. The slope was measured over the region ~10 mV from the resting potential. " In the simulator, however, the conductance is calculated from the sum of the individual conductances at the resting potential (e.g., it is the tangent to the IV curve at 0 current). If they measured at "steady-state", and had some Ih activation, it might be enough to change these measurements. The slice measurements will also be sensitive to bridge balance corrections, which are tricky when the cells have such a low input resistance.

@ZeitgeberH
Copy link
Author

Thanks very much. I'll close this issue now.

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