|
From: <ds...@us...> - 2010-08-11 00:29:27
|
Revision: 5104
http://sashimi.svn.sourceforge.net/sashimi/?rev=5104&view=rev
Author: dshteyn
Date: 2010-08-11 00:29:21 +0000 (Wed, 11 Aug 2010)
Log Message:
-----------
Error out rather than crash when sample_enzyme tag is absent.
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cxx
Modified: trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cxx
===================================================================
--- trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cxx 2010-08-10 23:44:51 UTC (rev 5103)
+++ trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cxx 2010-08-11 00:29:21 UTC (rev 5104)
@@ -352,12 +352,13 @@
}
else {
//already listed
- delete [] nextenz;
+ delete [] nextenz;
enzyme_index_ = enzIdx;
if(use_default_min_ntt_)
min_num_tol_term_ = 0;
}
}
+
if(enzyme_data) {
if(tag->isEnd() && ! strcmp(tag->getName(), "sample_enzyme")) {
(*enzyme_digestions_)[enzyme_index_]->fixSpecificity();
@@ -366,7 +367,7 @@
else if(strcmp(tag->getName(), "sample_enzyme")) {
(*enzyme_digestions_)[enzyme_index_]->enterSpecificity(tag);
}
-
+
}
@@ -757,6 +758,10 @@
else
next = result[nextlen]; // next aa
+ if (enzyme_digestions_->size() == 0) {
+ cerr << "ERROR: <sample_enzyme> tag was not found in the pep.xml file." << endl;
+ exit(1);
+ }
int new_ntt = (*enzyme_digestions_)[((interact_data_line_t *)
uniq_interact_data[this_index])->enzyme_ind]->
@@ -1080,7 +1085,7 @@
// interact_data_line->min_num_enz_term = min_num_tol_term_;
//HENRY: Check the presence of num_tol_term before doing this -- otherwise
// it seg-faults for some OMSSA files.
- if (hit_tag->getAttributeValue("num_tol_term")) {
+ if (hit_tag->getAttributeValue("num_tol_term") && use_default_min_ntt_) {
interact_data_line->min_num_enz_term = atoi( hit_tag->getAttributeValue("num_tol_term") );
} else {
interact_data_line->min_num_enz_term = min_num_tol_term_;
@@ -1561,7 +1566,7 @@
char* next_descr = new char[strlen(interact_line->db_ref)+strlen(interact_line->db_ref) + strlen(database)+100];
sprintf(next_descr, "originally identified as %s in database %s", interact_line->db_ref, database);
search_hit->setAttributeValue("protein_descr", (XMLEscape(next_descr)).c_str());
- delete next_descr;
+ delete [] next_descr;
}
tags->insertAtEnd(search_hit);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|