Skip to content

Should Pump and Channel be separate? #592

Open
@michaeldeistler

Description

@michaeldeistler

Follow-up to #438

How should we deal with Pumps? Currently, they are separate from the Channel. We could also merge them and have something like self.ion_name=None (or self.ion_name = "v") for Channel`s.

Currently, we define self.pumps and self.pumped_ions. As @jnsbck suggested, we could also define self.pumps = {"ion_name": [pump1, pump2]}. If we merge Pumps and Channels, we could even have:

self.mechanisms = {"v": [channel1, channel2], "ca": [pump1], "na": [pump2]}

A downside of this is that

  1. by removing the Pump, we lose the opportunity to write explicit docstrings that explain what a Pump is
  2. we hide that a Pump and a Channel differ in their units and in the fact that channels get the current divided by the capacitance.

A final option would be to only go for the dict representation for Pumps. This has the downside that:

  1. we now handle pumps and channels differently
  2. we can no longer do self.channels + self.pumps

But it has the big advantage of having only one attribute (get rid of self.pumped_ions)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions