Code Monkey home page Code Monkey logo

benten's Introduction

Rabix has grown up!

Reproducible Analyses for Bioinformatics is now a reality!

Please see

If you want to see the old documentation for the project please see here

benten's People

Contributors

kghose avatar mr-c avatar stain avatar tetron 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  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

benten's Issues

handle $namespaces

Parse the $namespaces field and use that to parse namespaced values.

We should store $namespaces in the Code Intelligence Object and use this just as we use user types to validate class names. For the first version we won't validate the actual class definition

Bug with `update_from_code`

  1. create wf
  2. new step1
  3. create wf
  4. new step1
  5. create clt
  6. Remove trailing endline. The endline is programmatically added back no particular op is needed. Bug exists regardless.
  7. Switch to middle tab. Workflow is not updated

Validation errors in list show wrong line no

e.g.

requirements:
  - class: ScatterFeatureRequirement
  - class: InlineJavascriptRequirement
  - pass: MultipleInputFeatureRequirement

will flag the error on the first item of the list, rather than the last

crash when editing a workflow

when trying to edit https://github.com/EBI-Metagenomics/workflow-is-cwl/blob/master/workflows/TranscriptomeAssembly-wf.paired-end.cwl the editor will crash with the following tb:

INFO:benten.langserver.server:Client query: textDocument/didOpen
ERROR:benten.langserver.server:Unexpected error: unhashable type: 'CommentedSeq'
Traceback (most recent call last):
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/server.py", line 63, in run
    self.handle(request)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/server.py", line 93, in handle
    response = to_dict(self._dispatch(client_query))
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/server.py", line 142, in _dispatch
    return f(client_query)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/fileoperation.py", line 60, in serve_textDocument_didOpen
    language_models=self.config.lang_models)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/models/document.py", line 87, in __init__
    self.update(text)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/models/document.py", line 96, in update
    parse_document(cwl, self.doc_uri, self.text, self.language_models, problems)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/models/languagemodel.py", line 221, in parse_document
    requirements=None)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/models/languagemodel.py", line 824, in parse
    completer.wf_completer.analyze_workflow(node, doc_uri, problems)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/models/languagemodel.py", line 927, in analyze_workflow
    self.validate_step_connections(step, step_id, problems)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/models/languagemodel.py", line 976, in validate_step_connections
    if conn_id not in self.all_connections:
TypeError: unhashable type: 'CommentedSeq'
INFO:benten.langserver.server:Client query: textDocument/documentSymbol
ERROR:benten.langserver.server:Unexpected error: 'file:///home/hmenager/galaxycwl/workflow-is-cwl/workflows/TranscriptomeAssembly-wf.paired-end.cwl'
Traceback (most recent call last):
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/server.py", line 63, in run
    self.handle(request)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/server.py", line 93, in handle
    response = to_dict(self._dispatch(client_query))
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/server.py", line 142, in _dispatch
    return f(client_query)
  File "/home/hmenager/.local/pipx/venvs/benten/lib/python3.7/site-packages/benten/langserver/documentsymbol.py", line 22, in serve_textDocument_documentSymbol
    doc = self.open_documents[doc_uri]
KeyError: 'file:///home/hmenager/galaxycwl/workflow-is-cwl/workflows/TranscriptomeAssembly-wf.paired-end.cwl'

JS evaluator

  • Feature to create an input JSON from the CWL #49
  • Mechanism to evaluate JS #50

Workflow map layers toggle

This is a little dialog that allows you to select which labels will always be shown next to a step on a workflow (like annotation layers on a map).

refactor: BentenWindow with mixins

This class is getting big. It should be moved to it's own directory and divided out between a base class and a series of mixins designed to make adding new functionality more principled and modular.

Not recognising CommandInputArraySchema

Hi, just started using Benten and it's awesome! Just noticed a few small things I'm no sure if my CWL is actually valid or Benten isn't recognising something properly.

I have a Workflow Input of type, but I've got a yellow squiggle under items (Unknown field: items for type InputRecordSchema) and red under array (Expecting one of: {'record'}):

  fastq:
    id: fastq
    type:
      items: File
      type: array

Using that latest development per: pipx install --spec git+https://github.com/rabix/benten.git@develop benten

Also, this line on the README is missing the second hyphen before spec (--)

Embed pyzo editor

The Pyzo editor looks pretty modular and could be adapted for our needs. This would provide a nicer code editor pane.

We can probably get rid of `config.ini`

This was only really needed for when we had our own editor. As a lang server this is not needed any more - there are no lang server options there, except for autocomplete templates and that we can probably fix by having the template located in a fixed place with a fixed name. This auto complete templates file can probably also carry hints autocompletions. Only these items are user dependent and should go in a config file.

Translate paths in CWL to Windows paths

Currently strings in the CWL that represent paths are treated as system dependent paths. This has to be fixed to treat these paths as POSIX paths and then translated in a system dependent manner. Windows also requires proper resolution of paths like

C:\\My\Path\..\path2

which seems to happen fine on macOS

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.