I've just installed PyDSTool on my Windows XP computer and am trying to get the tests to run, but I'm running into a problem with ModelSpec_test.py that seems to be because I just want to use the standard NumPy VODE integrator. The error is:
ModelSpec and neural computation toolbox tests...
Error occurred in generating Dopri system...
<type 'exceptions.SystemExit'> error: command 'swig.exe' failed: No such file or directory
Problem initializing target Generator 'Dopri_ODEsystem'
Traceback (most recent call last):
File "ModelSpec_test.py", line 210, in <module>
HHmodel_net = modelC_net.getModel()
File "c:\PyDSTool\ModelConstructor.py", line 1148, in getModel
= self.createGenerators()
File "c:\PyDSTool\ModelConstructor.py", line 1033, in createGenerators
gen = self._genFromMSpec(GDescriptor(**geninfo))
File "c:\PyDSTool\ModelConstructor.py", line 1139, in _genFromMSpec
return genCon.getGenerator()
File "c:\PyDSTool\ModelConstructor.py", line 557, in getGenerator
return gsh.genClass(a)
File "c:\PyDSTool\Generator\Dopri_ODEsystem.py", line 422, in __init__
self.compileLib()
File "c:\PyDSTool\Generator\Dopri_ODEsystem.py", line 796, in compileLib
raise RuntimeError
RuntimeError
Changing the first line of this to targetGen = 'Vode_ODEsystem' fixes the tests for me, but obviously this is not right for anyone who wants to use an external integrator.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-01-03
Another problem I think, this time with pest_test3.py. In version 0.88.111221, the name of the current parameter in HH_Model.py is IApp, whereas in version 0.87 it was just I. In pest_test2.py the call to makeHHneuron has been updated to reflect this:
par_args_HH={'gna':100,'gk':80,'gl':0.1,'vna':50,'vk':-100,'vl':-67,'Iapp':1.35,'C':1.0}# deliberately set Iapp not quite 1.3, as used for IF neuronic_args_HH={'v':-70.0,'m':0,'h':1,'n':0}HH=HH_model.makeHHneuron('goalHH',par_args_HH,ic_args_HH)
This doesn't seem to have been done for pest_test3.py, however:
It looks like an easy fix to me, but I'm a complete beginner when it comes to NumPy/SciPy/PyDSTool so correct me if there's something more complicated going on!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-01-03
For reference, the error I get is:
Error in specification `v` with token `Iapp` :
(Iapp-0.04*(sin(9.1*t)*cos(2.6*t)+sin(5.1119*t+2))*(v-60)-ionic(v,m,h,n))/C
Traceback (most recent call last):
File "pest_test3.py", line 26, in <module>
extra_terms='-0.04*(sin(9.1*t)*cos(2.6*t)+sin(5.1119*t+2))*(v-60)')
File "C:\PyDSTool\tests\HH_model.py", line 52, in makeHHneuron
return Generator.Vode_ODEsystem(DSargs)
File "c:\PyDSTool\Generator\Vode_ODEsystem.py", line 41, in __init__
ODEsystem.__init__(self, kw)
File "c:\PyDSTool\Generator\ODEsystem.py", line 51, in __init__
kw))
File "c:\PyDSTool\FuncSpec.py", line 2221, in __init__
FuncSpec.__init__(self, kw)
File "c:\PyDSTool\FuncSpec.py", line 314, in __init__
self.generateSpec()
File "c:\PyDSTool\FuncSpec.py", line 472, in generateSpec
self._genSpecPy()
File "c:\PyDSTool\FuncSpec.py", line 993, in _genSpecPy
temp = self._specStrParse(specname_vars, self.varspecs, 'xnew')
File "c:\PyDSTool\FuncSpec.py", line 1172, in _specStrParse
doing_inserts)
File "c:\PyDSTool\FuncSpec.py", line 1218, in __processTokens
' spec string `'+specname+'`')
ValueError: Undeclared or illegal token `Iapp` in spec string `v`
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks, I don't know how these were missed when finalizing the release. Your fixes are correct, and it's fixed in the BZR repository. Will be fixed in the next release too.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
-
2012-01-11
No problem, glad to be of use. I'm still trying to get all of the tests to pass; this time the problem is with symbolic_diff_test.py. I'm guessing that the problem is my fault because I'm ignoring the advice in the installation manual and using the latest versions of numpy and scipy (1.6.1 and 0.10.0 respectively). The (possibly misguided) hope is that I'll be able to fix any incompatibilities that crop up as I go along.
Debugging indicates that str(Diff(F,)) = "[,,]" (notice the expected 0.040000000000000001 is 0.04). I've noticed that a similar error in Symbolic_Test.py was fixed in a patch by using assert_approx_equal on the numbers, rather than doing a string comparison. Is this also a valid fix here, or is the precision important? Is my attempt get PyDSTool to work with the latest NumPy/SciPy going to turn out to be much more difficult that anticipated?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I can update that test script to use assert_approx_equal too. There is no difference in precision there, it's an inherent representation error and is probably being cleaned up differently by a function preparing the strings.
I don't foresee many problems in getting it to work with the latest numpy and scipy. Not that many things change from version to version, and we can keep abreast of these little things.
Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I've just installed PyDSTool on my Windows XP computer and am trying to get the tests to run, but I'm running into a problem with ModelSpec_test.py that seems to be because I just want to use the standard NumPy VODE integrator. The error is:
Looking at ModelSpec_test.py I find this:
Changing the first line of this to targetGen = 'Vode_ODEsystem' fixes the tests for me, but obviously this is not right for anyone who wants to use an external integrator.
Another problem I think, this time with pest_test3.py. In version 0.88.111221, the name of the current parameter in HH_Model.py is IApp, whereas in version 0.87 it was just I. In pest_test2.py the call to makeHHneuron has been updated to reflect this:
This doesn't seem to have been done for pest_test3.py, however:
It looks like an easy fix to me, but I'm a complete beginner when it comes to NumPy/SciPy/PyDSTool so correct me if there's something more complicated going on!
For reference, the error I get is:
Thanks, I don't know how these were missed when finalizing the release. Your fixes are correct, and it's fixed in the BZR repository. Will be fixed in the next release too.
No problem, glad to be of use. I'm still trying to get all of the tests to pass; this time the problem is with symbolic_diff_test.py. I'm guessing that the problem is my fault because I'm ignoring the advice in the installation manual and using the latest versions of numpy and scipy (1.6.1 and 0.10.0 respectively). The (possibly misguided) hope is that I'll be able to fix any incompatibilities that crop up as I go along.
This is the error I get:
Debugging indicates that str(Diff(F,)) = "[,,]" (notice the expected 0.040000000000000001 is 0.04). I've noticed that a similar error in Symbolic_Test.py was fixed in a patch by using assert_approx_equal on the numbers, rather than doing a string comparison. Is this also a valid fix here, or is the precision important? Is my attempt get PyDSTool to work with the latest NumPy/SciPy going to turn out to be much more difficult that anticipated?
I can update that test script to use assert_approx_equal too. There is no difference in precision there, it's an inherent representation error and is probably being cleaned up differently by a function preparing the strings.
I don't foresee many problems in getting it to work with the latest numpy and scipy. Not that many things change from version to version, and we can keep abreast of these little things.
Thanks.