Hi all,
I just committed a large chunk of changes to the SVN. Here is the summary:
1) Chromatogram builder was split into into 3 suparate modules: mass detection,
mass filtering, and chromatogram builder. Mass detection is responsible for
detecting ions in each scan, and the results are saved into a MassList (new
data structure). Each Scan can have multiple MassLists, obtained using
different algorithms or parameters. Also, MassLists can be created for MS/MS
scans. The reason for this change is that at least two modules (MASCOT search
and formula prediction) require a reliable mass detection for MS/MS scans. This
was not possible with previous Chromatogram builder, but it is possible now.
2) I removed the default config file. List of modules, which are loaded at
startup, is now present in a separate class
net.sf.mzmine.main.MZmineModulesList. This makes it easier to maintain the
consistency of the whole project (I got tired of editing two config files
manually after each change to the modules). Also, I started a convention for
the module classes to be named xxxModule.
3) Menu item for each module (implementing MZmineProcessingModule) is now added
automatically. Modules do not need to add menu items via the Desktop anymore.
This reduces and simplifies the code necessary to write a new module. Also, it
creates a fixed relationship 1 module = 1 menu item = 1 parameter set. This may
seem limiting, but I believe it is good for maintaining the project in the
future.
4) MZmineProcessingModule.runModule() method now has only a single parameter -
a ParameterSet. The idea behind this is that we can now implement a
command-line interface for MZmine, where the user provides the parameters (e.g.
in XML file) and a whole batch of methods is performed automatically. I created
special parameter types RawDataFilesParameter and PeakListsParameter for the
modules to select their targets (see the code or ask for details).
5) I added checkValue() method to the Parameter interface and also
ParameterSet.checkParameterValues(). Before committing the
ParameterSetupDialog, all parameters are now checked for proper values. Illegal
values are reported to the user so he/she is not allowed to continue until he
fixes the values.
6) ProjectTree is now using a DefaultTreeModel and I believe the
synchronization issues, which occasionally used to occur, should now be fixed.
7) METLIN database search is now using their SOAP API
(http://metlin.scripps.edu/soap/). Unfortunately, their SOAP API does not work.
But I was told that someone is working on that on METLIN side and hopefully it
may be updated soon.
8) Help is back. Each ParameterSetupDialog now automatically adds a Help button
which opens a fixed filename 'help/help.html'. So, no more need to create a
special HelpIDs. The help contents still need to be updated, though.
9) Batch mode: I believe batch mode should have the option to save/load batch
from XML, so that we can use it for running batches from command line, without
GUI. However, this is not implemented yet.
Please note that there are still many bugs and the whole project is not stable
at the moment. I will be working on fixing the remaining bugs over next few
days, and also adding some missing functionality (e.g. saving MassLists with
the project). I will appreciate any comments or suggestions.
Cheers,
Tomas
===============================================
Tomas Pluskal
G0 Cell Unit, Okinawa Institute of Science and Technology
1919-1 Tancha, Onna-son, Okinawa 904-0412, Japan
TEL: +81-98-966-8684
------------------------------------------------------------------------------
AppSumo Presents a FREE Video for the SourceForge Community by Eric
Ries, the creator of the Lean Startup Methodology on "Lean Startup
Secrets Revealed." This video shows you how to validate your ideas,
optimize your ideas and identify your business strategy.
http://p.sf.net/sfu/appsumosfdev2dev
_______________________________________________
Mzmine-devel mailing list
Mzmine-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mzmine-devel