From: <nl...@us...> - 2014-04-23 13:28:18
|
Hi Shamshad, thanks for your work on this feature request. Your patch (with some further modifications) has now been committed to the SVN repository. Regards, Nils On Friday 18 April 2014 17:42:38 Shamshad Alam wrote: > Hi, > > Please, find revised version in attachment. > > Thanks > Shamshad > > On Thu, Apr 17, 2014 at 9:18 PM, Shamshad Alam <sha...@gm...>wrote: > > Hi, > > > > Thanks for feedback. In the next patch you will find the fix of problems > > you pointed out. > > > > Thanks > > Shamshad > > > > > > On Thu, Apr 17, 2014 at 6:53 PM, Till Schäfer < > > > > til...@tu...> wrote: > >> Hi, > >> i just updated the menu and added some categories as comments and also > >> changed the ordering a little bit. > >> -> your action should now go to "single subset filters" category. > >> > >> Viele Grüße > >> Till > >> > >> Am Donnerstag, 17. April 2014, 15:01:53 schrieb Till Schäfer: > >> > Hi, > >> > it now seems to work for me. > >> > It is good to see, that you used a worker thread for the splitting and > >> > >> animated the work, because it can take some tome to create many subsets. > >> Furthermore i liked that you used the DbExceptionHandler. > >> > >> > However, there are still some things to fix before we can integrate the > >> > >> patch: > >> > - The parent of the new subset should be the subset that is spitted. > >> > - The split action should be accessible by right clicking on a subset > >> > >> (not only in the menu). > >> > >> > - The action should be located int the same section as union / > >> > >> intersection / difference / filter. > >> > >> > - ModelViewControler: The splitting should be implemented in the > >> > >> SubsetManager. The action should just call the method there (have a look > >> at > >> the other actions). > >> > >> > - Good Coding Style: use two lines of code if you want to define and > >> > >> initialize two variable: int ringLevel = subsetDialog.getRingLevel(), > >> index > >> = 1; > >> > >> > - Hint / Good Coding Style: you can use the > >> > >> Scaffolds.SubtreePreorderIterable to iterate over all scaffolds in a > >> subtree (e.v. in your method getMolecules) > >> > >> > Greetings > >> > Till > >> > > >> > Am Mittwoch, 16. April 2014, 21:08:42 schrieb Shamshad Alam: > >> > > Hi, > >> > > > >> > > Please, find the patch in attachment, apply and check it. > >> > > > >> > > Thanks > >> > > Shamshad > >> > > > >> > > > >> > > > >> > > On Wed, Apr 16, 2014 at 3:21 PM, Till Schäfer < > >> > >> til...@tu... > >> > >> > > > wrote: > >> > > > > >> > > > Hi, > >> > > > lets go back to mailing list communication ;). > >> > > > > >> > > > Am Mittwoch, 16. April 2014, 14:57:34 schrieb Shamshad Alam: > >> > > > > Hi, > >> > > > > > >> > > > > While working on this feature as you suggested I found that for a > >> > >> large > >> > >> > > > > dataset there are more than a hundred scaffolds at a given ring > >> > >> level and > >> > >> > > > > many of them contain a few (usually 1-10) molecules. So, after > >> > >> split up > >> > >> > > > > hundred of subsets which merely contain a few molecules are > >> > >> created. It > >> > >> > > > > makes Subset Manager Panel a little bit chaotic [Please refer to > >> > >> the > >> > >> > > > image > >> > > > > >> > > > > attached to understand the situation well]. > >> > > > > >> > > > The features purpose is to be able to handle dataset of very large > >> > >> size > >> > >> > > > (i.e. about a million molecules). In this case one is not able to > >> > >> show all > >> > >> > > > molecules in a view, because of performance limitations. Therefore > >> > >> the > >> > >> > > > split is a way to handle the dataset step by step and it is a > >> > >> natural split > >> > >> > > > by the structure of the molecules (at least for a chemist ;-) ). > >> > > > > >> > > > As the number of molecules on level 1 ore 2 does not increase that > >> > >> much, > >> > >> > > > for larger datasets, this splitting makes sense for large datasets, > >> > >> but not > >> > >> > > > for small ones. > >> > > > > >> > > > To conclude: It is totally fine, that you create so many small > >> > >> datasets. > >> > >> > > > Regards, > >> > > > Till > >> > > > > >> > > > > Should I go ahead to and create a patch for this implementation? > >> > > > > > >> > > > > > >> > > > > Or, we should include some further criteria such as subsets for > >> > >> only > >> > >> > > > those > >> > > > > >> > > > > scaffolds which have more than n (a number specified by user) > >> > >> molecules > >> > >> > > > are > >> > > > > >> > > > > created. > >> > > > > > >> > > > > Have you any other idea which makes this feature more usable? > >> > > > > > >> > > > > Thanks > >> > > > > Shamshad > >> > > > > > >> > > > > > >> > > > > On Tue, Apr 15, 2014 at 10:18 PM, Till Schäfer < > >> > > > > > >> > > > > til...@tu...> wrote: > >> > > > > > Hi, > >> > > > > > > >> > > > > > Am Dienstag, 15. April 2014, 21:30:29 schrieb Shamshad Alam: > >> > > > > > > Hi, > >> > > > > > > > >> > > > > > > Thanks for feedback, and sorry for misunderstanding. > >> > > > > > > > >> > > > > > > You mean that n subsets will be created if there are n > >> > >> scaffolds at > >> > >> > > > ring > >> > > > > >> > > > > > > level x. In this case, it will be tedious task to enter name > >> > >> of the > >> > >> > > > each > >> > > > > >> > > > > > > subset to be created. So, what naming convention should I > >> > >> use? I > >> > >> > > > have an > >> > > > > >> > > > > > > idea: > >> > > > > > > > >> > > > > > > --> User will enter the name of the subset which will act as > >> > > > > > > a > >> > > > > >> > > > prefix and > >> > > > > >> > > > > > > we will add suffix 1 for first subset, 2 for second > >> > >> subset..., and n > >> > >> > > > for > >> > > > > >> > > > > > > nth subset, to the name for each subset to be created (You > >> > >> may get > >> > >> > > > the > >> > > > > >> > > > > > > better picture of idea in the image attached) . > >> > > > > > > >> > > > > > Sounds good. The default name should be orientated towards the > >> > >> default > >> > >> > > > > > name schema of filters and random subset creation. > >> > > > > > > >> > > > > > Something like: "Split(Level 3) - n" > >> > > > > > > >> > > > > > where n refers to the counter. > >> > > > > > > >> > > > > > Regards, > >> > > > > > Till > >> > > > > > > >> > > > > > > --> Please tell me if you have any better idea regarding > >> > > > > > > this. > >> > > > > > > > >> > > > > > > Thanks > >> > > > > > > Shamshad > >> > > > > > > > >> > > > > > > > >> > > > > > > On Tue, Apr 15, 2014 at 5:36 PM, Till Schäfer < > >> > > > > > > >> > > > > > til...@tu... > >> > > > > > > >> > > > > > > > wrote: > >> > > > > > > > > >> > > > > > > > Hi, > >> > > > > > > > your patch just creates a single subset, where the top > >> > >> rings are > >> > >> > > > > > filtered > >> > > > > > > >> > > > > > > > out. It does not SPLIT the subset. > >> > > > > > > > See section "misunderstanding" in my previous mail. > >> > > > > > > > > >> > > > > > > > Greetings, > >> > > > > > > > Till > >> > > > > > > > > >> > > > > > > > Am Montag, 14. April 2014, 09:10:46 schrieb Shamshad Alam: > >> > > > > > > > > Hi, > >> > > > > > > > > > >> > > > > > > > > I have made the changes you suggested. You can find > >> > >> patches in > >> > >> > > > > > attached > >> > > > > > > >> > > > > > > > > file with this mail. > >> > > > > > > > > > >> > > > > > > > > Thanks > >> > > > > > > > > Shamshad > >> > > > > > > > > > >> > > > > > > > > > >> > > > > > > > > On Fri, Apr 11, 2014 at 9:58 PM, Till Schäfer < > >> > > > > > > > > >> > > > > > > > til...@tu... > >> > > > > > > > > >> > > > > > > > > > wrote: > >> > > > > > > > > > > >> > > > > > > > > > Hi, > >> > > > > > > > > > thx for the patch. > >> > > > > > > > > > I just looked through the code and there was some > >> > > > > >> > > > misunderstanding > >> > > > > >> > > > > > > > > > regarding the task: > >> > > > > > > > > > - You selected the molecules of all scaffolds on ring > >> > >> level x > >> > >> > > > and > >> > > > > >> > > > > > > > created > >> > > > > > > > > >> > > > > > > > > > a single subset from this. > >> > > > > > > > > > > >> > > > > > > > > > - The feature request 38 asked for something diferent: > >> > > > > > > > > > -> for each of the scaffolds on level x, select the > >> > >> molecules > >> > >> > > > > > from the > >> > > > > > > >> > > > > > > > > > scaffold and his subtree and create a new subset. > >> > > > > > > > > > > >> > > > > > > > > > -> that means we will have n subsets if there are n > >> > >> scaffolds > >> > >> > > > on > >> > > > > >> > > > > > > > level x. > >> > > > > > > > > >> > > > > > > > > > -> that means we partition the subset (minus the > >> > >> molecules > >> > >> > > > from > >> > > > > >> > > > > > lower > >> > > > > > > >> > > > > > > > > > rings) > >> > > > > > > > > > > >> > > > > > > > > > The good message is, that your dialog seems to be > >> > >> reusable for > >> > >> > > > this > >> > > > > >> > > > > > > > task. > >> > > > > > > > > >> > > > > > > > > > We just need to change the description. > >> > > > > > > > > > One small bug in the dialog: Only the visible rings are > >> > > > > > > >> > > > > > selectable, not > >> > > > > > > >> > > > > > > > > > the complete tree levels > >> > > > > > > > > > > >> > > > > > > > > > One further note: The action should be located in the > >> > >> subset > >> > >> > > > menu > >> > > > > >> > > > > > and > >> > > > > > > >> > > > > > > > > > therefore should be implemented at the same place, > >> > >> where also > >> > >> > > > the > >> > > > > >> > > > > > patch > >> > > > > > > >> > > > > > > > > > from najenson was imlemented (SubssetManager / > >> > >> SubsetActions). > >> > >> > > > > > > > > > You can access the complete tree for a subset over > >> > > > > > > > > >> > > > > > > > DbManager.getScaffolds. > >> > > > > > > > > >> > > > > > > > > > Please wrap each of the DbManager calls in a > >> > >> DbExceptionHandler > >> > >> > > > > > (you > >> > > > > > > >> > > > > > > > will > >> > > > > > > > > >> > > > > > > > > > find some examples in the SubsetManger). > >> > > > > > > > > > > >> > > > > > > > > > Regards, > >> > > > > > > > > > Till > >> > > > > > > > > > > >> > > > > > > > > > Am Mittwoch, 9. April 2014, 15:19:28 schrieb Shamshad > >> > >> Alam: > >> > > > > > > > > > > Hi, > >> > > > > > > > > > > > >> > > > > > > > > > > Feature Request #38 has been implemented, and you can > >> > >> find > >> > >> > > > > > related > >> > > > > > > >> > > > > > > > > > patches > >> > > > > > > > > > > >> > > > > > > > > > > in attachment. > >> > > > > > > > > > > > >> > > > > > > > > > > When you will execute the application after applying > >> > > > > >> > > > patches, a > >> > > > > >> > > > > > tool > >> > > > > > > >> > > > > > > > bar > >> > > > > > > > > >> > > > > > > > > > > button (to make subset from ring) will appear at the > >> > >> right > >> > >> > > > side > >> > > > > >> > > > > > of > >> > > > > > > >> > > > > > > > export > >> > > > > > > > > >> > > > > > > > > > > toolbar button. Follow that button to create a new > >> > >> subset at > >> > >> > > > > > > > specified > >> > > > > > > > > >> > > > > > > > > > ring > >> > > > > > > > > > > >> > > > > > > > > > > level. > >> > > > > > > > > > > > >> > > > > > > > > > > Thanks > >> > > > > > > > > > > Shamshad > >> > > > > > > > > > > >> > > > > > > > > > -- > >> > > > > > > > > > Dipl.-Inf. Till Schäfer > >> > > > > > > > > > TU Dortmund University > >> > > > > > > > > > Chair 11 - Algorithm Engineering > >> > > > > > > > > > Otto-Hahn-Str. 14 / Room 237 > >> > > > > > > > > > 44227 Dortmund, Germany > >> > > > > > > > > > > >> > > > > > > > > > e-mail: til...@cs... > >> > > > > > > > > > phone: +49(231)755-7706 > >> > > > > > > > > > fax: +49(231)755-7740 > >> > > > > > > > > > web: http://ls11-www.cs.uni-dortmund.de/staff/schaefer > >> > >> > > > > > > > > > pgp: > >> https://keyserver2.pgp.com/vkd/SubmitSearch.event?&&SearchCriteria=0xD84D > >> ED79>> > >> > > > > > > > -- > >> > > > > > > > Dipl.-Inf. Till Schäfer > >> > > > > > > > TU Dortmund University > >> > > > > > > > Chair 11 - Algorithm Engineering > >> > > > > > > > Otto-Hahn-Str. 14 / Room 237 > >> > > > > > > > 44227 Dortmund, Germany > >> > > > > > > > > >> > > > > > > > e-mail: til...@cs... > >> > > > > > > > phone: +49(231)755-7706 > >> > > > > > > > fax: +49(231)755-7740 > >> > > > > > > > web: http://ls11-www.cs.uni-dortmund.de/staff/schaefer > >> > >> > > > > > > > pgp: > >> https://keyserver2.pgp.com/vkd/SubmitSearch.event?&&SearchCriteria=0xD84D > >> ED79>> > >> > > > > > -- > >> > > > > > Dipl.-Inf. Till Schäfer > >> > > > > > TU Dortmund University > >> > > > > > Chair 11 - Algorithm Engineering > >> > > > > > Otto-Hahn-Str. 14 / Room 237 > >> > > > > > 44227 Dortmund, Germany > >> > > > > > > >> > > > > > e-mail: til...@cs... > >> > > > > > phone: +49(231)755-7706 > >> > > > > > fax: +49(231)755-7740 > >> > > > > > web: http://ls11-www.cs.uni-dortmund.de/staff/schaefer > >> > >> > > > > > pgp: > >> https://keyserver2.pgp.com/vkd/SubmitSearch.event?&&SearchCriteria=0xD84D > >> ED79>> > >> > > > -- > >> > > > Dipl.-Inf. Till Schäfer > >> > > > TU Dortmund University > >> > > > Chair 11 - Algorithm Engineering > >> > > > Otto-Hahn-Str. 14 / Room 237 > >> > > > 44227 Dortmund, Germany > >> > > > > >> > > > e-mail: til...@cs... > >> > > > phone: +49(231)755-7706 > >> > > > fax: +49(231)755-7740 > >> > > > web: http://ls11-www.cs.uni-dortmund.de/staff/schaefer > >> > >> > > > pgp: > >> https://keyserver2.pgp.com/vkd/SubmitSearch.event?&&SearchCriteria=0xD84D > >> ED79 > >> > >> > >> > >> > >> > >> > >> -- > >> Dipl.-Inf. Till Schäfer > >> TU Dortmund University > >> Chair 11 - Algorithm Engineering > >> Otto-Hahn-Str. 14 / Room 237 > >> 44227 Dortmund, Germany > >> > >> e-mail: til...@cs... > >> phone: +49(231)755-7706 > >> fax: +49(231)755-7740 > >> web: http://ls11-www.cs.uni-dortmund.de/staff/schaefer > >> pgp: > >> https://keyserver2.pgp.com/vkd/SubmitSearch.event?&&SearchCriteria=0xD84D > >> ED79> > > -- > > -Shamshad Alam > > > > +91 9911631198 > > > > LinkedIn : in.linkedin.com/pub/shamshad-alam/58/939/70 > > GitHub: @shamshad-npti > > Facbook: @shamshad.saralindia |