@@ -194,21 +194,21 @@ public static ProteinCluster mergeClusters(ProteinCluster cluster, ProteinCluste
194194
195195 public static CensusChroParser getCensusChroParser (File fastaFile , File inputFileFolder , String [] fileNames ,
196196 Map <QuantCondition , QuantificationLabel > labelsByConditions , char [] enzymeArray , int missedCleavages ,
197- File uniprotReleasesFolder , String uniprotVersion , String decoyRegexp , boolean ignoreNotFoundPeptidesInDB ,
198- boolean distinguishModifiedPeptides ) throws FileNotFoundException {
197+ boolean semiCleavage , File uniprotReleasesFolder , String uniprotVersion , String decoyRegexp ,
198+ boolean ignoreNotFoundPeptidesInDB , boolean distinguishModifiedPeptides ) throws FileNotFoundException {
199199 List <Map <QuantCondition , QuantificationLabel >> list = new ArrayList <Map <QuantCondition , QuantificationLabel >>();
200200 for (int i = 0 ; i < fileNames .length ; i ++) {
201201 list .add (labelsByConditions );
202202 }
203203 return getCensusChroParser (fastaFile , inputFileFolder , fileNames , list , enzymeArray , missedCleavages ,
204- uniprotReleasesFolder , uniprotVersion , decoyRegexp , ignoreNotFoundPeptidesInDB ,
204+ semiCleavage , uniprotReleasesFolder , uniprotVersion , decoyRegexp , ignoreNotFoundPeptidesInDB ,
205205 distinguishModifiedPeptides );
206206 }
207207
208208 public static CensusChroParser getCensusChroParser (File fastaFile , File inputFilefolder , String [] fileNames ,
209209 List <Map <QuantCondition , QuantificationLabel >> labelsByConditions , char [] enzymeArray , int missedCleavages ,
210- File uniprotReleasesFolder , String uniprotVersion , String decoyRegexp , boolean ignoreNotFoundPeptidesInDB ,
211- boolean distinguishModifiedPeptides ) throws FileNotFoundException {
210+ boolean semiCleavage , File uniprotReleasesFolder , String uniprotVersion , String decoyRegexp ,
211+ boolean ignoreNotFoundPeptidesInDB , boolean distinguishModifiedPeptides ) throws FileNotFoundException {
212212 // Set parser (6 files) to peptides
213213 List <RemoteSSHFileReference > xmlFiles = new ArrayList <RemoteSSHFileReference >();
214214 for (String fileName : fileNames ) {
@@ -230,7 +230,8 @@ public static CensusChroParser getCensusChroParser(File fastaFile, File inputFil
230230 parser .addIonExclusion (IonSerieType .Y , 1 );
231231 parser .setDecoyPattern (decoyRegexp );
232232 parser .setIgnoreNotFoundPeptidesInDB (ignoreNotFoundPeptidesInDB );
233- final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages );
233+ final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages ,
234+ semiCleavage );
234235 parser .setDbIndex (fastaDBIndex );
235236 parser .enableProteinMergingBySecondaryAccessions (
236237 getUniprotProteinLocalRetrieverByFolder (uniprotReleasesFolder ), uniprotVersion );
@@ -242,8 +243,9 @@ public static CensusChroParser getCensusChroParser(File fastaFile, File inputFil
242243 }
243244
244245 private static DTASelectParser getDTASelectParser (File fastaFile , File inputFilefolder , String [] fileNames ,
245- char [] enzymeArray , int missedCleavages , File uniprotReleasesFolder , String uniprotVersion ,
246- String decoyRegexp , boolean ignoreNotFoundPeptidesInDB ) throws FileNotFoundException {
246+ char [] enzymeArray , int missedCleavages , boolean semiCleavage , File uniprotReleasesFolder ,
247+ String uniprotVersion , String decoyRegexp , boolean ignoreNotFoundPeptidesInDB )
248+ throws FileNotFoundException {
247249 // Set parser (6 files) to peptides
248250 List <RemoteSSHFileReference > xmlFiles = new ArrayList <RemoteSSHFileReference >();
249251 for (String fileName : fileNames ) {
@@ -263,7 +265,8 @@ private static DTASelectParser getDTASelectParser(File fastaFile, File inputFile
263265
264266 parser .setDecoyPattern (decoyRegexp );
265267 parser .setIgnoreNotFoundPeptidesInDB (ignoreNotFoundPeptidesInDB );
266- final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages );
268+ final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages ,
269+ semiCleavage );
267270 parser .setDbIndex (fastaDBIndex );
268271 parser .enableProteinMergingBySecondaryAccessions (
269272 getUniprotProteinLocalRetrieverByFolder (uniprotReleasesFolder ), uniprotVersion );
@@ -284,9 +287,9 @@ private static String getFileNamesKey(List<RemoteSSHFileReference> xmlFiles) {
284287
285288 private static CensusOutParser getCensusOutParser (File fastaFile , File inputFilefolder , String [] fileNames ,
286289 List <Map <QuantCondition , QuantificationLabel >> labelsByConditions , char [] enzymeArray , int missedCleavages ,
287- File uniprotReleasesFolder , String uniprotVersion , String decoyRegexp , boolean ignoreNotFoundPeptidesInDB ,
288- boolean onlyOneSpectrumPerChromatographicPeakAndPerSaltStep , boolean skipSingletons ,
289- boolean distinguishModifiedPeptides ) throws FileNotFoundException {
290+ boolean semiCleavage , File uniprotReleasesFolder , String uniprotVersion , String decoyRegexp ,
291+ boolean ignoreNotFoundPeptidesInDB , boolean onlyOneSpectrumPerChromatographicPeakAndPerSaltStep ,
292+ boolean skipSingletons , boolean distinguishModifiedPeptides ) throws FileNotFoundException {
290293 // Set parser (6 files) to peptides
291294 List <RemoteSSHFileReference > xmlFiles = new ArrayList <RemoteSSHFileReference >();
292295
@@ -309,7 +312,8 @@ private static CensusOutParser getCensusOutParser(File fastaFile, File inputFile
309312 parser .setOnlyOneSpectrumPerChromatographicPeakAndPerSaltStep (
310313 onlyOneSpectrumPerChromatographicPeakAndPerSaltStep );
311314 parser .setSkipSingletons (skipSingletons );
312- final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages );
315+ final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages ,
316+ semiCleavage );
313317 parser .setDbIndex (fastaDBIndex );
314318 parser .enableProteinMergingBySecondaryAccessions (
315319 getUniprotProteinLocalRetrieverByFolder (uniprotReleasesFolder ), uniprotVersion );
@@ -322,9 +326,9 @@ private static CensusOutParser getCensusOutParser(File fastaFile, File inputFile
322326
323327 private static SeparatedValuesParser getSeparatedValuesParser (File fastaFile , File inputFilefolder ,
324328 String [] fileNames , String separator , List <Map <QuantCondition , QuantificationLabel >> labelsByConditions ,
325- char [] enzymeArray , int missedCleavages , File uniprotReleasesFolder , String uniprotVersion ,
326- String decoyRegexp , boolean ignoreNotFoundPeptidesInDB , boolean distinguishModifiedPeptides )
327- throws FileNotFoundException {
329+ char [] enzymeArray , int missedCleavages , boolean semiCleavage , File uniprotReleasesFolder ,
330+ String uniprotVersion , String decoyRegexp , boolean ignoreNotFoundPeptidesInDB ,
331+ boolean distinguishModifiedPeptides ) throws FileNotFoundException {
328332 // Set parser (6 files) to peptides
329333 List <RemoteSSHFileReference > xmlFiles = new ArrayList <RemoteSSHFileReference >();
330334
@@ -344,7 +348,8 @@ private static SeparatedValuesParser getSeparatedValuesParser(File fastaFile, Fi
344348 try {
345349 parser .setDecoyPattern (decoyRegexp );
346350 parser .setIgnoreNotFoundPeptidesInDB (ignoreNotFoundPeptidesInDB );
347- final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages );
351+ final DBIndexInterface fastaDBIndex = getFastaDBIndex (fastaFile , enzymeArray , missedCleavages ,
352+ semiCleavage );
348353 parser .setDbIndex (fastaDBIndex );
349354 parser .enableProteinMergingBySecondaryAccessions (
350355 getUniprotProteinLocalRetrieverByFolder (uniprotReleasesFolder ), uniprotVersion );
@@ -364,18 +369,20 @@ private static void addDTASelectParserToStaticMap(String fileNamesKey, DTASelect
364369 log .info (dtaSelectParsersByFileNamesKey .size () + " parsers stored." );
365370 }
366371
367- private static DBIndexInterface getFastaDBIndex (File fastaFile , char [] enzymeArray , int missedCleavages ) {
372+ private static DBIndexInterface getFastaDBIndex (File fastaFile , char [] enzymeArray , int missedCleavages ,
373+ boolean semicleavage ) {
368374 if (fastaFile != null ) {
369375
370376 DBIndexSearchParams defaultDBIndexParams = DBIndexInterface .getDefaultDBIndexParams (fastaFile );
371377 String fastaIndexKey = IndexUtil .createFullIndexFileName (defaultDBIndexParams );
372378 if (indexByFastaIndexKey .containsKey (fastaIndexKey )) {
373379 return indexByFastaIndexKey .get (fastaIndexKey );
374380 }
375- ((DBIndexSearchParamsImpl ) defaultDBIndexParams ).setEnzymeArr (enzymeArray , missedCleavages , false );
381+ ((DBIndexSearchParamsImpl ) defaultDBIndexParams ).setEnzymeArr (enzymeArray , missedCleavages , semicleavage );
376382 ((DBIndexSearchParamsImpl ) defaultDBIndexParams ).setEnzymeOffset (0 );
377383 ((DBIndexSearchParamsImpl ) defaultDBIndexParams ).setEnzymeNocutResidues ("" );
378384 ((DBIndexSearchParamsImpl ) defaultDBIndexParams ).setH2OPlusProtonAdded (true );
385+
379386 DBIndexInterface dbIndex = new DBIndexInterface (defaultDBIndexParams );
380387 indexByFastaIndexKey .put (fastaIndexKey , dbIndex );
381388 return dbIndex ;
@@ -1658,8 +1665,9 @@ public static QuantParser getQuantParser(ProteinClusterQuantParameters params,
16581665 } else {
16591666 return PCQUtils .getCensusChroParser (params .getFastaFile (), params .getInputFileFolder (),
16601667 inputFileNamesArray , labelsByConditionsList , params .getEnzymeArray (),
1661- params .getMissedCleavages (), params .getUniprotReleasesFolder (), params .getUniprotVersion (),
1662- params .getDecoyRegexp (), params .isIgnoreNotFoundPeptidesInDB (), !params .isIgnorePTMs ());
1668+ params .getMissedCleavages (), params .isSemiCleavage (), params .getUniprotReleasesFolder (),
1669+ params .getUniprotVersion (), params .getDecoyRegexp (), params .isIgnoreNotFoundPeptidesInDB (),
1670+ !params .isIgnorePTMs ());
16631671 }
16641672 } else if (params .getInputType () == AnalysisInputType .CENSUS_OUT ) {
16651673 if (params .getMongoDBURI () != null ) {
@@ -1675,8 +1683,9 @@ public static QuantParser getQuantParser(ProteinClusterQuantParameters params,
16751683 } else {
16761684 final CensusOutParser parser = PCQUtils .getCensusOutParser (params .getFastaFile (),
16771685 params .getInputFileFolder (), inputFileNamesArray , labelsByConditionsList ,
1678- params .getEnzymeArray (), params .getMissedCleavages (), params .getUniprotReleasesFolder (),
1679- params .getUniprotVersion (), params .getDecoyRegexp (), params .isIgnoreNotFoundPeptidesInDB (),
1686+ params .getEnzymeArray (), params .getMissedCleavages (), params .isSemiCleavage (),
1687+ params .getUniprotReleasesFolder (), params .getUniprotVersion (), params .getDecoyRegexp (),
1688+ params .isIgnoreNotFoundPeptidesInDB (),
16801689 params .isOnlyOneSpectrumPerChromatographicPeakAndPerSaltStep (), params .isSkipSingletons (),
16811690 !params .isIgnorePTMs ());
16821691
@@ -1695,9 +1704,9 @@ public static QuantParser getQuantParser(ProteinClusterQuantParameters params,
16951704 } else {
16961705 final SeparatedValuesParser parser = PCQUtils .getSeparatedValuesParser (params .getFastaFile (),
16971706 params .getInputFileFolder (), inputFileNamesArray , params .getSeparator (), labelsByConditionsList ,
1698- params .getEnzymeArray (), params .getMissedCleavages (), params .getUniprotReleasesFolder (),
1699- params .getUniprotVersion (), params .getDecoyRegexp (), params .isIgnoreNotFoundPeptidesInDB (),
1700- !params .isIgnorePTMs ());
1707+ params .getEnzymeArray (), params .getMissedCleavages (), params .isSemiCleavage (),
1708+ params .getUniprotReleasesFolder (), params .getUniprotVersion (), params .getDecoyRegexp (),
1709+ params . isIgnoreNotFoundPeptidesInDB (), !params .isIgnorePTMs ());
17011710
17021711 return parser ;
17031712 }
@@ -1725,8 +1734,9 @@ public static DTASelectParser getDTASelectParser(ProteinClusterQuantParameters p
17251734 params .getDecoyRegexp (), params .isIgnoreNotFoundPeptidesInDB ());
17261735 } else {
17271736 return getDTASelectParser (params .getFastaFile (), params .getInputFileFolder (), inputFileNamesArray ,
1728- params .getEnzymeArray (), params .getMissedCleavages (), params .getUniprotReleasesFolder (),
1729- params .getUniprotVersion (), params .getDecoyRegexp (), params .isIgnoreNotFoundPeptidesInDB ());
1737+ params .getEnzymeArray (), params .getMissedCleavages (), params .isSemiCleavage (),
1738+ params .getUniprotReleasesFolder (), params .getUniprotVersion (), params .getDecoyRegexp (),
1739+ params .isIgnoreNotFoundPeptidesInDB ());
17301740 }
17311741 }
17321742
0 commit comments