maximilianh / crisporWebsite

All source code of the crispor.org website
http://crispor.org
Other
68 stars 43 forks source link

cli (command line version) of the repo #6

Closed sp-eldata closed 7 years ago

sp-eldata commented 7 years ago

We are interested in helping create a cli only version of CRISPOR. This will be useful for people who are looking to integrate crispor with an existing workflow or in a webapp. It could also possibly help some advanced users who might want to use crispor programmatically.

Would this be something of interest to the maintainers of this project? Even if not, it would be useful to discuss how we can keep this repo in-sync with our cli version.

maximilianh commented 7 years ago

Hi, that sounds good. Can you tell me who "we" is? I only see "sp-eldata" as the username and no further information on your github account.

Crispor.py already has a command line and with every release outputs more and more to tab-sep files. Which particular feature from the website do you want on the command line?

maximilianh commented 7 years ago

There also is crisporEffScores.py a script that gives you all the efficiency scores as a separate standalone script, in case you're looking for that.

sp-eldata commented 7 years ago

The current repo works from the command line using crispor.py but it also contains all the code required for website. We are trying to create a python package which contains only the 'algorithmic' part of the tool.

We have created a refactored version of crispor, containing only the code required for command line execution. Please have a look at the issues and milestones on our repo to get an idea about our plans. Link - https://github.com/ElucidataInc/crispor-cli

sp-eldata commented 7 years ago

As for 'we' - I am referring to http://elucidata.io/. We are a comp biotech start-up.

maximilianh commented 7 years ago

Hi Swetabh,

interesting. Thanks for the additional details. What is the advantage of removing code from crispor.py ? The additional website code doesn't hurt. If you're using it for a specific project, where you don't need the website, then I imagine it makes the code easier to read. But I'm still puzzled... why would one want an off-target finder without a user interface? For library design?

sp-eldata commented 7 years ago

You are right - at this point the main utility is separating the code to make it easy to maintain. In the future, you can also imagine users putting it behind other interface - custom dashboard. Or Dockerizing the 'algorithm' component so that one can run it on clusters.

Does that help?

maximilianh commented 7 years ago

Closing this issue as I'm afraid that it could break something, this is a huge change to the codebase that I would have never done myself. Also, I am the only developer of this tool at the moment and don't see the advantage of splitting the code over various files. Having additional code in the crispor.py for the website probably costs us only 100msecs at most for the parsing at startup but makes editing the code a lot easier. The tool already has a command line interface, so I don't understand what the advantage of another command line interface would be.