GithubHelp home page GithubHelp logo

inane's Introduction

INANE

INANE is Not A Nexus Editor

INANE is a program for locally databasing morphological phylogenetic data. The purpose of INANE is to provide an easy-to-use interface for a real relational database to store morphological characters, states, taxa, and scores for use in phylogenetic studies.

INANE is not a Nexus file editor, but have no fear! It can import and export Nexus files. INANE simply does not use Nexus as a storage system for data. This has numerous advantages for data integrity over the long term.

INANE is free, open-source software which you are free to use, distribute, and modify with appropriate credit to the author(s) and for non-commercial purposes. The program is written using the Qt framework in Qt Creator.

What's wrong with Nexus files? I like Nexus files!

Nexus files are useful for communicating with computer programs that read Nexus files. However, the problems with Nexus as a format for storage of phylogenetic character data are well documented. The major problem with Nexus is that it is not standardized by any governing body, is un-versioned, and represents a "flat" file format that has no enforcement of internal relationships between data fields. Nexus depends on discipline-specific developers to enforce and maintain Nexus, and there are no guarantees that Nexus files generated by one program can be read by another. Meanwhile, there are several well-developed multipurpose file formats like XML and JSON that can do the job of Nexus files and do not require scientists to write code capable of parsing them.

INANE uses a SQLite database engine to store morphological character data. It is therefore independent of external file formats like those described above. Your data is stored in a database rather than in a "flat" text file. The database is defined to enforce certain relations between different variables without relying on index numbers or positions within a sequence.

How do I get and use INANE?

Currently, INANE is in development. I have been putting up pre-releases which you can download from the sidebar on the right. Otherwise, you will need to clone the repository with a git clone and build it from the source. Instructions below.

Running on macOS

After downloading, Mac users may need to bypass the security settings on their system.

First, try opening the app by right clicking and selecting 'Open'. This should give you an error dialog. After you get the warning, go to System Preferences (or System Settings) and to the Security & Privacy area. This should have an area asking you if you want to open the app anyway. Click affirmatively.

If you get the "app is damaged" warning, then you will need to bypass the security settings of your system. Newer macs have more stringent restrictions on running apps downloaded from the internet.

  1. Open Terminal
  2. enter the command: sudo spctl --master-disable
  3. enter your admin password when prompted
  4. enter: xattr -cr *drag-drop app here to get path*
  5. enter: sudo spctl --master-enable

Running on Windows

The Windows executable should run without any changes. Download the Windows version of the app and unzip the folder. Then navigate to the release folder where you will find the INANE.exe file. Double-clicking this should launch the app. You may need to confirm to the operating system that you trust the application.

Building from source

To build INANE, you will first need to install Qt on your system. Then you should clone this repository to your machine and then run the python script (getdeps.py):

`python getdeps.py'
`python getdeps.py build`

That should download and build all of the necessary libaries.

Open the INANE.pro file in Qt. This should then build in the straightforward manner, but please let me know if you have any trouble.

inane's People

Contributors

mbrazeau avatar

Watchers

 avatar

inane's Issues

Handle missing state labels

Currently, the software does not throw any kind of error when the state labels are not defined in an imported Nexus file. The program needs to assume (or somehow auto fill) state labels in order to accurately populate the database.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.