What you're experiencing is not out of the ordinary. It can be difficult to construct a new model specification and get it to work.
Depending on the model cell, 0.3 nA might have a huge effect. Do you have any basis for anticipating how your model cell should respond to the current you injected? Unless you have a very good sense of what's going on in your model, it's unlikely that the first version of anything that involves more than a couple of ion channel mechanisms is going to be close to working "properly." Reference: How to develop and debug your own code
, in the Hot tips area of the NEURON Forum https://www.neuron.yale.edu/phpBB/viewforum.php?f=28
How are you dealing with spatial discretization? If all sections have nseg == 1, simulation results could be quite inaccurate.
What is the basis for the parameter values that specify the model's membrane properties (specific membrane capacitance, ion channel parameters such as channel densities, peak conductances, or rate constants)? It is quite common for the default values specified in an NMODL file to be overridden by hoc or Python assignment statements that are executed in the course of model setup or initialization. You can use NEURON's ModelView tool to see what the actual values are at runtime, i.e. right after initialization, in the models from which you appropriated your channels. There's no guarantee that your model should have the same parameter values, but at least you'll know whether they're wildly different.
Same question arises for ion accumulation mechanisms. In fact, models that involve ion accumulation mechanisms (mechanisms with one or more USEION statements that WRITE a concentration) can be very difficult to initialize, and often require custom initialization strategies, unless you're OK with the first several hundred, if not several thousand, ms of simulated model time being rubbish.
While we're on the subject of initialization, it is very unlikely that a cell with inhomogeneous membrane properties will be isopotential at rest. An experimentalist doesn't have to do anything special about that--just let the cell (or slice) lie in a dish for half an hour or so before patching it, then wait 5 minutes or so to make sure that Vm is stable and the cell can still generate spikes etc.. But you don't want to have to do that with a computational model--unless your model is very simple, you'll be waiting a very long time for simulation results. There are several different strategies for customizing model initialization. Do you know what kind of initializations were used by the model entries from which you got your files? Do you need a custom initialization for the model you're trying to implement, and if so, what kind of initialization it should be--to steady state (allows nonuniform Vm at rest), forcing steady state to be isopotential, or initialization to a point on a stable limit cycle (appropriate for models that are spontaneously active)? How do you want to deal with ionic concentrations (which could take a very long time to settle to steady state)?
Roman wrote:I do want to use the conductances mentioned, since there is differential distribution of conductances across cellular compartments, I need to specify each dendrite separately. Which I'm sure can be done faster by using subsets, but when you import the topology, there is no control over it in subsets, and the compartments show up only in geometry.
In general, it's a bad idea to use model setup strategies that depend on the existence of a particular compartment. If you ever change the spatial discretization strategy, you break the model specifcation--but changing the discretization strategy is exactly what you have to do in order to verify that spatial discretization is sufficiently fine for good accuracy. If importing a topology loses subsets, then define your own subsets--easily done in the CellBuilder. And if your channel distribution strategy needs to vary systematically with path distance from a particular location in the cell, or with euclidean distance from a reference point, or with distance from a surface (e.g. from a cell body layer, or from the cortical surface), that's implementable with the CellBuilder too--see the tutorials on the Documentation page http://www.neuron.yale.edu/neuron/docs