Code Monkey home page Code Monkey logo

mongochemclient's Introduction

Open Chemistry

Open Chemistry

Introduction

The Open Chemistry project is a collection of open source, cross platform libraries and applications for the exploration, analysis and generation of chemical data. The project builds upon various efforts by collaborators and innovators in open chemistry such as the Blue Obelisk, Quixote and the associated projects. We aim to improve the state of the art, and facilitate the open exchange of ideas and exchange of chemical data leveraging the best technologies ranging from quantum chemistry codes, molecular dynamics, informatics and visualization.

This repository contains git submodules for the Open Chemistry projects: Avogadro, MoleQueue and MongoChem. It can be used to download all relevant source files as well as building many of the necessary dependencies. Please see the documentation in the submodules for more details about each project.

Kitware, Inc.

Installing

We provide nightly binaries built by our dashboards for Mac OS X and Windows. If you would like to build from source we recommend that you follow our building Open Chemistry guide that will take care of building most dependencies.

Contributing

Our project uses the standard GitHub pull request process for code review and integration. Please check our development guide for more details on developing and contributing to the project. The GitHub issue tracker can be used to report bugs, make feature requests, etc.

Our wiki is used to document features, flesh out designs and host other documentation. Our API is [documented using Doxygen][Doxygen] with updated documentation generated nightly. We have several mailing lists to coordinate development and to provide support.

mongochemclient's People

Contributors

alesgenova avatar bnmajor avatar cjh1 avatar cryos avatar psavery avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

mongochemclient's Issues

Calculation viewing broken when not logged in

I can't view the calculation results for anything when not logged in. I get a blank window, no user visible error. When I look at the console there are errors about e.origin not being defined. We should check it is valid before trying to use it, pop a warning if not present. It is probably a permission thing on the server that needs fixing to show molecular data. It can be tracked here though as it relates to the interface.

Allow modes to be hidden

Figuring out if we can show/hide the D3 chart without breaking its rendering. I couldn't get it to work if I linked the ng-show to the vibrational modes.

Make user choices 'stickier', i.e. search type, results per page

When I choose to search by name, display more results per page etc, these should be remembered as preferred settings. In general it is irritating to keep selecting things, and most choices should be reasonably sticky in our web interface. They could be stored in some cookies or similar even for non-authenticated users ideally.

Filter molecules with min/max values

We want to be able to filter molecule search results using arbitrary min/max values such as "heavy atom count > 10". This is partial fulfillment of this issue.

This is now possible on the mongochemserver side (as of this PR), but an interface for it needs to be added to the client. The current search setup is shown below. Perhaps it might be useful to have an advanced search box where users can specify a series of filters by keywords (like "mass <= 240 AND heavyAtomCount >= 10").

Screenshot from 2019-06-22 14-20-58

Add job viewer interface for running jobs

We should offer an admin view of all jobs running, and a user view of their calculations. When running a large number of jobs it would be great to have some counts on pending jobs, complete, failed, etc. We can start small with a listing of pending jobs, and running jobs.

Download of data broken, clicking on file type breaks page

I am thinking of the calculation page, where I see the download area:
image
on Firefox if I click CJSON when it is already selected I end up with a blank page, if I click download then I end up with a HTML mime type, and all the escaping to render it such as the below:

 >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"occupations":&nbsp;[<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br />&nbsp;&nbsp;&nbsp;&nbsp;},<br />&nbsp;&nbsp;&nbsp;&nbsp;"properties":&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"totalEnergy":&nbsp;-209548320.72014692<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}</div>

Add MFA field to NERSC login

This will be needed by 01/09/19 when it will be a requirement. The password passed to the server will then become password + MFA .

Need to check for empty InChI/InChI key and report

We currently have a check for atom count. However, we also need to check if the convertion fails. For example:

$ python mongochem.py ferrocene.cml ferrocene
{'name': 'ferrocene', 'filename': 'ferrocene.cml'}
==============================
*** Open Babel Warning  in GetAtomicNum
  Cannot understand the element label X.
==============================
*** Open Babel Warning  in GetAtomicNum
  Cannot understand the element label X.
==============================
*** Open Babel Warning  in InChI code
  m1 :Unknown element(s): Xx
==============================
*** Open Babel Error  in InChI code
  InChI generation failed
==============================
*** Open Babel Warning  in InChI code
  m1 :Unknown element(s): Xx
==============================
*** Open Babel Error  in InChI code
  InChI generation failed
JSON output follows:
[{"inchikey": "", "xyz": "23\nm1\nC          3.60742        1.17022
    1.70118\nC          2.45209        1.79763        2.19417\nC
   1.36958        1.40787        1.38882\nC          1.85638
0.53814        0.39997\nC          3.23919        0.39222
0.59286\nC          2.15027       -0.67100        4.09665\nC
3.14638       -1.40054        3.42840\nC          2.53860
-2.09663        2.37108\nC          1.16761       -1.79507
2.38537\nC          0.92800       -0.91485        3.45213\nFe
2.24399       -0.15862        2.19981\nXx         2.50493
1.06122        1.25540\nXx         1.98617       -1.37562
3.14673\nH          4.61389        1.26971        2.10767\nH
2.40402        2.46920        3.05136\nH          0.33369
1.72469        1.50995\nH          1.26456        0.06005
-0.38059\nH          3.90960       -0.21830       -0.01205\nH
2.29969       -0.02792        4.96395\nH          4.20544
-1.42263        3.68532\nH          3.04244       -2.75525
1.66364\nH          0.42022       -2.17733        1.69011\nH
-0.03811       -0.49429        3.73118\n", "inchi": "", "name":
"ferrocene"}]

Opening a notebook on cold start fails

I'm opening the issue here, but the fix may have to be done at the mongochemdeploy level.

On a ocdeploy stack freshly started, opening a notebook from the mongochemclient redirects to a 404 page by jupyter hub:

http://localhost:1234/jupyterhub/hub/spawn-pending/mongochemdev/tree/PSI4.ipynb

Going back to the client and opening the notebook again works

http://localhost:1234/jupyterhub/user/mongochemdev/lab/workspaces/auto-5/tree/PSI4.ipynb

Add "register images" pop-up on login

Most of the new image manager features are now merged except the pop-up.

The user can currently register images by going to the image manager page and click "Register". However, it will be nice to have a pop-up when the user first logs in that asks if they want to register the images.

I'll try to get to this soon.

Look at moving to react 17

This will have a know on effect on oc-web-components. We will have to replace our use of redux-form as it don't plan on supporting react 17.

TypeError on login

I get this error when I log in, and it goes away if I refresh the page.

I know we can probably fix the error by changing this line to { user && user.admin. Is that an acceptable fix, or should user always not be null here?

Screenshot from 2019-09-04 11-50-17

Add support for pasting URL of file

We should add support for pasting a URL for a chemical data file too, probably let them specify the format/look at the file ending if it is in the URL?

Fix case of InChI, InChI key and SMILES in interface

It is important to use the correct case for these terms, InChI (International Chemical Identifier), and SMILES (Simplified Molecular Input Line Entry System). This is just some simple tweaks to our frontend.

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.