qiime/qiime — pull request #420 by jrrideout (2012-10-25 19:21:16+00:00)
Title: Another attempt at fixing the denoiser install issue...

My previous attempt failed to cover all cases because package_data does not copy over executable permissions, so FlowgramAli_4frame couldn't be executed once it was installed by distutils.

If I kept FlowgramAli_4frame listed in data_files (as it was originally), the executable permissions were kept for some reason. But this raised another issue: the executable would only get put into the correct place if users specified ```install-data``` as the same location as ```install-purelib```. If users ran ```python setup.py install``` (using the default prefix) or specified an alternate prefix with ```python setup.py install --prefix``` the "data" (i.e. FlowgramAli_4frame executable) would not be put in the right place.

So here's the solution:

The denoiser executable is now built and copied into the scripts directory when ```python setup.py build``` is run. This should clear up issues with permissions and work for both dev and user installs, including default install prefixes, custom prefixes, and custom script/lib locations. This will also slightly simplify the install process for users because they no longer need to specify ```--install-data``` as there is no more 'data' anymore. The denoiser executable is now searched for based on get_qiime_scripts_dir(), which is consistent with the rest of QIIME's executables (non-third-party at least).

I've tried testing this out several different ways and everything *appears* to be working... we'll see how it goes when the automated testing system runs.