Skip to content

Commit

Permalink
Merge pull request crux-toolkit#671 from crux-toolkit/tide-lite
Browse files Browse the repository at this point in the history
Added tide-lite version
  • Loading branch information
kfattila authored Oct 18, 2024
2 parents a532fee + b5f8f38 commit 1efee64
Show file tree
Hide file tree
Showing 140 changed files with 123,462 additions and 43,662 deletions.
7 changes: 7 additions & 0 deletions doc/user/release-notes.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,9 @@ <h2>Release notes for Crux</h2>
<h3>Version 4.2</h3> April 6, 2024

<h4>Major changes</h4>
<li>18 Oct 2024: speeded up tide-search, restuctured its code.
<li>18 Oct 2024: Added support to produce output in mztab format.
<li>18 Oct 2024: tide-index supports unimod codes.
<li>6 April 2024: Updated to use Percolator commit d0d48b5.
<li>11 March 2024: Updated to use ProteoWizard 3.0.24044.fd6604. This required shifting Crux and
dependencies to the C++14 standard and disabling the C++11 ABI. This fixed
Expand All @@ -65,6 +68,10 @@ <h4>Major changes</h4>
</li>
<h4>Minor changes</h4>
<ul>
<li>18 Oct 2024: terminal amino acids can be modified by terminal modifications and resiudal mods.
<li>18 Oct 2024: tide-search reports tailor scores, and statistics about b-y- ions.
<li>18 Oct 2024: tide-search runs only combined p-values.
<li>18 Oct 2024: non-used options removed from tide-search: --compute-sp, --file-column, --brief-output, --peptide-centric-search, --evidence-granularity, --use-tailor-calibration (it is automatically calculated), From tide-index:--keep-terminal-aminos.
<li>15 September 2024: Unify Sorting. Replace quick sort algorithms with std::sort</li>
<li>11 September 2024: Removed usage plot from Crux website home page.
<li>06 Auguest 2024: Minor changes to website support.</li>
Expand Down
24 changes: 18 additions & 6 deletions src/app/AssignConfidenceApplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {

MatchCollection* match_collection = parser.create(target_path, Params::GetString("protein-database"));
distinct_matches = match_collection->getHasDistinctMatches();
if (!match_collection->hasDecoyIndexes()) {
if (!match_collection->hasMulitpleDecoys()) {
avgTdc = false;
}

Expand All @@ -190,7 +190,7 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {
// in the list below.
if (score_type == INVALID_SCORER_TYPE) {
vector<SCORER_TYPE_T> scoreTypes;
scoreTypes.push_back(TAILOR_SCORE); //Added for tailor score calibration method by AKF
scoreTypes.push_back(TAILOR_SCORE);
scoreTypes.push_back(XCORR);
scoreTypes.push_back(EVALUE);
scoreTypes.push_back(BOTH_PVALUE);
Expand Down Expand Up @@ -240,6 +240,8 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {
target_matches->setScoredType(SP, match_collection->getScoredType(SP));
target_matches->setScoredType(BY_IONS_MATCHED, match_collection->getScoredType(BY_IONS_MATCHED));
target_matches->setScoredType(BY_IONS_TOTAL, match_collection->getScoredType(BY_IONS_TOTAL));
target_matches->setScoredType(BY_ION_FRACTION, match_collection->getScoredType(BY_ION_FRACTION));
target_matches->setScoredType(BY_ION_REPEAT_MATCH, match_collection->getScoredType(BY_ION_REPEAT_MATCH));
target_matches->setScoredType(SIDAK_ADJUSTED, sidak);
//Added for tailor score calibration method by AKF
target_matches->setScoredType(TAILOR_SCORE, match_collection->getScoredType(TAILOR_SCORE));
Expand All @@ -257,7 +259,7 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {
MatchCollection* temp_collection = parser.create(decoy_path, Params::GetString("protein-database"));
carp(CARP_INFO, "Found %d PSMs in %s.", temp_collection->getMatchTotal(), decoy_path.c_str());

if (temp_collection->hasDecoyIndexes()) {
if (temp_collection->hasMulitpleDecoys()) {
avgTdc = true;
MatchIterator* decoy_iter = new MatchIterator(temp_collection);
while (decoy_iter->hasNext()) {
Expand Down Expand Up @@ -524,6 +526,7 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {
cols_to_print[FILE_COL] = Params::GetBool("file-column");
cols_to_print[SCAN_COL] = true;
cols_to_print[CHARGE_COL] = true;
cols_to_print[RETENTION_TIME_COL] = true;
cols_to_print[SPECTRUM_PRECURSOR_MZ_COL] = true;
cols_to_print[SPECTRUM_NEUTRAL_MASS_COL] = true;
cols_to_print[PEPTIDE_MASS_COL] = true;
Expand Down Expand Up @@ -556,6 +559,8 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {
}
cols_to_print[BY_IONS_MATCHED_COL] = target_matches->getScoredType(BY_IONS_MATCHED);
cols_to_print[BY_IONS_TOTAL_COL] = target_matches->getScoredType(BY_IONS_TOTAL);
cols_to_print[BY_IONS_FRACTION_COL] = target_matches->getScoredType(BY_ION_FRACTION);
cols_to_print[BY_IONS_REPEAT_MATCH_COL] = target_matches->getScoredType(BY_ION_REPEAT_MATCH);

if (distinct_matches) {
cols_to_print[DISTINCT_MATCHES_SPECTRUM_COL] = true;
Expand Down Expand Up @@ -651,9 +656,16 @@ int AssignConfidenceApplication::main(const vector<string>& input_files) {
if (*i < 0.05) ++fdr5;
if (*i < 0.10) ++fdr10;
}
carp(CARP_INFO, "Number of PSMs at 1%% FDR = %d.", fdr1);
carp(CARP_INFO, "Number of PSMs at 5%% FDR = %d.", fdr5);
carp(CARP_INFO, "Number of PSMs at 10%% FDR = %d.", fdr10);
if (estimation_method == PEPTIDE_LEVEL_METHOD) {
carp(CARP_INFO, "Number of peptides at 1%% FDR = %d.", fdr1);
carp(CARP_INFO, "Number of peptides at 5%% FDR = %d.", fdr5);
carp(CARP_INFO, "Number of peptides at 10%% FDR = %d.", fdr10);
} else {
carp(CARP_INFO, "Number of PSMs at 1%% FDR = %d.", fdr1);
carp(CARP_INFO, "Number of PSMs at 5%% FDR = %d.", fdr5);
carp(CARP_INFO, "Number of PSMs at 10%% FDR = %d.", fdr10);

}

// Store p-values to q-values as a hash, and then assign them.
map<FLOAT_T, FLOAT_T> qvalue_hash = store_arrays_as_hash(target_scores, qvalues);
Expand Down
3 changes: 3 additions & 0 deletions src/app/CruxApplication.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -192,6 +192,9 @@ void CruxApplication::initializeParams(
for (map<string, string>::const_iterator options_index = options.begin(); options_index != options.end(); options_index++) {
carp(CARP_DEBUG, "->: %s", options_index->first.c_str());
}
for (vector<string>::const_iterator it = appOptions.begin(); it != appOptions.end(); ++it) {
carp(CARP_DEBUG, "%s options->: %s", appName.c_str(), (*it).c_str());
}

/* This loop is intended to check the parameters of the current application against all the appplications in application list*/
for (map<string, string>::const_iterator options_index = options.begin(); options_index != options.end(); options_index++) {
Expand Down
Loading

0 comments on commit 1efee64

Please sign in to comment.