AllenInstitute / ipfx

computes intrinsic cell features from intracellular electrophysiology data
https://ipfx.readthedocs.io/en/latest/
Other
26 stars 36 forks source link

mcc_get_settings.py hard coded local path prevents usability #396

Open natalieweed opened 4 years ago

natalieweed commented 4 years ago

mcc_get_settings.py has hard-coded local file paths stored in an array dllPaths (line 155) that prevents usability. The files paths are listed below, but they are in the Program Files Subdirectory. If the readme were updated with instructions on how/where to download the required DLLs, that would be great.

Also, with pull request 344 (https://github.com/AllenInstitute/ipfx/pull/344) mcc_get_settings.py is not required for ABF->NWB conversion, the readme should be updated.

repro command: python C:\Users\natalie.weed\Downloads\ipfx_chirp\ipfx\bin\mcc_get_settings.py --filename 19d12005_chirp1.json --settingsFile "C:\Users\natalie.weed\Desktop\converting\New folder\misc-settings.json"

error: 
File "C:\Users\natalie.weed\Downloads\ipfx_chirp\ipfx\bin\mcc_get_settings.py", line 1113, in <module>
    main()
  File "C:\Users\natalie.weed\Downloads\ipfx_chirp\ipfx\bin\mcc_get_settings.py", line 1090, in main
    writeSettingsToFile(args.settingsFile, args.filename)
  File "C:\Users\natalie.weed\Downloads\ipfx_chirp\ipfx\bin\mcc_get_settings.py", line 1031, in writeSettingsToFile
    with MultiClampControl() as mcc:
  File "C:\Users\natalie.weed\Downloads\ipfx_chirp\ipfx\bin\mcc_get_settings.py", line 177, in __init__
    self.CreateObject()
  File "C:\Users\natalie.weed\Downloads\ipfx_chirp\ipfx\bin\mcc_get_settings.py", line 321, in CreateObject
    self.hMCCmsg = self.aDLL.MCCMSG_CreateObject(self._pnError)
AttributeError: 'MultiClampControl' object has no attribute 'aDLL'

Local File Paths:
        dllPaths = [("C:/Program Files/Molecular Devices/MultiClamp 700B Commander/"
                     "3rd Party Support/AxMultiClampMsg/"),
                    ("C:/Program Files (x86)/Molecular Devices/MultiClamp 700B Commander/"
                     "3rd Party Support/AxMultiClampMsg/")]
t-b commented 4 years ago

The Multiclamp commander DLLs are installed by the Multiclamp commander application which is available from http://mdc.custhelp.com/app/answers/detail/a_id/20059.

But of course you need a molecular device 700B amplifier for the script to work, just mentioning that in case it was not obvious.

smestern commented 4 years ago

I ran into this error using a 64-bit version of python. I had to install and run the script on a 32bit version of python to get it to work, this may be your issue.