JPL-IO Change Log Release pre-1.0.19 ================== API Change: ---------- 1. In JPLMSMangager, add method: void addResourcePaths(Collection paths) 2. In JPLIWriter and all classes that implements it, no more multi-file support: open(File file) replace init(File file) flush() replace flush(File file) isOpened(File file) has been removed close() has been removed 3. New Class JPLIExpFragmentAnnotation Release pre-1.0.18 ================== Bug Fixed: --------- 1. In JPLMGFWriter: "BEGIN ION" -> "BEGIN IONS" 2. JPLMZXMLReader was crashing while parsing a negative value for attribute -> "precursorIntensity". 3. In JPLMGFReader: both "mz" and "intensity" peak value can now be real or an integer. 4. In JPLSPTXTWriter: a bad double quote character '"' was found at the end of "Comment:" line. New Features ------------ 1. JPLSPTXTReader now parses modifs K[136]: 8.014 and [166]: 10.008. 2. JPLHMapMSConverter now implements JPLIConditionBasedFilter: new method void setCondition(JPLICondition condition). 3. New class JPLMSManager that manages many MS files and lookup MS spectrum scans. 4. New exception MS2HMSConvertException in JPLHMapMSConverter. 5. New method public void setReader(JPLIMSReader reader). 6. In JPLHMapSerializer: 6.1. Change KeyingMode.MAP -> KeyingMode.DICT 6.2. New mode KeyingMode.MAPPED_LIST (LIST mode for storing objects + mapping key -> index) when you want to serialize map with non sorted keys !! 6.3. Now store at the end of the file (in reserved end bytes): a. the keying mode of the file. b. the map: key to indices in KeyingMode.MAPPED_LIST mode. Release pre-1.0.17 ================== New Features ------------ 1. New contracts in interface org.expasy.jpl.io.ms.ident.JPLIMassSpectrumScan: /** @return true if the spectrum scan is a decoy */ boolean isDecoy(); /** Set to true if the spectrum scan is a decoy */ void setDecoy(boolean isDecoy); 2. New methods in class org.expasy.jpl.io.ms.ident.JPLMassSpectrumScan: boolean isDecoy() and void setDecoy(boolean isDecoy). Release pre-1.0.16 ================== Bug Fixed --------- 1. JPLSPTXTWriter now throws an IllegalArgumentException if precursor sequence is missing. New Features ------------ 1. JPLIWriter has new methods: close(File file) and boolean isOpened(File file) 2. JPLAbstractWriter is now multi-file ready: example: List scans = msReader.iterator().nextToList(); JPLHMapMSWriter hmsWriter = JPLHMapMSWriter.newInstance(KeyingMode.CONTEXTUAL); hmsWriter.enableAppendingMode(true); for (JPLIMassSpectrumScan scan : scans) { hmsWriter.add(scan); if (scan.getScanNum() % 2 == 0) { // the same writer can flush output in a 1st file hmsWriter.flush(new File("/tmp/test_5-15-even.hms")); } else { // ... and in a second one hmsWriter.flush(new File("/tmp/test_5-15-odd.hms")); } } // close here all opened handlers hmsWriter.close(); Release pre-1.0.15 ================== New Features ------------ 1. New Generic MS writer org.expasy.jpl.io.ms.JPLMSWriter: an abstract class that has to be extended by any MS writer implementation class. 2. New JPLMGFWriter that extends JPLMSWriter. 3. JPLSPTXTWriter has been rewritten. Release pre-1.0.14 ================== API Change ---------- 1. JPLIPBParser will not longer exist !: new interface org.expasy.jpl.core.util.JPLPBReady (in core-pre-1.0.16) + void setProgressBar(JPLIProgressBar bar) + void enableProgressBar(boolean bool) JPLIterableReader, JPLIMSReader and JPLHMapMSConverter now implements JPLPBReady and JPLMemoryEstimatorReady interface. Release pre-1.0.13 ================== New Features ------------ 1. Every JPLIterableReader now implements JPLIPBParser (see core-pre-1.0.15) with new implementations of: + void setProgressBar(JPLIProgressBar bar) + void enableProgressBar(boolean bool) 2. In the same class JPLIterableReader, it is now possible to disable the test memory to estimate the max block size in the nextToList() methods: + void enableTestMemory(boolean bool) { Release pre-1.0.12 ================== New Features ------------ 1. New JPLHMapMSWriter 2. JPLHMap(De)Serializer have no more file extension constraints 3. Only JPLHMapMSReader and JPLHMapMSWriter have file extension constraint (.hms) Release pre-1.0.11 ================== API Change ---------- 1. In org.expasy.jpl.io.ms.ident.JPLSPTXTWriter: + change visibility to public for static method getModComment(JPLPeptide peptide) + the spectrum are now normalized to 10000. Release pre-1.0.10 ================== Bug fixed --------- 1. In org.expasy.jpl.io.ms.JPLMZXMLReader parseExperimentInfos() was throwing an out of bound exception because no experimental infos was found. 2. New hashMapserialized-based MS reader JPLHMapMSReader. 3. Integration of JPLHMapMSReader in generic MS parser JPLMSReader. Release pre-1.0.9 ================= New Features ------------ 1. New classes for serializing any map in files via JPLHMapSerializer (ext .hms) and JPLHMapDeserializer (in package org.expasy.jpl.io.util) [based on libraries from org.apache.hadoop]. 2. New class for converting MS file into serialized map file with org.expasy.jpl.io.ms.JPLHMapMSConverter Release pre-1.0.8 ================= API Changes ----------- 1. Modify interface org.expasy.jpl.io.util.JPLIWriter clear() is not available anymore. New Features ------------ 1. New abstract class org.expasy.jpl.io.util.JPLAbstractWriter 2. New org.expasy.jpl.io.ms.ident.JPLSPTXTWriter based on JPLAbstractWriter Release pre-1.0.7 ================= Bug Fixed --------- 1. In org.expasy.jpl.io.util.JPLIterableReader, not ordered scan ids was causing weird behavior. Release pre-1.0.6 ================= Bug Fixed --------- In org.expasy.jpl.io.ms.JPLMGFReader, the precursor mass and intensity was not parsed. Release pre-1.0.5 ================= Bug Fixed --------- 1. In org.expasy.jpl.io.ms.ident.JPLMSLibSeqMods2SeqConverter there were a bug when converting in JPL sequence format while adding modifications found in "Comment". 2. In org.expasy.jpl.io.ms.ident.JPLMSLibSeqMods2SeqConverter again, some modification was not found in the list proposed by the NIST documentation[i]. We now look into UniMod. i. NIST Library of Peptide Ion Fragmentation Spectra: Version June 2006 Release pre-1.0.4 ================= API Changes ----------- 1. Add setters in JPLIMassSpectrumScan: setRetentionTime(JPLRetentionTime rt), setScanNum(int num) & setComment(String com). 2. Add getter getComment() in JPLIMassSpectrumScan. 3. In org.expasy.jpl.io.ms.JPLMSReader, add a new static factory method "withExtension(pattern)" to restrain the type of file to parse with the reader. New Features ------------ 1. Now Parse SCANS & RTINSECONDS tags in JPLMGFReader. 2. Now Parse comments in JPLSPTXTReader and JPLMSPReader. 3. Now Parse "Mods" coming from "Comment" in JPLSPTXTReader and JPLMSPReader convert peptide sequence with mods and stop parsing "MW" as it is now computed from the peptide precursor (monoisotopic). Release pre-1.0.3 ================= Optimizations ------------- Optimize time performance of every MS parsers. Release pre-1.0.2 ================= Bug fixes --------- 1. In JPLMZXMLReader, RT was only retrieved for MS1 spectra. 2. In JPLMZXMLReader, empty peak list was leading to a NullPointerException crash. ## Possible Change Log Tags # Changes in backwards compatibility policy # Changes in runtime behavior # Bug fixes # API Changes # Optimizations # Test Cases # Documentation