From: Marc S. <st...@in...> - 2009-08-18 21:19:37
|
Hi, > As I recall, the versioning discussion with the CV was about when to > increment the various fields and what it would mean when they increment. > It had nothing to do with the schema or mapping file versions. > Obsoleting a term in the CV increments the minor version IIRC, but that > doesn't mean that files using older CVs and thus legitimately using > those terms should break. ProteoWizard deals with obsolete terms by > marking them as such in the giant CVID enum we generate with each new CV: > http://proteowizard.svn.sourceforge.net/viewvc/proteowizard/trunk/pwiz/pwiz/data/msdata/cv.hpp > For dealing with term name changes (which are subminor version > increments) when reading files, we ignore the term name and just assign > the most current name to each term's accession number. Name changes do not matter in our approach. The accession is mapped to a member. That is not problem. > With this design, > we can approximate supporting older CV versions. We used to leave out > obsolete terms in our cv.hpp and I changed that precisely for this > reason. :) > > You did an object mapping from the CV/schema to C++ classes? So you have > classes with lots of strongly typed fields that will very often not have > any legitimate value? Wasn't that one of the reasons we went with the CV > approach in the schema instead of a traditional attribute approach? > OpenMS is older than mzML. Most of the meta data classes were written before mzData 1.0. We already had tons of code that uses all the meta data, thus, starting all over was no option :) I have merged the models of mzData, mzXML and mzML by hand. Missing meta has so far been only a minor problem.... > I can't see an option about using newer CV terms than the one your code > is compiled for than to download the newer CV either for a new compile > and release, or on the fly when you encounter an unknown accession > number. With pwiz we currently rely on the former approach: files with > newer CVs will probably break older pwiz versions. Right now we update the file only for a new release as well. We'll see how that works out... -Marc |