Code Monkey home page Code Monkey logo

jrgui's Introduction

A brief description of JRgui program:

By using the modern object-oriented programming language Python (e.g. tkinter and pandas modules) and a chemoinformatics open source library (RDKit), the classic Joback and Reid group contribution method was revisited and written into a graphical user interface program—JRgui. The underlying algorithm behind the program is explained, herein, with the users being able to operate the program in either a manual and automatic mode. In the manual mode, the users are required to determine the type and occurrence of functional groups in the compound of interest and manually enter into the program. In the automatic mode, both of these parameters can be detected automatically via user input of the compound SMILES string. An additional advantage of the automatic mode is that a large number of molecules can be processed simultaneously by parsing their individual SMILES strings into a text file which is read by the program. The resulting predicted physical properties along with approximately 200 molecular descriptors are saved in a spreadsheet file for subsequent analysis. The program is freely available from https://github.com/curieshicy/JRgui for Windows, Linux and macOS 64-bit operating systems. It is hoped that the current work may facilitate the creation of other user friendly programs in the chemoinformatics community by using Python.

The main interface of JRgui program:

1n

The manual mode in JRgui program:

2n

The auto mode in JRgui program:

3n

Install and Use JRgui program (Support Windows, Linux and macOS 64-bit systems):

Recommended Installation Method--Using Conda install

The recommended way to install JRgui is via conda install. The initial step is to install Anaconda python distribution (https://www.anaconda.com/download/) for Windows, Linux and macOS OS. Choose 64-bit and Python 3.6 version for download and install. After download and install it, start a terminal (in Windows use Anaconda Prompt NOT default terminal), type conda --version to check if conda has been successfully installed.

Once conda has been installed, (in the terminal) type the following two commands

conda config --add channels rdkit

conda create -c curieshicy -n my-jrgui-env jrgui

The first command adds the channel of a dependency package--rdkit (One may use conda config --get channels to check channels that have been added). The second one-line command first adds my conda channel curieshicy and then creates a virtural environment named my-jrgui-env where all dependency Python packages will be installed. The usage of a virtural environment has the advantage of avoiding potential conflicts of different versioned Python installed at default system path. The specific environment created will be only used for JRgui program. After executing these two line-commands Conda will automatically find dependency packages and install them all.

To use JRgui program, the users first need to activate the virtural environment (in Windows type activate my-jrgui-env; in Linux and macOS type source activate my-jrgui-env. To quit virtural environment replace activate with deactivate), and type jrgui to invoke the GUI.

Note For macOS system, as of 10/27/2017, please make sure to install your conda with a version number 4.3.25, which can be done by typing

conda install conda=4.3.25

Otherwise when loading RDKit, it will show error messages such as "Fatal Python error: PyThreadState_Get: no current thread" or "Segmentation fault: 11". Please see the post by the author of RDKit, Dr. Greg Landrum on this bug/issue (https://www.mail-archive.com/[email protected]/msg07325.html).

The installation and test of JRgui program has been performed on Windows 7, 8.1, 10, Linux Ubuntu 14.04.5 and macOS 10.10.3 (all 64-bit OS). For your reference, the corresponding screenshots are accessible at https://github.com/curieshicy/JRgui/tree/master/Installation_and_Test.

What if Conda install fails?

(It is not supposed to but...) For some reason, if the conda install method fails, the users can always download the source codes and manually invoke the GUI interface. To do this, for example, on a Windows platform, first install rdkit package (make sure Anaconda has been installed) by typing in an Anaconda Prompt terminal:

conda create -c rdkit -n my-rdkit-env rdkit

Download the source codes (i.e. molecule.gif and jrgui.py to e.g. C:\Users\username\Desktop\Source_Codes), in the Anaconda Prompt terminal, activate rdkit environment by typing

activate my-rdkit-env

navigate to Source_Codes folder, and type

python jrgui.py

to invoke the GUI interface.

Questions and suggestions

Questions and suggestions are welcome. You may contact me at [email protected]. Thanks for considering using JRgui.

Citation:

If you use this program and like it, please consider citing:

Chenyang Shi and Thomas B. Borchardt, "JRgui: A python program of Joback and Reid method", ACS Omega, 2(12), (2017), 8682–8688 (Link).

Acknowledgement:

I thank helps from Jason Biggs when developing and testing SMARTS codes for functional groups used in Joback and Reid method.

jrgui's People

Contributors

curieshicy avatar

Watchers

James Cloos avatar

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.