Code Monkey home page Code Monkey logo

proteinevolution / toolkit Goto Github PK

View Code? Open in Web Editor NEW
60.0 7.0 14.0 48.89 MB

The MPI Bioinformatics Toolkit

Home Page: https://toolkit.tuebingen.mpg.de

License: Apache License 2.0

Scala 30.95% HTML 0.15% Shell 9.40% Python 1.10% TypeScript 29.74% JavaScript 0.26% Java 0.76% Vue 27.28% SCSS 0.37%
bioinformatics protein-structure web-application reactive-programming structural-biology computational-biology sequence-search profile-search open-source profile-profile-search

toolkit's Introduction

Backend Frontend Codacy Badge

MPI Bioinformatics Toolkit

MPI Bioinformatics Toolkit

The MPI Bioinformatics Toolkit is a platform that integrates a great variety of tools for protein sequence analysis. Many tools are developed in-house, and several public tools are offered with extended functionality.

The toolkit includes, among others: PSI-BLAST+, HHblits, HMMER; MUSCLE, MAFFT, ProbCons; HHrepID, PCOILS;HHpred, Modeller; CLANS, ANCESCON, PhyML; RetrieveSeq, HHfilter.

Join us on discord

Code of Conduct

We are committed to providing a welcoming and inspiring community for all and expect our Code of Conduct to be honored. Anyone who violates this code of conduct may be banned from the community.

License

The code is available under the Apache 2.0 license.

toolkit's People

Contributors

anjestephens avatar conrizzo avatar davidmrau avatar dependabot[bot] avatar felixgabler avatar joeldomke avatar jokuebler avatar lukaszimmermann avatar note avatar scala-steward avatar sesati avatar vikramalva avatar zy4 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

toolkit's Issues

Bot detection

Let's detect bots and prevent them from spawning WebSocketActors!

Receiving this webjar-related error in production

[error] application - Could not get URL
org.webjars.MultipleMatchesException: Multiple matches found for d3.min.js. Please provide a more specific path, for example by including a version number.
at org.webjars.WebJarAssetLocator.getFullPath(WebJarAssetLocator.java:259)
at org.webjars.WebJarAssetLocator.getFullPath(WebJarAssetLocator.java:189)
at org.webjars.play.WebJarsUtil$$anonfun$locate$1.apply(WebJarsUtil.scala:48)
at org.webjars.play.WebJarsUtil$$anonfun$locate$1.apply(WebJarsUtil.scala:48)
at scala.util.Try$.apply(Try.scala:192)
at org.webjars.play.WebJarsUtil.locate(WebJarsUtil.scala:48)
at org.webjars.play.WebJarsUtil.url(WebJarsUtil.scala:125)
at org.webjars.play.WebJarsUtil.script(WebJarsUtil.scala:195)
at views.html.main$.apply(main.template.scala:88)
at controllers.Application$$anonfun$index$1$$anonfun$apply$5.apply(Application.scala:181)

Make Reformat a server-side tool

Most conversions don't work (e.g. A3M to FASTA, FASTA to A3M, A3M to CLUSTAL). The main use of this tool is A3M to FASTA conversion.

Graceful shutdown

We could implement a feature that jobs which are running get resubmitted after the Toolkit has restarted. This is quite easy to accomplish.

New maintenance image

The current image has a typo (sorry is spelled sory); could you please find us a new image?

Job sweeping can be improved

The sweeping routine is time-related but the problem we want to address is space-related:
By setting a limit of days after which we delete jobs does not mean that we could not have exhausted our capacities before reaching this limit.
It would make more sense to wait with deletion until we run short of space.

Index Search

screen shot 2017-07-16 at 10 31 01
I just noticed if you have a lot of jobs in the list it gets too long. Maybe we can limit it and give it a scroll bar from a certain height on.

Implement "graceful shutdown"

We get quite a few error messages on shutdown (the mongodb collections and every connected websocket will throw one, for example)

Job hashing - Pending state

Tries to offer jobs that are not existing anymore (see image), although there are some that ran through successfully. If one tries to load, the job manager page is shown, which essentially means the job is not found.

pending

Process log bug

HHPRED_MANUAL displays the process log of some other currently running job.

Steps to recreate the error:

  1. Start a new HHblits (or any other) job.
  2. Go to this job: https://toolkit.tuebingen.mpg.de/#/jobs/2692785
  3. Select a couple of hits and click on "Model using selection"; you should see the process log of the HHblits job.

@zy4 could you please take a look? HHpred results are forwarded to MODELLER a couple of hundred times a day and therefore we should try to fix this soon.

State machine for buttons which can be disabled

We have multiple validation processes running which decide on whether the button is disabled or not. We should have a FSM for buttons and validation responses in general written in client-side logic, maybe in scalajs.

Add deletion_log_path to Application.conf

The job deletion routine writes the jobIDs of the deleted jobs into a file. The path for this file needs to be added to your Application.conf

In my case it is configured like this:

deletion_log_path="/ebio/abt1_share/toolkit_support1/drau/Toolkit/deletion.log"

MongoDB collection sizes

After barely two weeks since deployment, the result collection has grown to the size of 4 GB. With this rate we will run into problems. We either should take care of sweeping old jobs soon or think about running a MongoDB sharded cluster. Beware: After the database stores more than 256 GB, you cannot start sharding anymore!

Domain, I registered

@vikramalva I have registered the FQDN

bioinformatics-toolkit.de

long ago. Should we use it or can I throw it away? If we want to use it, we need to either buy a certificate or create one on the server with Let's Encrypt (I do this all the time).

Overlay does not go away

Sometimes after viewing a big resource where the spinner came up and after going somewhere else, e.g. the index page, the spinner still remains visible. This happens quite often so I think you already noticed.

WS Console error

reconnecting-websocket.amd.js:1 Uncaught ReferenceError: define is not defined
at reconnecting-websocket.amd.js:1
(anonymous) @ reconnecting-websocket.amd.js:1

Old Account mail

I just got an email and the link of "Your Toolkit Team" refers to olt:1234. This should be changed soon.

Concurrent forwarding

In preparing for the workshop that I am going to be teaching next week, I realized that our Toolkit does not allow concurrent forwarding. If the students would try to forward results of a hashed job, only some are going to succeed, as the files generated for forwarding are written into the same job folder with the same name.

Marcoils result tabs

When I run a Marcoil job, the last three result tabs on the right are having content, when I move between them, the loading spinner appears and the content is all of sudden gone. This might also be the case for other tools.

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.