diff -Nru xtandem-cyclone-2011.12.01.1/CMakeLists.txt xtandem-cyclone-2012.10.01/CMakeLists.txt --- xtandem-cyclone-2011.12.01.1/CMakeLists.txt 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/CMakeLists.txt 2012-11-08 14:09:42.000000000 +0000 @@ -57,7 +57,7 @@ SET( CMAKE_BUILD_TYPE "Release") #2011.12.01.1 -SET (XTANDEM_VERSION "2011.12.01.1") +SET (XTANDEM_VERSION "2012.10.01") SET(CPACK_CMAKE_GENERATOR "Unix Makefiles") SET(CPACK_GENERATOR "STGZ;TGZ;TZ") @@ -73,9 +73,9 @@ SET(CPACK_PACKAGE_NAME "Xtandem") SET(CPACK_PACKAGE_VENDOR "") SET(CPACK_PACKAGE_VERSION "${XTANDEM_VERSION}") -SET(CPACK_PACKAGE_VERSION_MAJOR "2011") -SET(CPACK_PACKAGE_VERSION_MINOR "12.01") -SET(CPACK_PACKAGE_VERSION_PATCH "1") +SET(CPACK_PACKAGE_VERSION_MAJOR "2012") +SET(CPACK_PACKAGE_VERSION_MINOR "10") +SET(CPACK_PACKAGE_VERSION_PATCH "01") #SET(CPACK_RESOURCE_FILE_LICENSE ${Xtandem_SOURCE_DIR}/COPYING) #SET(CPACK_RESOURCE_FILE_README ${Xtandem_SOURCE_DIR}/README) #SET(CPACK_RESOURCE_FILE_WELCOME ${Xtandem_SOURCE_DIR}/INSTALL) diff -Nru xtandem-cyclone-2011.12.01.1/debian/changelog xtandem-cyclone-2012.10.01/debian/changelog --- xtandem-cyclone-2011.12.01.1/debian/changelog 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/debian/changelog 2012-11-08 14:09:42.000000000 +0000 @@ -1,3 +1,27 @@ +xtandem-cyclone (2012.10.01-1~lucid) lucid; urgency=low + + * lucid package for X! Tandem CYCLONE 2012.10.01 (http://www.thegpm.org/TANDEM/) + + -- Olivier Langella wed, 7 nov 2012 10:18:51 +0200 + +xtandem-cyclone (2011.12.01.1-1~precise) precise; urgency=low + + * precise package for X! Tandem CYCLONE 2011.12.01.1 (http://www.thegpm.org/TANDEM/) + + -- Olivier Langella wed, 26 Sep 2012 10:18:51 +0200 + +xtandem-cyclone (2011.12.01.1-1~natty) natty; urgency=low + + * natty package for X! Tandem CYCLONE 2011.12.01.1 (http://www.thegpm.org/TANDEM/) + + -- Olivier Langella thu, 21 Feb 2012 10:18:51 +0200 + +xtandem-cyclone (2011.12.01.1-1~maverick) maverick; urgency=low + + * maverick package for X! Tandem CYCLONE 2011.12.01.1 (http://www.thegpm.org/TANDEM/) + + -- Olivier Langella thu, 21 Feb 2012 10:18:51 +0200 + xtandem-cyclone (2011.12.01.1-1~lucid) lucid; urgency=low * lucid package for X! Tandem CYCLONE 2011.12.01.1 (http://www.thegpm.org/TANDEM/) diff -Nru xtandem-cyclone-2011.12.01.1/debian/control xtandem-cyclone-2012.10.01/debian/control --- xtandem-cyclone-2011.12.01.1/debian/control 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/debian/control 2012-11-08 14:09:42.000000000 +0000 @@ -2,8 +2,7 @@ Section: science Priority: optional Maintainer: Olivier Langella -XSBC-Original-Maintainer: Olivier Langella -Standards-Version: 2010.12.01.1 +Standards-Version: 2012.10.01 Build-Depends: debhelper (>= 5), cmake (>= 2), libexpat1-dev (>=2.0.1) Homepage: http://www.thegpm.org/TANDEM/ diff -Nru xtandem-cyclone-2011.12.01.1/debian/copyright xtandem-cyclone-2012.10.01/debian/copyright --- xtandem-cyclone-2011.12.01.1/debian/copyright 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/debian/copyright 2012-11-08 14:09:42.000000000 +0000 @@ -6,8 +6,29 @@ Files: debian/* Copyright: © 2010 Olivier Langella -License: GPL - +License: GPL-3+ + This program is free software; you can redistribute it + and/or modify it under the terms of the GNU General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later + version. + . + This program is distributed in the hope that it will be + useful, but WITHOUT ANY WARRANTY; without even the implied + warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the GNU General Public License for more + details. + . + You should have received a copy of the GNU General Public + License along with this package; if not, write to the Free + Software Foundation, Inc., 51 Franklin St, Fifth Floor, + Boston, MA 02110-1301 USA + . + On Debian systems, the full text of the GNU General Public + License version 3 can be found in the file + `/usr/share/common-licenses/GPL-3'. + Files: * Copyright: Copyright © 2004, The Global Proteome Machine Organization License: Artistic License + /usr/share/common-licenses/Artistic \ No newline at end of file diff -Nru xtandem-cyclone-2011.12.01.1/readme xtandem-cyclone-2012.10.01/readme --- xtandem-cyclone-2011.12.01.1/readme 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/readme 2012-11-08 14:09:42.000000000 +0000 @@ -14,7 +14,7 @@ Details of the latest version can be found on the X! tandem project page under http://www.thegpm.org. - This version is the first release the CYCLONE edition (version 2011.12.01.1). + This version is the first release the CYCLONE edition (version 2012.10.01.1). Documentation diff -Nru xtandem-cyclone-2011.12.01.1/src/loadmspectrum.cpp xtandem-cyclone-2012.10.01/src/loadmspectrum.cpp --- xtandem-cyclone-2011.12.01.1/src/loadmspectrum.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/loadmspectrum.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -465,6 +465,19 @@ specCurrent.m_strDescription += strTemp.substr(tEquals+1,tSize-tEquals+1); specCurrent.m_strDescription += " "; } +// The RTINSECONDS information was added at the request of Bas Jansen. +// The inclusion of other, similar extension to MGF can be made by +// following the same pattern: add an "else if" handler and +// add the information to the m_strDescription line +// DO NOT ADD \r or \n characters to this string +// NOTE: all lines starting with hash tag (#) characters are already +// automatically included in this string (see above). + else if(strTemp.find("RTINSECONDS=") != strTemp.npos) { + specCurrent.m_strRt = strTemp.substr(tEquals+1,tSize-tEquals+1); + specCurrent.m_strDescription += "RTINSECONDS="; + specCurrent.m_strDescription += strTemp.substr(tEquals+1,tSize-tEquals+1); + specCurrent.m_strDescription += " "; + } else if(strTemp.find("CHARGE=") != strTemp.npos) { strTemp = strTemp.substr(tEquals+1,tSize-tEquals+1); specCurrent.m_fZ = (float)atof(strTemp.c_str()); diff -Nru xtandem-cyclone-2011.12.01.1/src/masscalc.cpp xtandem-cyclone-2012.10.01/src/masscalc.cpp --- xtandem-cyclone-2011.12.01.1/src/masscalc.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/masscalc.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -144,6 +144,7 @@ addMass("H", 1.007825035, 1.00794); addMass("O", 15.99491463, 15.9994); addMass("N", 14.003074, 14.0067); + addMass("Se", 79.916520, 78.96); addMass("C", 12.0, 12.0107); addMass("S", 31.9720707, 32.065); addMass("P", 30.973762, 30.973761); diff -Nru xtandem-cyclone-2011.12.01.1/src/mpmods.cpp xtandem-cyclone-2012.10.01/src/mpmods.cpp --- xtandem-cyclone-2011.12.01.1/src/mpmods.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/mpmods.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -192,13 +192,25 @@ strKey = "scoring, maximum missed cleavage sites"; m_pProcess->m_xmlValues.get(strKey,strValue); m_pProcess->m_tMissedCleaves = atoi(strValue.c_str()); - if(m_pProcess->m_tMissedCleaves < 5) { + if(m_pProcess->m_Cleave.m_lType == 0x01 && m_pProcess->m_tMissedCleaves < 10) { + m_pProcess->m_tMissedCleaves = 50; + } + else if(m_pProcess->m_tMissedCleaves < 5) { m_pProcess->m_tMissedCleaves = 5; } strKey = "refine, cleavage semi"; m_pProcess->m_xmlValues.get(strKey,strValue); if(strValue == "yes") { m_pProcess->m_semiState.activate(true); + m_pProcess->m_semiState.type(0); + } + else if(strValue == "amino") { + m_pProcess->m_semiState.activate(true); + m_pProcess->m_semiState.type(2); + } + else if(strValue == "carboxy") { + m_pProcess->m_semiState.activate(true); + m_pProcess->m_semiState.type(1); } else { m_pProcess->m_semiState.activate(false); diff -Nru xtandem-cyclone-2011.12.01.1/src/mprocess.cpp xtandem-cyclone-2012.10.01/src/mprocess.cpp --- xtandem-cyclone-2011.12.01.1/src/mprocess.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/mprocess.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -417,6 +417,7 @@ long lCount = 0; bool bIonCheck = false; bool bMassCheck = false; + /* * score each mspectrum identified as a candidate in the m_pScore->m_State object */ @@ -501,6 +502,13 @@ * if the same score has been recorded for another peptide in the same msequence object, * add a domain to that object, but do not update the entire object */ + unsigned char ucM = 0; + if(_m < 0) { + ucM = 0; + } + else { + ucM = (unsigned char)_m; + } if(bMassCheck && bIonCheck && fHyper == m_vSpectra[a].m_fHyper && m_vSpectra[a].m_tCurrentSequence == _s.m_tUid) { vector vAa; mdomain domValue; @@ -521,7 +529,7 @@ domValue.m_dDelta = m_vSpectra[a].m_dMH - m_pScore->seq_mh(); domValue.m_lE = (int)_w; domValue.m_lS = (int)_v; - domValue.m_lMissedCleaves = (int)_m; + domValue.m_lMissedCleaves = ucM; domValue.m_bUn = m_bUn; unsigned char lType = 1; unsigned long sType = 1; @@ -569,7 +577,7 @@ domValue.m_dDelta = m_vSpectra[a].m_dMH - m_pScore->seq_mh(); domValue.m_lE = (int)_w; domValue.m_lS = (int)_v; - domValue.m_lMissedCleaves = (unsigned char)_m; + domValue.m_lMissedCleaves = ucM; domValue.m_bUn = m_bUn; unsigned char lType = 1; unsigned long sType = 1; @@ -639,7 +647,7 @@ domValue.m_fHyper = fHyper; domValue.m_lE = (int)_w; domValue.m_lS = (int)_v; - domValue.m_lMissedCleaves = (unsigned char)_m; + domValue.m_lMissedCleaves = ucM; domValue.m_dMH = m_pScore->seq_mh(); // m_fDelta was changed to m_dDelta in 2006.02.01 domValue.m_dDelta = m_vSpectra[a].m_dMH - m_pScore->seq_mh(); @@ -1567,6 +1575,15 @@ m_xmlValues.get(strKey,strValue); if(strValue == "yes") { m_semiState.activate(true); + m_semiState.type(0); + } + else if(strValue == "amino") { + m_semiState.activate(true); + m_semiState.type(2); + } + else if(strValue == "carboxy") { + m_semiState.activate(true); + m_semiState.type(1); } strKey = "scoring, minimum ion count"; m_xmlValues.get(strKey,strValue); @@ -2989,11 +3006,15 @@ m_tPeptideCount += m_pScore->m_State.m_lEqualsS; m_bPermute = false; m_bPermuteHigh = false; - create_score(_s,lStart,lEnd,lMissedCleaves - 1,true); + if(m_semiState.ok()) { + create_score(_s,lStart,lEnd,lMissedCleaves - 1,true); + } if(m_bPermute && m_bCrcCheck || m_bPermuteHigh) { m_pScore->reset_permute(); while(m_pScore->permute()) { - create_score(_s,lStart,lEnd,lMissedCleaves - 1,false); + if(m_semiState.ok()) { + create_score(_s,lStart,lEnd,lMissedCleaves - 1,false); + } } } } @@ -3588,7 +3609,7 @@ * report an error if no DTA information was found: there are no more default file types to check */ cout << "\nFailed to read spectrum file: " << strValue.c_str() << "\n"; - cout << "Most likely: an unsupported data file type:\nUse dta, pkl, mgf, mzdata (v.1.05) or mxzml (v.2.0) files ONLY! (4)\n\n"; + cout << "Most likely: an unsupported data file type:\nUse cmn, dta, pkl, mgf, mzData (v.1.05) oe mzXML (v.2.0) files only! (4)\n\n"; cout.flush(); m_prcLog.log("error loading spectrum file 4"); return false; diff -Nru xtandem-cyclone-2011.12.01.1/src/mscore.h xtandem-cyclone-2012.10.01/src/mscore.h --- xtandem-cyclone-2011.12.01.1/src/mscore.h 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/mscore.h 2012-11-08 14:09:42.000000000 +0000 @@ -432,6 +432,7 @@ } mscore_error; // enum for referencing information about ion mass measurement accuracy. protected: + char *m_pSeq; // the current sequence double m_dWE; bool m_bPhosphoBias; bool m_bUsePam; // true if the peptide will be checked for all possible point mutations @@ -451,7 +452,7 @@ float *m_pfSeq; // residue masses corresponding to the current sequence in daltons unsigned long *m_plAA; unsigned long *m_plSeq; // residue masses corresponding to the current sequence, converted into integers - char *m_pSeq; // the current sequence +// char *m_pSeq; // the current sequence size_t m_lId; // id of the current spectrum size_t m_tSeqPos; // zero-based absolute position of the current peptide in the protein sequence long m_lDetails; diff -Nru xtandem-cyclone-2011.12.01.1/src/msemistate.h xtandem-cyclone-2012.10.01/src/msemistate.h --- xtandem-cyclone-2011.12.01.1/src/msemistate.h 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/msemistate.h 2012-11-08 14:09:42.000000000 +0000 @@ -166,6 +166,7 @@ m_bStart = true; m_lLimit = 5; m_bActive = false; + m_iType = 0; } virtual ~msemistate(void) { } @@ -174,6 +175,14 @@ m_bActive = _b; return m_bActive; } +// type = 0 for cleavage from both terminii +// type = 1 for cleavage from the carboxy terminus only +// type = 2 for cleavage from the amino terminus only + + int type(const int _t) { + m_iType = _t; + return m_iType; + } long limit(const long _l) { if(_l >= 0) { @@ -195,6 +204,19 @@ m_bStart = true; return true; } + + bool ok(void) { + if(m_iType == 0) { + return true; + } + else if(m_iType == 1 && m_bStart) { + return true; + } + else if(m_iType == 2 && !m_bStart) { + return true; + } + return false; + } bool next(long &_s,long &_e) { if(!m_bActive) { @@ -235,6 +257,7 @@ bool m_bStart; long m_lLimit; long m_lLastCleave; + int m_iType; //0 - cleave both ways, 1 - cleave from the amino terminus, 2 - cleave from the carboxy terminus }; #endif diff -Nru xtandem-cyclone-2011.12.01.1/src/msequtilities.cpp xtandem-cyclone-2012.10.01/src/msequtilities.cpp --- xtandem-cyclone-2011.12.01.1/src/msequtilities.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/msequtilities.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -672,7 +672,7 @@ pdValue['t'] = pdValue['T'] = m_calc.calcMass("C4H7O2N"); pValue['t'] = pValue['T'] = (float)pdValue['T']; - pdValue['u'] = pdValue['U'] = 150.953640; // Why? + pdValue['u'] = pdValue['U'] = m_calc.calcMass("C3H5ONSe"); // selenocysteine pValue['u'] = pValue['U'] = (float)pdValue['U']; pdValue['v'] = pdValue['V'] = m_calc.calcMass("C5H9ON"); @@ -759,7 +759,7 @@ pdValue['t'] = pdValue['T'] = 101.1051; pValue['t'] = pValue['T'] = (float)pdValue['T']; - pdValue['u'] = pdValue['U'] = 0.0; // Why? + pdValue['u'] = pdValue['U'] = 103.1388 - 32.066 + 78.96; // selenocysteine pValue['u'] = pValue['U'] = (float)pdValue['U']; pdValue['v'] = pdValue['V'] = 99.1326; @@ -777,7 +777,14 @@ pdValue['z'] = pdValue['Z'] = 128.1307; // Same as Q pValue['z'] = pValue['Z'] = (float)pdValue['Z']; } - +/* char i = 'A'; + char *pV = new char[256]; + while(i != 'Z') { + sprintf(pV,"%c = %.6lf\n",i,pdValue[i]); + cout << pV; + i++; + } + delete pV; */ return true; } /* diff -Nru xtandem-cyclone-2011.12.01.1/src/p3mprocess.cpp xtandem-cyclone-2012.10.01/src/p3mprocess.cpp --- xtandem-cyclone-2011.12.01.1/src/p3mprocess.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/p3mprocess.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -547,6 +547,13 @@ * if the same score has been recorded for another peptide in the same msequence object, * add a domain to that object, but do not update the entire object */ + unsigned char ucM = 0; + if(_m < 0) { + ucM = 0; + } + else { + ucM = (unsigned char)_m; + } if(bMassCheck && bIonCheck && fHyper == m_vSpectra[a].m_fHyper && m_vSpectra[a].m_tCurrentSequence == _s.m_tUid) { vector vAa; mdomain domValue; @@ -567,7 +574,7 @@ domValue.m_dDelta = m_vSpectra[a].m_dMH - m_pScore->seq_mh(); domValue.m_lE = (int)_w; domValue.m_lS = (int)_v; - domValue.m_lMissedCleaves = (unsigned char)_m; + domValue.m_lMissedCleaves = ucM; domValue.m_bUn = m_bUn; unsigned char lType = 1; unsigned long sType = 1; @@ -615,7 +622,7 @@ domValue.m_dDelta = m_vSpectra[a].m_dMH - m_pScore->seq_mh(); domValue.m_lE = (int)_w; domValue.m_lS = (int)_v; - domValue.m_lMissedCleaves = (unsigned char)_m; + domValue.m_lMissedCleaves = ucM; domValue.m_bUn = m_bUn; unsigned char lType = 1; unsigned long sType = 1; @@ -685,7 +692,7 @@ domValue.m_fHyper = fHyper; domValue.m_lE = (int)_w; domValue.m_lS = (int)_v; - domValue.m_lMissedCleaves = (unsigned char)_m; + domValue.m_lMissedCleaves = ucM; domValue.m_dMH = m_pScore->seq_mh(); // m_fDelta was changed to m_dDelta in 2006.02.01 domValue.m_dDelta = m_vSpectra[a].m_dMH - m_pScore->seq_mh(); diff -Nru xtandem-cyclone-2011.12.01.1/src/release_notes.html xtandem-cyclone-2012.10.01/src/release_notes.html --- xtandem-cyclone-2011.12.01.1/src/release_notes.html 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/release_notes.html 2012-11-08 14:09:42.000000000 +0000 @@ -33,10 +33,42 @@ + + + + + + + + + + +
Latest release: CYCLONE (2012.10.01)
This release contains several bug fixes as well + as some new features associated with peptide cleavage patterns. +
    +
  1. The parameters " protein, cleavage semi" and "refine, cleavage semi" now have four possible values: +
      +
    • "amino" - simulates cleavage by an aminopeptidase
    • +
    • "carboxy" - simulates cleavage by a carboxypeptidase
    • +
    • "yes" - simulates cleavage by both amino- and carboxy-peptidase
    • +
    • "no" - semi-type cleavage not used (default)
    • +
    +
  2. +
  3. A bug that could produce negative values for "missed_cleavage" has been + corrected. +
  4. +
  5. The RTINSECONDS parameter in MGF files is now handled correctly.
  6. +
  7. A mechanism for specifying protein-specific modifications that are to be + applied in all rounds of analysis has been added.
  8. +
+
+ + + - +
Latest release: CYCLONE (2011.12.01)CYCLONE (2011.12.01)
This is the second release in the CYCLONE project. There are @@ -61,10 +93,6 @@
- - - - diff -Nru xtandem-cyclone-2011.12.01.1/src/saxhandler.cpp xtandem-cyclone-2012.10.01/src/saxhandler.cpp --- xtandem-cyclone-2011.12.01.1/src/saxhandler.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/saxhandler.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -199,7 +199,7 @@ FILE* pfIn = fopen(m_strFileName.data(), "r"); if (pfIn == NULL) { - cerr << "Failed to open input file '" << m_strFileName << "'.\n"; + cerr << "Input file '" << m_strFileName << "' not available.\n"; return false; } char buffer[8192]; diff -Nru xtandem-cyclone-2011.12.01.1/src/saxsaphandler.cpp xtandem-cyclone-2012.10.01/src/saxsaphandler.cpp --- xtandem-cyclone-2011.12.01.1/src/saxsaphandler.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/saxsaphandler.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -159,14 +159,21 @@ m_strId = getAttrValue("id", attr); } else if(isElement("aa", el)){ + char res = '\0'; + char mut = '\0'; m_bAa = true; string strValue; strValue = getAttrValue("at",attr); m_pairItem.first = atoi(strValue.c_str()); strValue = getAttrValue("mut",attr); m_pairItem.second.first = strValue[0]; + mut = strValue[0]; m_pairItem.second.second = getAttrValue("id",attr); - m_mapItem.insert(m_pairItem); + strValue = getAttrValue("type",attr); + res = strValue[0]; + if(checkMut(res,mut)) { + m_mapItem.insert(m_pairItem); + } } } @@ -195,3 +202,34 @@ } } +bool SAXSapHandler::checkMut(char _r,char _m) +{ + if(_r == 'K' && (_m == 'Q' || _m == 'E')) { + return false; + } + if(_r == 'Q' && (_m == 'K' || _m == 'E')) { + return false; + } + if(_r == 'E' && (_m == 'K' || _m == 'Q')) { + return false; + } + if(_r == 'N' && _m == 'D') { + return false; + } + if(_r == 'D' && _m == 'N') { + return false; + } + if(_r == 'I' && _m == 'L') { + return false; + } + if(_r == 'L' && _m == 'I') { + return false; + } + if(_r == 'F' && _m == 'M') { + return false; + } + if(_r == 'M' && _m == 'F') { + return false; + } + return true; +} diff -Nru xtandem-cyclone-2011.12.01.1/src/saxsaphandler.h xtandem-cyclone-2012.10.01/src/saxsaphandler.h --- xtandem-cyclone-2011.12.01.1/src/saxsaphandler.h 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/saxsaphandler.h 2012-11-08 14:09:42.000000000 +0000 @@ -187,6 +187,7 @@ multimap m_mapItem; pair m_pairItem; string m_strId; + bool checkMut(char _r,char _m); }; #endif //SAXSAPHANDLER_H diff -Nru xtandem-cyclone-2011.12.01.1/src/saxtaxhandler.cpp xtandem-cyclone-2012.10.01/src/saxtaxhandler.cpp --- xtandem-cyclone-2011.12.01.1/src/saxtaxhandler.cpp 2012-02-21 16:14:02.000000000 +0000 +++ xtandem-cyclone-2012.10.01/src/saxtaxhandler.cpp 2012-11-08 14:09:42.000000000 +0000 @@ -185,31 +185,8 @@ /* * try to open the file and bail out if it isn't available */ - ifstream ifXml; - - ifXml.open(m_strPath.c_str()); - if(ifXml.fail()) { - return false; - } m_strType = _y; //check the open file to see if it is a taxonomy file - const long lSize = 1024*1024-1; - char *pLine = new char[lSize+1]; - bool bReturn = false; - size_t tCount = 0; - ifXml.getline(pLine,lSize); - if(strstr(pLine,"")) { - while(!bReturn && ifXml.good() && !ifXml.eof() && tCount < 10000) { - ifXml.getline(pLine,lSize); - tCount++; - if(strstr(pLine," bMap; typedef pair prSap; -#define VERSION "CYCLONE (2011.12.01.1)" +#define VERSION "CYCLONE (2012.10.01.1)"
CYCLONE (2010.12.01)