User talk:Omei/Cloud Lab Data Mining Tool
Just let me know how can I be of assistance :)
PS: I'm going to make minor edits to the page, not changing anything, just linking things a bit. Just revert the edit if you have objections.
Just send it any time you want, and don't worry about me, I'll deal with GreaseMonkey (and any other dependencies) without bothering you more than necessary :)
Well, I was just thinking that it may solve (granted, in the long run) the cross-domain problem a little more elegantly than using GreaseMonkey...
I'm completely open to having the code integrated with Eterna. I didn't want to put off programming until I had all the answers to procedural questions, so I just got to work in an environment I knew I could be productive in. I figured that once I had something worhwhile to show Jee, we could discuss how it might best be made more widely available.
Is there a mechanism already in place where
- I could easily update .html and .js files, and
- Users could load the html in their own browser window? (Even with full support for HTML, I don't think the little output frame in the current scripting interface would make a satisfactory platform for the kind of report I envision.)
If so, I would probably start doing that now. My main concern is not getting too many users too quickly, because I don't want to end up spending all my time on documentation and support instead of development. Because of that, having it only on the development server for now would be a plus, not a negative.
I can only answer a few of those questions. The git repository is not directly connected to the development server. If I recall correctly, Justin worked on a mechanism so that people (like me) can clone this repository, and run the code locally on their machine. Once I thought I had something valuable, I would send a push request, and Justin would validate the contribution, first for the repository (so that all devs are in synch), then he would eventually integrate it on the development server.
For .js code, the convention is to have files in that library folder. Smallish snippets grouped in your Lib<Yourname>.js file, and other things (like a folding library of the size of ViennaRNA) in its own file.
For the other questions, I'm afraid you're going to have to get in touch with Justin (kws4769) and/or Jee.
And I agree, the dev server sounds perfect for the stage your project is in. Another advantage I can see about using the repository: it possibly makes it easier for other devs to contribute. But it can only work if this repository fits whatever requirements your project has.
I finally got around taking a look at your tool. Very impressive! :)
Out of curiosity, I did a little code review. I noticed a section of the code that may cause problems, around line 883 (as of your version of 8-20-2013).
- Since lengths of lab sequences are now dynamic, it may be better to use gLabInfo.secstruct.length-19 instead of the 63 constant.
- If I'm not mistaken, the lab tails lengths are 5 and 20, not 6 and 20.
- If the point is to determine whether to add tails or not, detecting the barcode in the structure may not be the wisest choice. The data pulled from the server about the lab should contain a "usetail" field, precisely for this purpose. Edit: actually, if the query is type=lab, then tails always have to be added. Maybe you should ask Rhiju or Jee.
Other than that, do you always code so cleanly even for hobby projects? I mean, I love it, it's so comfortable to read and all, but I doubt I would spend much effort on code readability and maintainability for an unpaid project. I'm way too lazy for that :P
Anyway, great job, please keep it up! :)
Thanks for the code review, Nando. Your points are all well taken.
As for coding style, yes this is pretty typical. If I'm writing some quick one-use code, I might well do it as one big, uncommented block of code. But if I expect to have to live with it for more than a week, I quickly get tired of working on that kind of code, even if I wrote it myself. :-)
Now the really question is -- will you find the tool useful?
Currently, I'm missing a feature. Do you think you could expand the filtering to simple formulas? For instance, (S5+S6+S7)<0.5
It is certainly possible. Priority will depend on both estimated effort and estimated utility. Can you elaborate on how it would be useful? Would you really need geneal expressions, or just addition?