tokebe / niclassify

A combined GUI toolkit for predictively classifying arthropod sequences as Native/Introduced
GNU General Public License v3.0
0 stars 0 forks source link

NIClassify

What is NIClassify?

NIClassify is a combined toolkit for classifying species (usually, as in the name, as Native or Introduced), based on the principles laid out in Categorization of species as likely native or likely non-native using DNA barcodes without a complete reference library. (Andersen JC, et al.)

The main point of this project has been to provide a straightforward GUI to use this toolkit.

(For a more in-depth explanation, see The User's Manual)

Installation

  1. Install Python 3.8.x - 3.9.x.
  2. Install the R base (Any version should work).
  3. Download the latest Release or clone the repository. a. If you are installing on MacOS, navigate to niclassify/bin and ctrl-click on muscle3.8.31_i86darwin64 to open it. You will be prompted about allowing a program from an unknown author to run. Allow the program to run, and then close it (This is necessary to make the program run properly on Mac).
  4. Run the appropriate launch-___.bat for your system and follow any messages you may get.

Troubleshooting

Visual C++

If you get this error: error: Setup script exited with error: Microsoft Visual C++ 14.0 is required. Get it with "Build Tools for Visual Studio": https://visualstudio.microsoft.com/downloads/, then you need to install the latest Visual Studio C++ build tools (Required for biopython package). Use this link, and check 'C++ Build Tools' in the installer when it opens before installing.

Usage

Run the appropriate launch-___.bat for your system after installation.

User Manual

This project comes with a user manual, which you may access here or by clicking 'help' in the main window of the program.

Advanced Usage/Installation

You can find a list of package requirements in the requirements.txt file, and may run the program by running main.py instead of relying on a launcher script, if you wish. Please see the warning below.

WARNING

This project has been structured as a Python package for ease of development, however it will not fully function if installed as a package using setup.py install. niclassify/core/bin is not currently copied during setuptools installation as it contains many, many files and would take an unacceptably long time to run. As such, the program must be run from within the project folder.

This may be resolved in the future, however for the time being the project relies on R Portable for a number of functions, so it will take time to fix.

Further Development

Most submodules and functions of NIClassify are documented with comments and docstrings. A technical manual may be added to the docs in a future update, which will detail the inner workings of the project further.

Please, by all means, register issues for any problems you encounter, make pull requests for anything you want to try implementing, etc, etc. Until a message is left below stating otherwise, this project is being actively maintained.

I Want Your Help!

Currently there are a lot of moving parts to this program, and much of it has been written with the primary goal of getting it working quickly, which has meant a few sacrifices: namely, regions.json is incomplete! If you have a working knowledge of how GBIF and/or ITIS geopgraphic regions work, and see anything you can add to the current file, please make a pull request with your updates!

Additionally, if you see any changes to the program that you'd like to propose, whether it be additional features, you noticed a bug, you fixed a bug, etc, please do open an issue and/or make a pull request! This is an open-source tool that is meant to be extensible and community-modifiable.

Acknowledgements

Many thanks to:

Jeremy Andersen

Natalie Graham

Susan Kennedy