add uni bonn logo and some history update
Better late than never: Can you please try to install the canberra-gtk-module for gtk3? on ubuntu the package should be named something like libcanberra-gtk-module or libcanberra-gtk3-module
Given the above analysis a more minmal patch, which produced a better assembly was created. (just adding a != 0 check to convert FLAC__bool to an actual bool (FLAC__bool is int)
Given the above analysis a more minmal patch, which produced better code was created. (just adding a != 0 check to convert FLAC__bool to an actual bool (FLAC__bool is int)
an in depth analysis downstream (see gentoo bug https://bugs.gentoo.org/719792) has revealed, that this issue is occurring only with certain optimization levels. Furthermore a minimal test example was created for assamber analysis (attached). Compiled with gcc -O2 -S -o test.s test.c callback1 (the erroneous case), is reduced to movzbl 56(%rsi), %eax movl %eax, (%rdx) ret Calling gcc with -O1 actually calls memcmp.
my analysis about the gcc versions was wrong, working was gcc 8.3 and failing was gcc 9.{2,3}
downstream bug reference: https://bugs.gentoo.org/719792
I can confirm the bug on gentoo after rebuilding flac 1.3.3. with gcc 9.3.0 (worked with gcc 9.2.0).
The link should work again!
Sorry for the late feedback. The current verson looks fine, but one small thing is missing: The current properties are named in a confusing way: All descriptors form the same type are named the same, but have a number atached. One needs to read the (very good) description of the property to understand the meaning. That description is not always available to the user (table view shows it by hovering the proprty, other views (especially drop down lists) do not do so). Thus, it would be much better...
looks good. please merge this back to FR 10 on your own. As soon FR 10 is finished I will close this bug.
FilterPanel: Listener is triggered multiple times
FilterPanel: Listener is triggered multiple times
As far as i understood from a first glance, showFilter is called on initialization and later whenever PropertyDefinitionChanged, NumComparisonChanged or StringComparisonChanged is called, to update the content of the drop down. The problem here is, that showFilter just re-adds the components and does not clean up the listeners on the old components, which causes the GC to not clean them up und causes all the hidden elements to be updated as well. Am I right? If thats the case, the folowing things...
add Petra Mutzel as initiator
Exception during image-export
merged in [2aa33c]
Merge remote-tracking branch 'origin/bug-247'
Program not terminated when clicking the close button of the login window title bar
Tested by @nlskrg. Merged in [5fd069].
Merge branch 'bug-304'
fixed in [549972]
Program not terminated when clicking the close button of the login window title bar
quit scaffoldhunter on window close of StartDialog
OK, I can reproduce it know. The window is closed, but the scaffold hunter process is still there.
It is not reproducible here (2.6.3 and Master [381d4d]) on Oracle Hotspot VM 1.8.0_172 and icedtea 3.7 and KDE/Plamsa 5
some tables are not correctly cleaned on dataset/tree deletion
merged in [381d4d]
Merge branch 'bug-215'
merged in [ec6136]
TableView: New columns are hidden by default after state restoring
Merge branch 'bug-301-master'
I have created a build of the current master here [1]. Regards, Till [1] https://ls11-www.cs.tu-dortmund.de/people/schaefer/temp/scaffold-hunter-2.6.3-293-g8c97f122.zip On Samstag, 5. Mai 2018 00:08:00 CEST Nils Kriege wrote: You can checkout the code using Git and build the software using Ant by running the command: ~~~ ant release ~~~ exporting SD file with scaffold information Sent from sourceforge.net because you indicated interest in https://sourceforge.net/p/scaffoldhunter/discussion/949408/...
I have created a build of the current master here: https://ls11-www.cs.tu-dortmund.de/people/schaefer/temp/scaffold-hunter-2.6.3-293-g8c97f122.zip
TableView: New columns are hidden by default after state restoring
TableView: New columns are hidden by default after state restoring
TableView: New columns are hidden by default after state restoring
continue -> else (continue should never be used, when there is a single else block. it might make sense if the else blocks are white deep but here it just jas a bad readability) floatingTable.getColumnModel().getColumn(floatingTable.getColumnCount() - 1);: does this work if you increase the maxColumn? Or will you just pick the same column multiple times? this fix is independend from FR 108, right? if so, please rebase on master (otherwith i cannot merge it back to master)
just some illegal access warnings from starting SH on java 9: /opt/oracle-jdk-bin-9.0.4/bin/java -jar --illegal-access=warn ~/data/programmierung/java/egit_repos/edu.udo.scaffoldhunter/dist/scaffold-hunter-2.6.3-293-g8c97f122.jar WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields (file:/home/till/data/programmierung/java/egit_repos/edu.udo.scaffoldhunter/dist/lib/xstream/xstream-1.4.9.jar) to field java.util.TreeMap.comparator WARNING: Illegal reflective access by com.thoughtworks.xstream.core.util.Fields...
some tables are not correctly cleaned on dataset/tree deletion
Does not delete mol_data and svg_data, when deleting a tree (tested with mysql). Furthermore,it seems that strucQuery.executeUpdate(); in line 62 of DeleteInterceptor can be deleted, since the other strucQuery is updated outsite the if. Plus one minor thing, please use else if in line 64.
please fix this issues in a complete manner first, you can then rely on a solid implementation in FR 10
DbManagerHibernate.getAccPropertyMinMax(): Some parameters not used for scaffold properties
Filter dialog: ranges of values
(3) Can you please open another bug report and precicely describe the parameter combinations, that crash or create unexpected results? We should fix the implementation. (5) current implementation crashes with an NPE at edu.udo.scaffoldhunter.model.db.Filter.getPropDef(Filter.java:79), when creating a new session and adding a numerical filter on a molecule property (reproducible on the tutorial dataset and the "Activity at 0.057mM_%" property) (see attached stracktrace)
Filter dialog: ranges of values
(3) Can you please open another bug report and precicely describe the parameter combinations, that crash or create unexpected results? We should fix the implementation. (4) current implementation crashes with an NPE at edu.udo.scaffoldhunter.model.db.Filter.getPropDef(Filter.java:79), when creating a new session and adding a numerical filter on a molecule property (reproducible ond the tutorial dataset and the "Activity at 0.057mM_%" property) (see attached stracktrace)
Merge branch 'bug-244'
large sessions cannot be saved (observed for the heatmap view)
looks good, merged in [8c97f1]
some tables are not correctly cleaned on dataset/tree deletion
looks good on mysql, but fails on hsql with the exception org.hibernate.exception.SQLGrammarException: could not prepare statement. This is most likely a problem of different SQL-dialects. HQL would be the better alternative to SQL here, since it abstracts database specific SQL dialects. Please evaluate my first guess and rewrite the statements in HQL. This will also allow us to easily port the backend to new database types in the feature. MYSQL tested by counting the elements int the tables: Action...
large sessions cannot be saved (observed for the heatmap view)
Please find a solution for the todo. It should be sufficient to just compress the data to get the real size, or am I wrong?
Adding a new sidebar-item breaks session-compatibility
merged in [2829f9]
Merge branch 'bug-291'
Cloud view: property value 0 not recognized
Exception during image-export
large sessions cannot be saved (observed for the heatmap view)
I get "The user profile's configuration could not be restored [...]" errors (dialog), when creating a new sesssion. At the same time the Exception "CompressionException: Input is not Base64-encoded" is thrown. My first guess would be Line 428ff in GUIController. Please do not use internal apis (com.sun.org.apache.xerces.internal.impl.dv.util.Base64). This will be not stable over different releases and will most likelely breakt with java9s module system. As already said above, we have use Base64 for...
There is no hint about the min an max value, only the JSpinner Borders are adjusted. The dialog crashes with the stack trace given below, if you create a new session. In general: please do a proper testing of you implementations. Please do not add a new method to dbmanager, there already exist getAccNumPropertyDataset (for MoleculeNumProperties) and for getAccPropertyMinMax (for scaffold properties). the scaffold ranges are not limited to the current tree Uncaught Exception in thread AWT-EventQueue-0...
closing the bug then
no loading of recently created dataset/tree/session
clothing the bug then
CheckableListListener: Unprecise method onOrderChanged()
Filter dialog: ranges of values
There is no hint about the min an max value, only the JSpinner Borders are adjusted. The dialog crashes with the stack trace given below, if you create a new session. In general: please do a proper testing of you implementations. Please do not add a new method to dbmanager, there already exist getAccNumPropertyDataset (for MoleculeNumProperties) and for getAccPropertyMinMax (for scaffold properties). the scaffold ranges are not limited to the current tree
Building SH is just the single command "ant release" in the source codes main folder (where the build.xml is located).
large sessions cannot be saved (observed for the heatmap view)
to large sessions cannot be saved (observed for the heatmap view)
Am I right, that the compressed representation of the session is bytes? Then we need the base64 for the database, to not throw errors. It will get aa bit larger, but is a factor much less than 2. Thus its still much better than the uncompression situation. Session incompatibility should not be a problem if we include this patch into 2.7.0, since that release will break the sesssion compatibility anyway. The reason for this bug is a to large session and thus the bug also applied to other views, if...
New Dataset-Dialog takes long time to open
New Dataset-Dialog takes long time to open
This is a known problem. If this is the problem, I am already aware of, it should only happen when scaffoldhunter is started from the development environment. The release build should not have this problem. As far as I can remember the long loading times were caused by a larger search space for plugins (it basically searches the complete JDK for plugin annotations). I think this problem is very hard to solve with our current plugin mechanism. Since it should only impact the developers, I tend to...
Why is the plugin named KonPlugin? The name is a portmanteau derived from Konstanz plus Plugin. It was thought as a small gesture to the university of the same name, where the plugin has been developed. Frankly, we are open to suggestions. A content-based derived modification from the title (Molecular Descriptors Calculator) of the plug-in, e.g. CDKMolPlugin might, however, be more suitable. Why are all the differnt descriptors calculated in a single plugin? Typically, we follow the paradigm to do...
Why is the plugin named KonPlugin? The name is a portmanteau derived from Konstanz plus Plugin. It was thought as a small gesture to the university of the same name, where the plugin has been developed. Frankly, we are open to suggestions. A content-based derived modification from the title (Molecular Descriptors Calculator) of the plug-in, e.g. CDKMolPlugin might, however, be more suitable. Why are all the differnt descriptors calculated in a single plugin? Typically, we follow the paradigm to do...
convenience methods for PropertyType.NumericalFingerprint
conceinice methods for PropertyType.NumericalFingerprint
The reason we do not store a actually a vector of integers is, that we need to store that data in a database column. Many databases do not even have such a type and you would need to map the vector to multiple rows, which makes such types a bit complex to handle properly. Furthermore, as long it is not absolutily necessary, we do not want to change the database layout in order to keep the database backward compatible. However, I would appreaciate a conveinience methods in the class StringProperty,...
PorpertyType.NumProperty recognizes only double values
The reason for one specific type is that we need to map the properties to some database column. It is already cumberson to distiguish between string and numerical properties since you need a special treadment in each class actually using that property. We have chosen double as type, since it is the most general one for storing numerical values. It can store Integers up 2^53 exactly and much larger numbers with precision loss. Float is also just less precision.
First of all: Thank you for the contribution. Now: Let's get to the technical bits :-) I have some genral Questions before we go into source code details: Why is the plugin named KonPlugin? Why are all the differnt descriptors calculated in a single plugin? Typically, we follow the paradigm to do one thing per plugin. That enables the user to select exactly which properties he wants to calculate. Are there any parameters of the descriptors that should be exposed to the user? Code-Style: Use the eclipse...
First of all: Thank you for the contribution. Now: Let's get to the technical bits :-) I have some genral Questions before we go into source code details: Why is the plugin named KonPlugin? Why are all the differnt descriptors calculated in a single plugin? Typically, we follow the paradigm to do one thing per plugin. That enables the user to select exactly which properties he wants to calculate. Are there any parameters of the descriptors that should be exposed to the user? Code-Style: Use the eclipse...
First of all: Thank you for the contribution. Now: Let's get to the technical bits :-) I have some genral Questions before we go into source code details: Why is the plugin named KonPlugin? Why are all the differnt descriptors calculated in a single plugin? Typically, we follow the paradigm to do one thing per plugin. That enables the user to select exactly which properties he wants to calculate. * Are there any parameters of the descriptors that should be exposed to the user? Code-Style: Use the...
First of all: Thank you for the contribution. Now: Let's get to the technical bits: I have some genral Questions before we go into source code details: Why is the plugin named KonPlugin? Why are all the differnt descriptors calculated in a single plugin? Typically, we follow the paradigm to do one thing per plugin. That enables the user to select exactly which properties he wants to calculate. * Are there any parameters of the descriptors that should be exposed to the user? Code-Style: Use the eclipse...
Update copyright in source files
update file header template: LS11 copyright up to 2018
Calc plugins
see https://sourceforge.net/p/scaffoldhunter/git-code/merge-requests/1/
I think we should go for the best quality here. It is fast enough and has a 95% compression ratio on the example session, which is quite good. Thus, we should definitely pursue the the direction of compressing the session data. There are a few things to keep in mind: what data type is the session column? Text? If so, we need to convert the binary data to text again. We have already used a bas64 encoding for the bit feature vectors. Thus, you should re-use that implementation if possible. We need...
heatmap: session cannot be saved
although I would like to keep the change (changing the field size), I would also like to take the attempt to to compress the session, as it might be faster and I expect a much larger gain that the field size increase. Can you please have please come up with a concept about compressing the session?
does this has any side effects on existing databases? do previously created databases still work?
The idea here was, that the clusteing may take a lot of time to re-compute and it is not always stable (there may be ties in the clustering process that are resolved randomly). Thus, just removing the feature should be the least favorable option to resolve this issues. This is especially true, since this only affects the non-productive hsql backend. However, we should look out for other options. Is it possible to increase the size of the field in hsql? Can we compress the session? There are a lot...
works as expected. merged in [aec96b].
TableViewState is restored in paint()
Merge branch 'bug-286'