You can subscribe to this list here.
| 2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(10) |
Sep
(92) |
Oct
(132) |
Nov
(70) |
Dec
(55) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2006 |
Jan
(26) |
Feb
(41) |
Mar
(99) |
Apr
(80) |
May
(255) |
Jun
(179) |
Jul
(209) |
Aug
(229) |
Sep
(199) |
Oct
(76) |
Nov
(56) |
Dec
(53) |
| 2007 |
Jan
(70) |
Feb
(974) |
Mar
(73) |
Apr
(48) |
May
(96) |
Jun
(116) |
Jul
(129) |
Aug
(66) |
Sep
(159) |
Oct
(92) |
Nov
(67) |
Dec
(111) |
| 2008 |
Jan
(100) |
Feb
(108) |
Mar
(99) |
Apr
(143) |
May
(83) |
Jun
(116) |
Jul
(102) |
Aug
(72) |
Sep
(92) |
Oct
(141) |
Nov
(142) |
Dec
(89) |
| 2009 |
Jan
(38) |
Feb
(141) |
Mar
(106) |
Apr
(68) |
May
(16) |
Jun
(69) |
Jul
(71) |
Aug
(91) |
Sep
(76) |
Oct
(57) |
Nov
(54) |
Dec
(26) |
| 2010 |
Jan
(54) |
Feb
(26) |
Mar
(32) |
Apr
(44) |
May
(32) |
Jun
(46) |
Jul
(42) |
Aug
(65) |
Sep
(34) |
Oct
(31) |
Nov
(9) |
Dec
(52) |
| 2011 |
Jan
(21) |
Feb
(22) |
Mar
(42) |
Apr
(25) |
May
(29) |
Jun
(24) |
Jul
(26) |
Aug
(34) |
Sep
(15) |
Oct
(59) |
Nov
(80) |
Dec
(34) |
| 2012 |
Jan
(47) |
Feb
(19) |
Mar
(29) |
Apr
(26) |
May
(77) |
Jun
(26) |
Jul
(6) |
Aug
(17) |
Sep
(18) |
Oct
(17) |
Nov
(10) |
Dec
(14) |
| 2013 |
Jan
(57) |
Feb
(73) |
Mar
(52) |
Apr
(7) |
May
(16) |
Jun
(36) |
Jul
(22) |
Aug
(17) |
Sep
(20) |
Oct
(29) |
Nov
(34) |
Dec
(5) |
| 2014 |
Jan
(40) |
Feb
(21) |
Mar
(44) |
Apr
(35) |
May
(27) |
Jun
(26) |
Jul
(25) |
Aug
(15) |
Sep
(77) |
Oct
(45) |
Nov
(51) |
Dec
(22) |
| 2015 |
Jan
(33) |
Feb
(29) |
Mar
(31) |
Apr
(27) |
May
(31) |
Jun
(11) |
Jul
(17) |
Aug
(45) |
Sep
(45) |
Oct
(47) |
Nov
(8) |
Dec
(18) |
| 2016 |
Jan
(55) |
Feb
(21) |
Mar
(32) |
Apr
(38) |
May
(27) |
Jun
(20) |
Jul
(14) |
Aug
(59) |
Sep
(10) |
Oct
(32) |
Nov
(36) |
Dec
(5) |
| 2017 |
Jan
(28) |
Feb
(8) |
Mar
(27) |
Apr
(30) |
May
(22) |
Jun
(10) |
Jul
(2) |
Aug
(17) |
Sep
(3) |
Oct
(30) |
Nov
(36) |
Dec
(29) |
| 2018 |
Jan
(1) |
Feb
(21) |
Mar
(18) |
Apr
(2) |
May
(10) |
Jun
(1) |
Jul
(24) |
Aug
(8) |
Sep
(11) |
Oct
(37) |
Nov
(14) |
Dec
(8) |
| 2019 |
Jan
(8) |
Feb
(8) |
Mar
(8) |
Apr
(10) |
May
(16) |
Jun
(3) |
Jul
(10) |
Aug
(6) |
Sep
|
Oct
(9) |
Nov
(12) |
Dec
(25) |
| 2020 |
Jan
(8) |
Feb
(28) |
Mar
(21) |
Apr
(37) |
May
(69) |
Jun
(50) |
Jul
(23) |
Aug
(15) |
Sep
(11) |
Oct
(20) |
Nov
(24) |
Dec
(36) |
| 2021 |
Jan
(35) |
Feb
(24) |
Mar
(28) |
Apr
(23) |
May
(9) |
Jun
(25) |
Jul
(6) |
Aug
(20) |
Sep
(1) |
Oct
(8) |
Nov
|
Dec
(5) |
| 2022 |
Jan
|
Feb
(29) |
Mar
(33) |
Apr
(23) |
May
(46) |
Jun
(25) |
Jul
(7) |
Aug
(20) |
Sep
(27) |
Oct
(23) |
Nov
(17) |
Dec
(21) |
| 2023 |
Jan
(37) |
Feb
(42) |
Mar
(28) |
Apr
(34) |
May
(15) |
Jun
(13) |
Jul
(3) |
Aug
(32) |
Sep
(29) |
Oct
(15) |
Nov
(15) |
Dec
(12) |
| 2024 |
Jan
(19) |
Feb
(14) |
Mar
(68) |
Apr
(25) |
May
(28) |
Jun
(38) |
Jul
(13) |
Aug
(23) |
Sep
(13) |
Oct
(12) |
Nov
(75) |
Dec
(22) |
| 2025 |
Jan
(16) |
Feb
|
Mar
|
Apr
(13) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(3) |
| 2026 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <rea...@us...> - 2026-02-26 03:01:37
|
Revision: 9476
http://sourceforge.net/p/sashimi/code/9476
Author: real_procopio
Date: 2026-02-26 03:01:35 +0000 (Thu, 26 Feb 2026)
Log Message:
-----------
[cleanup] Re-tab RefreshParser.cpp for clarity
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cpp
Modified: trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cpp 2026-02-26 01:12:48 UTC (rev 9475)
+++ trunk/trans_proteomic_pipeline/src/Parsers/RefreshParser/RefreshParser.cpp 2026-02-26 03:01:35 UTC (rev 9476)
@@ -313,815 +313,813 @@
if(strcmp(interact_file_lines[line_num-1]->sequence, tag->getAttributeValue("peptide"))) {
cerr << "Error: " << interact_file_lines[line_num-1]->sequence << " does not match " << tag->getAttributeValue("peptide") << endl;
#else
- if(strcmp(interact_file_lines[line_num-1]->sequence, tag->getAttributeValue("stripped_peptide"))) {
- cerr << "Error: " << interact_file_lines[line_num-1]->sequence << " does not match " << tag->getAttributeValue("stripped_peptide") << endl;
+ if(strcmp(interact_file_lines[line_num-1]->sequence, tag->getAttributeValue("stripped_peptide"))) {
+ cerr << "Error: " << interact_file_lines[line_num-1]->sequence << " does not match " << tag->getAttributeValue("stripped_peptide") << endl;
#endif
- tag->write(cerr);
- exit(1);
+ tag->write(cerr);
+ exit(1);
+ }
+
}
+ else if(use_default_min_ntt_ && tag->isStart() && ! strcmp(tag->getName(), "enzymatic_search_constraint") &&
+ ! strcasecmp(tag->getAttributeValue("enzyme"), (*enzymes_)[enzyme_index_])) {
+ min_num_tol_term_ = atoi(tag->getAttributeValue("min_number_termini"));
- }
- else if(use_default_min_ntt_ && tag->isStart() && ! strcmp(tag->getName(), "enzymatic_search_constraint") &&
- ! strcasecmp(tag->getAttributeValue("enzyme"), (*enzymes_)[enzyme_index_])) {
- min_num_tol_term_ = atoi(tag->getAttributeValue("min_number_termini"));
+ }
+ else if ( ! strcmp(tag->getName(), "mod_aminoacid_mass") && tag->getAttributeValue("alt_aa")) {
+ char* alt_aa = new char[strlen(tag->getAttributeValue("alt_aa"))+1];
+ strcpy(alt_aa, tag->getAttributeValue("alt_aa"));
+ int pos = atoi(tag->getAttributeValue("position"));
- }
- else if ( ! strcmp(tag->getName(), "mod_aminoacid_mass") && tag->getAttributeValue("alt_aa")) {
- char* alt_aa = new char[strlen(tag->getAttributeValue("alt_aa"))+1];
- strcpy(alt_aa, tag->getAttributeValue("alt_aa"));
- int pos = atoi(tag->getAttributeValue("position"));
-
- if (!interact_file_lines[line_num-1]->alt_sequence) {
- interact_file_lines[line_num-1]->alt_sequence = new char[strlen(interact_file_lines[line_num-1]->sequence)+1];
- strcpy(interact_file_lines[line_num-1]->alt_sequence, interact_file_lines[line_num-1]->sequence_I2L);
- interact_file_lines[line_num-1]->alt_sequence[pos-1] = *alt_aa;
+ if (!interact_file_lines[line_num-1]->alt_sequence) {
+ interact_file_lines[line_num-1]->alt_sequence = new char[strlen(interact_file_lines[line_num-1]->sequence)+1];
+ strcpy(interact_file_lines[line_num-1]->alt_sequence, interact_file_lines[line_num-1]->sequence_I2L);
+ interact_file_lines[line_num-1]->alt_sequence[pos-1] = *alt_aa;
+ }
+ delete[] alt_aa;
}
- delete[] alt_aa;
- }
- else if(tag->isStart() && ! strcmp(tag->getName(), "sample_enzyme")) {
- char* nextenz = new char[strlen(tag->getAttributeValue("name"))+1];
- strcpy(nextenz, tag->getAttributeValue("name"));
- int enzIdx = enzymes_->findByStringValue(nextenz);
- if (enzIdx == -1) {
- //not an enzyme already stored
- enzymes_->insertAtEnd(nextenz);
- enzyme_digestions_->insertAtEnd(new ProteolyticEnzyme(tag));
- enzyme_index_ = enzyme_digestions_->length()-1;
- enzyme_data = True;
- if(use_default_min_ntt_ && min_num_tol_term_ < 0)
- min_num_tol_term_ = 0;
+ else if(tag->isStart() && ! strcmp(tag->getName(), "sample_enzyme")) {
+ char* nextenz = new char[strlen(tag->getAttributeValue("name"))+1];
+ strcpy(nextenz, tag->getAttributeValue("name"));
+ int enzIdx = enzymes_->findByStringValue(nextenz);
+ if (enzIdx == -1) {
+ //not an enzyme already stored
+ enzymes_->insertAtEnd(nextenz);
+ enzyme_digestions_->insertAtEnd(new ProteolyticEnzyme(tag));
+ enzyme_index_ = enzyme_digestions_->length()-1;
+ enzyme_data = True;
+ if(use_default_min_ntt_ && min_num_tol_term_ < 0)
+ min_num_tol_term_ = 0;
+ }
+ else {
+ //already listed
+ delete [] nextenz;
+ enzyme_index_ = enzIdx;
+ if(use_default_min_ntt_ && min_num_tol_term_ < 0)
+ min_num_tol_term_ = 0;
+ }
}
- else {
- //already listed
- delete [] nextenz;
- enzyme_index_ = enzIdx;
- if(use_default_min_ntt_ && min_num_tol_term_ < 0)
- min_num_tol_term_ = 0;
+
+ if(enzyme_data) {
+ if(tag->isEnd() && ! strcmp(tag->getName(), "sample_enzyme")) {
+ (*enzyme_digestions_)[enzyme_index_]->fixSpecificity();
+ enzyme_data = False;
+ }
+ else if(strcmp(tag->getName(), "sample_enzyme")) {
+ (*enzyme_digestions_)[enzyme_index_]->enterSpecificity(tag);
+ }
}
- }
-
- if(enzyme_data) {
- if(tag->isEnd() && ! strcmp(tag->getName(), "sample_enzyme")) {
- (*enzyme_digestions_)[enzyme_index_]->fixSpecificity();
- enzyme_data = False;
- }
- else if(strcmp(tag->getName(), "sample_enzyme")) {
- (*enzyme_digestions_)[enzyme_index_]->enterSpecificity(tag);
- }
-
- }
- delete tag;
- } // if not null
+ delete tag;
+ } // if not null
- data = strchr(data+1, '<');
- } // next tag
+ data = strchr(data+1, '<');
+ } // next tag
- } // next line
- fin.close();
+ } // next line
+ fin.close();
- num_interact_lines = line_num;
- interact_file_lines = (interact_data_line_t**)realloc(interact_file_lines, sizeof(interact_data_line_t*)* num_interact_lines);
+ num_interact_lines = line_num;
+ interact_file_lines = (interact_data_line_t**)realloc(interact_file_lines, sizeof(interact_data_line_t*)* num_interact_lines);
- // now do the db search
+ // now do the db search
- uniq_lines = num_interact_lines;
- uniq_interact_data = build_uniq_kwlist(interact_file_lines,&uniq_lines);
+ uniq_lines = num_interact_lines;
+ uniq_interact_data = build_uniq_kwlist(interact_file_lines,&uniq_lines);
#ifndef __LGPL__
- if ( !(kwset = kwsalloc((char *) 0)) )
- printf("Error initializing the keyword set!\n");
+ if ( !(kwset = kwsalloc((char *) 0)) )
+ printf("Error initializing the keyword set!\n");
- fprintf(stderr," - Building Commentz-Walter keyword tree...");
- const char* prev_seq = "";
- const char* prev_alt = "";
- int tot_added = 0;
- Array<int>* alt_index_map = new Array<int>();
- for ( i = 0; i < uniq_lines; i++ ) {
- interact_line = (interact_data_line_t *)uniq_interact_data[i];
+ fprintf(stderr," - Building Commentz-Walter keyword tree...");
+ const char* prev_seq = "";
+ const char* prev_alt = "";
+ int tot_added = 0;
+ Array<int>* alt_index_map = new Array<int>();
+ for ( i = 0; i < uniq_lines; i++ ) {
+ interact_line = (interact_data_line_t *)uniq_interact_data[i];
- if ( interact_line->sequence_I2L != NULL ) {
- if ( strcmp( interact_line->sequence_I2L,prev_seq) != 0 ) {
+ if ( interact_line->sequence_I2L != NULL ) {
+ if ( strcmp( interact_line->sequence_I2L,prev_seq) != 0 ) {
- prev_seq = interact_line->sequence_I2L;
+ prev_seq = interact_line->sequence_I2L;
+ if ( kwsincr(kwset,
+ interact_line->sequence_I2L,
+ strlen(interact_line->sequence_I2L)) != 0 )
+ printf("Error adding %s to the keyword structure!\n",
+ interact_line->sequence_I2L);
+
+ alt_index_map->insertAtEnd(i);
+
+ tot_added++;
+ }
+ }
+
+ if ( interact_line->alt_sequence != NULL ) {
if ( kwsincr(kwset,
- interact_line->sequence_I2L,
- strlen(interact_line->sequence_I2L)) != 0 )
+ interact_line->alt_sequence,
+ strlen(interact_line->alt_sequence)) != 0 )
printf("Error adding %s to the keyword structure!\n",
- interact_line->sequence_I2L);
+ interact_line->alt_sequence);
alt_index_map->insertAtEnd(i);
-
tot_added++;
}
}
- if ( interact_line->alt_sequence != NULL ) {
- if ( kwsincr(kwset,
- interact_line->alt_sequence,
- strlen(interact_line->alt_sequence)) != 0 )
- printf("Error adding %s to the keyword structure!\n",
- interact_line->alt_sequence);
-
- alt_index_map->insertAtEnd(i);
- tot_added++;
- }
- }
+ /* Prep the keyword trie for searching */
+ if ( kwsprep (kwset) != 0 )
+ printf("Error prepping the structure for a search!\n");
+#else
+ /* SPARE Parts Section */
+ kwset_t kwset;
+ kwmap_t kwmap; // preserves order of uniq_lines
+ int n_kwsets;
+ int max_kwset_size = min(5000,uniq_lines); //limit to avoid trie width explosion, also may adjust downward dynamically
+ std::vector<STRINGFINDER_pep *> finder_pep;
+ std::vector<STRINGFINDER_std *> finder_std;
+ fprintf(stdout," - Building Commentz-Walter keyword tree for %ld unique peptides...",uniq_lines);
+ bool bUsePeptideAlphabet = true; // use smaller alphabet if posssible
+ bool firstpass = true; // we may have to retry on trie width exception
+ while (true) { // dynamic sizing of tries
+ std::vector<kwset_t> kwsets; // break large jobs into multiple sets
+ n_kwsets = (uniq_lines/max_kwset_size)+((uniq_lines%max_kwset_size)!=0);
+ kwsets.resize(n_kwsets);
+ try {
+ peptideAlphabet::init(); // initialize lookup tables, etc
+ const char *badStr=NULL;
+ for ( i = 0; i < uniq_lines; i++ ) {
+ interact_line = (interact_data_line_t *)uniq_interact_data[i];
- /* Prep the keyword trie for searching */
- if ( kwsprep (kwset) != 0 )
- printf("Error prepping the structure for a search!\n");
-#else
- /* SPARE Parts Section */
- kwset_t kwset;
- kwmap_t kwmap; // preserves order of uniq_lines
- int n_kwsets;
- int max_kwset_size = min(5000,uniq_lines); //limit to avoid trie width explosion, also may adjust downward dynamically
- std::vector<STRINGFINDER_pep *> finder_pep;
- std::vector<STRINGFINDER_std *> finder_std;
- fprintf(stdout," - Building Commentz-Walter keyword tree for %ld unique peptides...",uniq_lines);
- bool bUsePeptideAlphabet = true; // use smaller alphabet if posssible
- bool firstpass = true; // we may have to retry on trie width exception
- while (true) { // dynamic sizing of tries
- std::vector<kwset_t> kwsets; // break large jobs into multiple sets
- n_kwsets = (uniq_lines/max_kwset_size)+((uniq_lines%max_kwset_size)!=0);
- kwsets.resize(n_kwsets);
- try {
- peptideAlphabet::init(); // initialize lookup tables, etc
- const char *badStr=NULL;
- for ( i = 0; i < uniq_lines; i++ ) {
- interact_line = (interact_data_line_t *)uniq_interact_data[i];
-
- if ( interact_line->sequence != NULL ) {
- kwsets[i/max_kwset_size].insert(interact_line->sequence_I2L);
- if (bUsePeptideAlphabet && !peptideAlphabet::legal_string(interact_line->sequence_I2L)) {
- badStr = interact_line->sequence_I2L;
- bUsePeptideAlphabet = false;
+ if ( interact_line->sequence != NULL ) {
+ kwsets[i/max_kwset_size].insert(interact_line->sequence_I2L);
+ if (bUsePeptideAlphabet && !peptideAlphabet::legal_string(interact_line->sequence_I2L)) {
+ badStr = interact_line->sequence_I2L;
+ bUsePeptideAlphabet = false;
+ }
+ if (firstpass && (i!=kwmap[interact_line->sequence_I2L])) { // will insert a record
+ kwmap.find(interact_line->sequence_I2L)->second = i;
+ }
}
- if (firstpass && (i!=kwmap[interact_line->sequence_I2L])) { // will insert a record
- kwmap.find(interact_line->sequence_I2L)->second = i;
+
+ if ( interact_line->alt_sequence != NULL ) {
+ kwsets[i/max_kwset_size].insert(interact_line->alt_sequence);
+ if (bUsePeptideAlphabet && !peptideAlphabet::legal_string(interact_line->alt_sequence)) {
+ badStr = interact_line->alt_sequence;
+ bUsePeptideAlphabet = false;
+ }
+ if (firstpass && (i!=kwmap[interact_line->alt_sequence])) { // will insert a record
+ kwmap.find(interact_line->alt_sequence)->second = i;
+ }
}
}
-
- if ( interact_line->alt_sequence != NULL ) {
- kwsets[i/max_kwset_size].insert(interact_line->alt_sequence);
- if (bUsePeptideAlphabet && !peptideAlphabet::legal_string(interact_line->alt_sequence)) {
- badStr = interact_line->alt_sequence;
- bUsePeptideAlphabet = false;
+ /* Prep the keyword trie for searching */
+ if (bUsePeptideAlphabet) {
+ firstpass = false;
+ for (int n=n_kwsets;n--;) {
+ finder_pep.push_back(new STRINGFINDER_pep(kwsets[n]));
}
- if (firstpass && (i!=kwmap[interact_line->alt_sequence])) { // will insert a record
- kwmap.find(interact_line->alt_sequence)->second = i;
+ } else {
+ if (firstpass) {
+ cout << "warning: unexpected character in peptide sequence \"" << badStr << "\", using more general but less efficient search " << endl;
}
+ firstpass = false;
+ for (int n=n_kwsets;n--;) {
+ finder_std.push_back(new STRINGFINDER_std(kwsets[n]));
+ }
}
- }
- /* Prep the keyword trie for searching */
- if (bUsePeptideAlphabet) {
- firstpass = false;
- for (int n=n_kwsets;n--;) {
- finder_pep.push_back(new STRINGFINDER_pep(kwsets[n]));
+ break; // success
+ } // end try
+ catch (...) {
+ // go back and try it again with smaller trie width
+ max_kwset_size /= 2;
+ if (bUsePeptideAlphabet) {
+ for (size_t n=finder_pep.size();n--;) {
+ delete finder_pep[n];
+ }
+ finder_pep.clear();
+ } else {
+ for (size_t n=finder_std.size();n--;) {
+ delete finder_std[n];
+ }
+ finder_std.clear();
}
- } else {
- if (firstpass) {
- cout << "warning: unexpected character in peptide sequence \"" << badStr << "\", using more general but less efficient search " << endl;
- }
- firstpass = false;
- for (int n=n_kwsets;n--;) {
- finder_std.push_back(new STRINGFINDER_std(kwsets[n]));
- }
}
- break; // success
- } // end try
- catch (...) {
- // go back and try it again with smaller trie width
- max_kwset_size /= 2;
- if (bUsePeptideAlphabet) {
- for (size_t n=finder_pep.size();n--;) {
- delete finder_pep[n];
- }
- finder_pep.clear();
- } else {
- for (size_t n=finder_std.size();n--;) {
- delete finder_std[n];
- }
- finder_std.clear();
- }
}
- }
#endif //__LGPL__
- /* Perform the search */
- fprintf(stdout,"\n - Searching the tree...");
- if ( ! (fp = fopen(database_,"r"))){
- std::string rdb(resolve_root(database_));
- const char *trythis = rdb.c_str();
- if (strcmp(trythis, database_)) {
- int err = errno;
- if (! (fp = fopen(trythis,"r"))) {
- printf("error: could not open database file \"%s\" (%s)\n", database_, strerror(err));
- printf("also tried \"%s\" (%s)\n", trythis, strerror(errno));
+ /* Perform the search */
+ fprintf(stdout,"\n - Searching the tree...");
+ if ( ! (fp = fopen(database_,"r"))){
+ std::string rdb(resolve_root(database_));
+ const char *trythis = rdb.c_str();
+ if (strcmp(trythis, database_)) {
+ int err = errno;
+ if (! (fp = fopen(trythis,"r"))) {
+ printf("error: could not open database file \"%s\" (%s)\n", database_, strerror(err));
+ printf("also tried \"%s\" (%s)\n", trythis, strerror(errno));
+ } else {
+ printf("opening \"%s\" as \"%s\"\n",database_,trythis);
+ }
} else {
- printf("opening \"%s\" as \"%s\"\n",database_,trythis);
+ printf("error: could not open database file \"%s\" (%s)\n", database_, strerror(errno));
}
- } else {
- printf("error: could not open database file \"%s\" (%s)\n", database_, strerror(errno));
+ if (!fp) {
+ exit(-1);
+ }
}
- if (!fp) {
- exit(-1);
- }
- }
- int iLenSeq;
+ int iLenSeq;
- char *szBuf_ = (char*) malloc(sizeof(char)*line_width_);
- char *szSeq_ = (char*) malloc(sizeof(char)*MAX_SEQ);
- char *szHdr_ = (char*) malloc(sizeof(char)*MAX_HEADER_LEN);
- char *szOutputDb_ = (char*) malloc(sizeof(char)*SIZE_FILE);
- int* sort_idx = NULL;
- int max_num_hits = 0;
+ char *szBuf_ = (char*) malloc(sizeof(char)*line_width_);
+ char *szSeq_ = (char*) malloc(sizeof(char)*MAX_SEQ);
+ char *szHdr_ = (char*) malloc(sizeof(char)*MAX_HEADER_LEN);
+ char *szOutputDb_ = (char*) malloc(sizeof(char)*SIZE_FILE);
+ int* sort_idx = NULL;
+ int max_num_hits = 0;
- szBuf_[0] = '\0';
- szSeq_[0] = '\0';
- szHdr_[0] = '\0';
- szOutputDb_[0] = '\0';
+ szBuf_[0] = '\0';
+ szSeq_[0] = '\0';
+ szHdr_[0] = '\0';
+ szOutputDb_[0] = '\0';
- while (fgets(szBuf_, line_width_, fp))
- {
- if (szBuf_[0]=='>')
- {
- int cAA;
-
- strncpy(szHdr_, szBuf_, MAX_HEADER_LEN);
- szHdr_[MAX_HEADER_LEN-1] = '\0';
- if(strlen(szBuf_) < MAX_HEADER_LEN)
- szHdr_[strlen(szBuf_)-1] = '\0';
-
- // now get rid of quotations
- char* quotematch = strchr(szHdr_, '"');
- while(quotematch != NULL) {
- memmove(quotematch,quotematch+1,strlen(quotematch));
- quotematch = strchr(quotematch, '"');
- } // while
+ while (fgets(szBuf_, line_width_, fp))
+ {
+ if (szBuf_[0]=='>')
+ {
+ int cAA;
- iLenSeq=0;
+ strncpy(szHdr_, szBuf_, MAX_HEADER_LEN);
+ szHdr_[MAX_HEADER_LEN-1] = '\0';
+ if(strlen(szBuf_) < MAX_HEADER_LEN)
+ szHdr_[strlen(szBuf_)-1] = '\0';
- while ( (cAA=fgetc(fp)) ) {
- if (isalpha(cAA) || cAA=='*') {
- if (cAA == 'I')
- cAA = 'L';
- if (cAA == '*')
- cAA = '-';
+ // now get rid of quotations
+ char* quotematch = strchr(szHdr_, '"');
+ while(quotematch != NULL) {
+ memmove(quotematch,quotematch+1,strlen(quotematch));
+ quotematch = strchr(quotematch, '"');
+ } // while
- szSeq_[iLenSeq++]=cAA;
- if (iLenSeq > MAX_SEQ) {
- printf(" Error - sequence larger than MAX_SEQ\n\n");
- printf("%s\n\n", szHdr_);
- fclose(fp);
- exit(1);
+ iLenSeq=0;
+
+ while ( (cAA=fgetc(fp)) ) {
+ if (isalpha(cAA) || cAA=='*') {
+ if (cAA == 'I')
+ cAA = 'L';
+ if (cAA == '*')
+ cAA = '-';
+
+ szSeq_[iLenSeq++]=cAA;
+ if (iLenSeq > MAX_SEQ) {
+ printf(" Error - sequence larger than MAX_SEQ\n\n");
+ printf("%s\n\n", szHdr_);
+ fclose(fp);
+ exit(1);
+ }
}
- }
- else if (feof(fp) || cAA=='>') {
- int iReturn;
- iReturn=ungetc(cAA, fp);
+ else if (feof(fp) || cAA=='>') {
+ int iReturn;
+ iReturn=ungetc(cAA, fp);
- if (iReturn!=cAA) {
- printf("Error with ungetc.\n\n");
- fclose(fp);
- exit(1);
+ if (iReturn!=cAA) {
+ printf("Error with ungetc.\n\n");
+ fclose(fp);
+ exit(1);
+ }
+ break;
}
- break;
}
- }
- szSeq_[iLenSeq]='\0';
-
+ szSeq_[iLenSeq]='\0';
+
#ifdef __LGPL__
- /* SPARE Parts */
- glob_matches.clear(); // nothing found yet
- if (bUsePeptideAlphabet) {
- for (int n=n_kwsets;n--;) {
- finder_pep[n]->match(szSeq_,spareparts_callback); // any proteins match?
+ /* SPARE Parts */
+ glob_matches.clear(); // nothing found yet
+ if (bUsePeptideAlphabet) {
+ for (int n=n_kwsets;n--;) {
+ finder_pep[n]->match(szSeq_,spareparts_callback); // any proteins match?
+ }
+ } else {
+ for (int n=n_kwsets;n--;) {
+ finder_std[n]->match(szSeq_,spareparts_callback); // any proteins match?
+ }
}
- } else {
- for (int n=n_kwsets;n--;) {
- finder_std[n]->match(szSeq_,spareparts_callback); // any proteins match?
- }
- }
- num_hits = (int)glob_matches.size();
- kwset_t::const_iterator iter = glob_matches.begin();
+ num_hits = (int)glob_matches.size();
+ kwset_t::const_iterator iter = glob_matches.begin();
#else
- num_hits = kwsexec_multiple(kwset, szSeq_, strlen(szSeq_), &match);
+ num_hits = kwsexec_multiple(kwset, szSeq_, strlen(szSeq_), &match);
#endif //__LGPL__
- //DDS: sort the matched indices
- if (num_hits > 0) {
- if (num_hits>max_num_hits) {
- sort_idx = (int *)realloc(sort_idx,(max_num_hits=num_hits)*sizeof(int));
- }
+ //DDS: sort the matched indices
+ if (num_hits > 0) {
+ if (num_hits>max_num_hits) {
+ sort_idx = (int *)realloc(sort_idx,(max_num_hits=num_hits)*sizeof(int));
+ }
- for (i=0; i<num_hits; i++){
+ for (i=0; i<num_hits; i++){
#ifdef __LGPL__
- sort_idx[i] = kwmap.find(iter->c_str())->second;
- iter++;
+ sort_idx[i] = kwmap.find(iter->c_str())->second;
+ iter++;
#else
- sort_idx[i] = match[i].index;
+ sort_idx[i] = match[i].index;
#endif
- }
+ }
#ifndef __LGPL__
- free(match);
+ free(match);
#endif
- qsort(sort_idx, num_hits, sizeof(int), compare_indices);
-
- // Process the hits for this protein sequence
- prev_index = -1;
-
- for ( i=0; i<num_hits; i++) {
- int this_index = sort_idx[i];
- this_index = (*alt_index_map)[this_index];
+ qsort(sort_idx, num_hits, sizeof(int), compare_indices);
- const char* result = NULL;
+ // Process the hits for this protein sequence
+ prev_index = -1;
- if (uniq_interact_data[this_index]) {
- result = strstr(szSeq_, ((interact_data_line_t *)
- uniq_interact_data[this_index])->sequence_I2L);
- }
- bool alt = false;
- if (!result) {
- alt = true;
- result = strstr(szSeq_, ((interact_data_line_t *)
- uniq_interact_data[this_index])->alt_sequence);
- }
+ for ( i=0; i<num_hits; i++) {
+ int this_index = sort_idx[i];
+ this_index = (*alt_index_map)[this_index];
- //DDS: For this to work the indices must be sorted
- if ( this_index != prev_index ) {
- if ( (new_db_ref = (db_ref_t *)malloc(sizeof(db_ref_t))) == NULL )
- printf("Error: Could not allocate memory for db_ref_t!\n");
+ const char* result = NULL;
- // use space or | as delimiter of accession if IPI database
- char cDelimiter;
+ if (uniq_interact_data[this_index]) {
+ result = strstr(szSeq_, ((interact_data_line_t *)
+ uniq_interact_data[this_index])->sequence_I2L);
+ }
+ bool alt = false;
+ if (!result) {
+ alt = true;
+ result = strstr(szSeq_, ((interact_data_line_t *)
+ uniq_interact_data[this_index])->alt_sequence);
+ }
- if (!strncmp(szHdr_, ">IPI", 4) && strchr(szHdr_, '|') != NULL && strchr(szHdr_, '|')<strchr(szHdr_,' ') )
- cDelimiter = '|';
- else
- cDelimiter = ' ';
+ //DDS: For this to work the indices must be sorted
+ if ( this_index != prev_index ) {
+ if ( (new_db_ref = (db_ref_t *)malloc(sizeof(db_ref_t))) == NULL )
+ printf("Error: Could not allocate memory for db_ref_t!\n");
- if ( strchr(szHdr_,cDelimiter) != NULL ) {
- new_db_ref->alias = make_substr(szHdr_,
- 0,
- strchr(szHdr_,cDelimiter) - szHdr_ - 1);
+ // use space or | as delimiter of accession if IPI database
+ char cDelimiter;
- // get rid of windows control characters (^M, etc) by truncating at the first one
- size_t len = strlen(new_db_ref->alias);
- for (size_t i = 0; i < len; i++) {
- if (new_db_ref->alias[i] < 20 || new_db_ref->alias[i] > 126) {
- new_db_ref->alias[i] = 0;
- break;
+ if (!strncmp(szHdr_, ">IPI", 4) && strchr(szHdr_, '|') != NULL && strchr(szHdr_, '|')<strchr(szHdr_,' ') )
+ cDelimiter = '|';
+ else
+ cDelimiter = ' ';
+
+ if ( strchr(szHdr_,cDelimiter) != NULL ) {
+ new_db_ref->alias = make_substr(szHdr_,
+ 0,
+ strchr(szHdr_,cDelimiter) - szHdr_ - 1);
+
+ // get rid of windows control characters (^M, etc) by truncating at the first one
+ size_t len = strlen(new_db_ref->alias);
+ for (size_t i = 0; i < len; i++) {
+ if (new_db_ref->alias[i] < 20 || new_db_ref->alias[i] > 126) {
+ new_db_ref->alias[i] = 0;
+ break;
+ }
}
- }
- new_db_ref->description = make_substr(szHdr_,
- strchr(szHdr_,cDelimiter) - szHdr_,
- (int)strlen(szHdr_));
+ new_db_ref->description = make_substr(szHdr_,
+ strchr(szHdr_,cDelimiter) - szHdr_,
+ (int)strlen(szHdr_));
- // get rid of windows control characters (^M, etc) by truncating at the first one
- len = strlen(new_db_ref->description);
- for (size_t i = 0; i < len; i++) {
- if (new_db_ref->description[i] < 20 || new_db_ref->description[i] > 126) {
- new_db_ref->description[i] = 0;
- break;
+ // get rid of windows control characters (^M, etc) by truncating at the first one
+ len = strlen(new_db_ref->description);
+ for (size_t i = 0; i < len; i++) {
+ if (new_db_ref->description[i] < 20 || new_db_ref->description[i] > 126) {
+ new_db_ref->description[i] = 0;
+ break;
+ }
}
+
+ // make sure no xml problem characters in prot descr
+ for(int z = 0; z < (int) strlen(new_db_ref->description); z++)
+ if(new_db_ref->description[z] == '&')
+ new_db_ref->description[z] = '+';
+ else if(new_db_ref->description[z] == '"')
+ new_db_ref->description[z] = '\'';
+ else if(new_db_ref->description[z] == '>')
+ new_db_ref->description[z] = ' ';
+ else if(new_db_ref->description[z] == '<')
+ new_db_ref->description[z] = ' ';
+ else if(new_db_ref->description[z] == '/')
+ new_db_ref->description[z] = '\\';
}
+ else {
+ new_db_ref->alias = strdup(szHdr_);
- // make sure no xml problem characters in prot descr
- for(int z = 0; z < (int) strlen(new_db_ref->description); z++)
- if(new_db_ref->description[z] == '&')
- new_db_ref->description[z] = '+';
- else if(new_db_ref->description[z] == '"')
- new_db_ref->description[z] = '\'';
- else if(new_db_ref->description[z] == '>')
- new_db_ref->description[z] = ' ';
- else if(new_db_ref->description[z] == '<')
- new_db_ref->description[z] = ' ';
- else if(new_db_ref->description[z] == '/')
- new_db_ref->description[z] = '\\';
- }
- else {
- new_db_ref->alias = strdup(szHdr_);
-
- // get rid of windows control characters (^M, etc) by truncating at the first one
- size_t len = strlen(new_db_ref->alias);
- for (size_t i = 0; i < len; i++) {
- if (new_db_ref->alias[i] < 20 || new_db_ref->alias[i] > 126) {
- new_db_ref->alias[i] = 0;
- break;
+ // get rid of windows control characters (^M, etc) by truncating at the first one
+ size_t len = strlen(new_db_ref->alias);
+ for (size_t i = 0; i < len; i++) {
+ if (new_db_ref->alias[i] < 20 || new_db_ref->alias[i] > 126) {
+ new_db_ref->alias[i] = 0;
+ break;
+ }
}
+ new_db_ref->description = (char *)malloc((2) * sizeof( char )); // allocate as done elsewhere
+ new_db_ref->description[0] = 0;
}
- new_db_ref->description = (char *)malloc((2) * sizeof( char )); // allocate as done elsewhere
- new_db_ref->description[0] = 0;
- }
- ref_list = ((interact_data_line_t *)uniq_interact_data[this_index])->updated_refs;
- ntt_list = ((interact_data_line_t *)uniq_interact_data[this_index])->updated_ntts;
- if(calc_prot_wt_)
- prot_wt_list = ((interact_data_line_t *)uniq_interact_data[this_index])->updated_prot_wts;
+ ref_list = ((interact_data_line_t *)uniq_interact_data[this_index])->updated_refs;
+ ntt_list = ((interact_data_line_t *)uniq_interact_data[this_index])->updated_ntts;
+ if(calc_prot_wt_)
+ prot_wt_list = ((interact_data_line_t *)uniq_interact_data[this_index])->updated_prot_wts;
- if ( uniq_interact_data[this_index]->updated_hits == 0 ){
- if ( (ref_list = (db_ref_t **)malloc( sizeof(db_ref_t *))) == NULL )
- printf("Error: Could not allocate memory for a new ref_list!\n");
- if ( (ntt_list = (int*)malloc( sizeof(int *))) == NULL )
- printf("Error: Could not allocate memory for a new ntt_list!\n");
- if (calc_prot_wt_ && (prot_wt_list = (double*)malloc( sizeof(double *))) == NULL )
- printf("Error: Could not allocate memory for a new prot_wt_list!\n");
- }
- else {
- if ( (ref_list = (db_ref_t **)realloc(ref_list,
- (((interact_data_line_t *)
- uniq_interact_data[this_index])->updated_hits + 1) *
- sizeof(db_ref_t *))) == NULL )
- printf("Error: Could not reallocate memory for ref_list!\n");
- if ( (ntt_list = (int*)realloc(ntt_list,
- (((interact_data_line_t *)
- uniq_interact_data[this_index])->updated_hits + 1) *
- sizeof(int *))) == NULL )
- printf("Error: Could not reallocate memory for ntt_list!\n");
- if (calc_prot_wt_ && (prot_wt_list = (double*)realloc(prot_wt_list,
- (((interact_data_line_t *)
- uniq_interact_data[this_index])->updated_hits + 1) *
- sizeof(double *))) == NULL )
- printf("Error: Could not reallocate memory for prot_wt_list!\n");
- }
- ref_list[uniq_interact_data[this_index]->updated_hits] = new_db_ref;
- ntt = -1;
+ if ( uniq_interact_data[this_index]->updated_hits == 0 ){
+ if ( (ref_list = (db_ref_t **)malloc( sizeof(db_ref_t *))) == NULL )
+ printf("Error: Could not allocate memory for a new ref_list!\n");
+ if ( (ntt_list = (int*)malloc( sizeof(int *))) == NULL )
+ printf("Error: Could not allocate memory for a new ntt_list!\n");
+ if (calc_prot_wt_ && (prot_wt_list = (double*)malloc( sizeof(double *))) == NULL )
+ printf("Error: Could not allocate memory for a new prot_wt_list!\n");
+ }
+ else {
+ if ( (ref_list = (db_ref_t **)realloc(ref_list,
+ (((interact_data_line_t *)
+ uniq_interact_data[this_index])->updated_hits + 1) *
+ sizeof(db_ref_t *))) == NULL )
+ printf("Error: Could not reallocate memory for ref_list!\n");
+ if ( (ntt_list = (int*)realloc(ntt_list,
+ (((interact_data_line_t *)
+ uniq_interact_data[this_index])->updated_hits + 1) *
+ sizeof(int *))) == NULL )
+ printf("Error: Could not reallocate memory for ntt_list!\n");
+ if (calc_prot_wt_ && (prot_wt_list = (double*)realloc(prot_wt_list,
+ (((interact_data_line_t *)
+ uniq_interact_data[this_index])->updated_hits + 1) *
+ sizeof(double *))) == NULL )
+ printf("Error: Could not reallocate memory for prot_wt_list!\n");
+ }
+ ref_list[uniq_interact_data[this_index]->updated_hits] = new_db_ref;
+ ntt = -1;
- char prev, next;
- ntt = 0;
- bool firstpass = true;
- if(result != NULL) {
- size_t seqlen=strlen(szSeq_);
- //DDS: Find all occurrences of the peptide in the protein
- while (result != NULL) {
+ char prev, next;
+ ntt = 0;
+ bool firstpass = true;
+ if(result != NULL) {
+ size_t seqlen=strlen(szSeq_);
+ //DDS: Find all occurrences of the peptide in the protein
+ while (result != NULL) {
- size_t reslen = strlen(result);
- if(reslen == seqlen)
- prev = '-';
- else
- prev = (result-1)[0];
+ size_t reslen = strlen(result);
+ if(reslen == seqlen)
+ prev = '-';
+ else
+ prev = (result-1)[0];
- // change M to - when it's first character in the Protein
- if(prev == 'M' && reslen >= seqlen - 1) {
- prev = '-';
- }
+ // change M to - when it's first character in the Protein
+ if(prev == 'M' && reslen >= seqlen - 1) {
+ prev = '-';
+ }
- size_t nextlen=strlen(((interact_data_line_t *)
- uniq_interact_data[this_index])->sequence_I2L);
+ size_t nextlen=strlen(((interact_data_line_t *)
+ uniq_interact_data[this_index])->sequence_I2L);
- if(reslen == nextlen)
- next = '-';
- else
- next = result[nextlen]; // next aa
+ if(reslen == nextlen)
+ next = '-';
+ 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);
- }
+ 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]->
- getNumTolTerm(prev, ((interact_data_line_t *) uniq_interact_data[this_index])->sequence_I2L, next);
+ int new_ntt = (*enzyme_digestions_)[((interact_data_line_t *)
+ uniq_interact_data[this_index])->enzyme_ind]->
+ getNumTolTerm(prev, ((interact_data_line_t *) uniq_interact_data[this_index])->sequence_I2L, next);
- if (firstpass || new_ntt > ntt) { // do this just once
- if (firstpass) {
- new_db_ref->prev_aa = (char *)malloc(n_desired_prev_aas_+1);
- new_db_ref->next_aa = (char *)malloc(n_desired_next_aas_+1);
- }
- // resize the prev AA string
+ if (firstpass || new_ntt > ntt) { // do this just once
+ if (firstpass) {
+ new_db_ref->prev_aa = (char *)malloc(n_desired_prev_aas_+1);
+ new_db_ref->next_aa = (char *)malloc(n_desired_next_aas_+1);
+ }
+ // resize the prev AA string
- if (NULL != new_db_ref->prev_aa ) {
- const char *aa=result;
- int count = 0;
- while ((count<n_desired_prev_aas_) && (aa>szSeq_)) {
- aa--;
- count++;
+ if (NULL != new_db_ref->prev_aa ) {
+ const char *aa=result;
+ int count = 0;
+ while ((count<n_desired_prev_aas_) && (aa>szSeq_)) {
+ aa--;
+ count++;
+ }
+ char *w=new_db_ref->prev_aa;
+ while (count--) {
+ *w++ = *aa++;
+ }
+ *w = 0;
+ if (!new_db_ref->prev_aa[0]) {
+ strcpy(new_db_ref->prev_aa,"-");
+ }
}
- char *w=new_db_ref->prev_aa;
- while (count--) {
- *w++ = *aa++;
+ // resize the follow AA string
+ if (NULL != new_db_ref->next_aa) {
+ const char *aa=result+nextlen;
+ int count = 0;
+ while ((count<n_desired_next_aas_) && *aa) {
+ aa++;
+ count++;
+ }
+ char *w=new_db_ref->next_aa;
+ aa=result+nextlen;
+ while (count--) {
+ *w++ = *aa++;
+ }
+ *w = 0;
+ if (!new_db_ref->next_aa[0]) {
+ strcpy(new_db_ref->next_aa,"-");
+ }
}
- *w = 0;
- if (!new_db_ref->prev_aa[0]) {
- strcpy(new_db_ref->prev_aa,"-");
- }
}
- // resize the follow AA string
- if (NULL != new_db_ref->next_aa) {
- const char *aa=result+nextlen;
- int count = 0;
- while ((count<n_desired_next_aas_) && *aa) {
- aa++;
- count++;
- }
- char *w=new_db_ref->next_aa;
- aa=result+nextlen;
- while (count--) {
- *w++ = *aa++;
- }
- *w = 0;
- if (!new_db_ref->next_aa[0]) {
- strcpy(new_db_ref->next_aa,"-");
- }
- }
+ ntt = new_ntt > ntt ? new_ntt : ntt;
+ result = strstr(result+strlen(((interact_data_line_t *)uniq_interact_data[this_index])->sequence_I2L),
+ ((interact_data_line_t *)uniq_interact_data[this_index])->sequence_I2L);
+ firstpass = false;
}
- ntt = new_ntt > ntt ? new_ntt : ntt;
- result = strstr(result+strlen(((interact_data_line_t *)uniq_interact_data[this_index])->sequence_I2L),
- ((interact_data_line_t *)uniq_interact_data[this_index])->sequence_I2L);
- firstpass = false;
+ } // if not null
+ else {
+ cout << "error: " << ((interact_data_line_t *)uniq_interact_data[this_index])->sequence_I2L << " not found in " << szSeq_ << endl;
+ exit(1);
}
- } // if not null
- else {
- cout << "error: " << ((interact_data_line_t *)uniq_interact_data[this_index])->sequence_I2L << " not found in " << szSeq_ << endl;
- exit(1);
- }
- // now see if we can reuse existing text
- consolidate_text_ptr(new_db_ref->alias,aliases);
- consolidate_text_ptr(new_db_ref->description,descriptions);
- consolidate_text_ptr(new_db_ref->prev_aa,prev_aas);
- consolidate_text_ptr(new_db_ref->next_aa,next_aas);
+ // now see if we can reuse existing text
+ consolidate_text_ptr(new_db_ref->alias,aliases);
+ consolidate_text_ptr(new_db_ref->description,descriptions);
+ consolidate_text_ptr(new_db_ref->prev_aa,prev_aas);
+ consolidate_text_ptr(new_db_ref->next_aa,next_aas);
- ntt_list[uniq_interact_data[this_index]->updated_hits] = ntt;
+ ntt_list[uniq_interact_data[this_index]->updated_hits] = ntt;
- if(calc_prot_wt_)
- prot_wt_list[uniq_interact_data[this_index]->updated_hits] = ResidueMass::getProteinMass(szSeq_, monoisotopic);
+ if(calc_prot_wt_)
+ prot_wt_list[uniq_interact_data[this_index]->updated_hits] = ResidueMass::getProteinMass(szSeq_, monoisotopic);
- uniq_interact_data[this_index]->updated_hits += 1;
- ((interact_data_line_t *)uniq_interact_data[this_index])->updated_refs = ref_list;
- ((interact_data_line_t *)uniq_interact_data[this_index])->updated_ntts = ntt_list;
+ uniq_interact_data[this_index]->updated_hits += 1;
+ ((interact_data_line_t *)uniq_interact_data[this_index])->updated_refs = ref_list;
+ ((interact_data_line_t *)uniq_interact_data[this_index])->updated_ntts = ntt_list;
- if(calc_prot_wt_)
- ((interact_data_line_t *)uniq_interact_data[this_index])->updated_prot_wts = prot_wt_list;
+ if(calc_prot_wt_)
+ ((interact_data_line_t *)uniq_interact_data[this_index])->updated_prot_wts = prot_wt_list;
- prev_index = this_index;
- } // end if this_index != prev_index
- } // end for num_hits
- } // end if num_hits
- } // while fgets database
- } // while fin.getline
+ prev_index = this_index;
+ } // end if this_index != prev_index
+ } // end for num_hits
+ } // end if num_hits
+ } // while fgets database
+ } // while fin.getline
#ifdef __LGPL__
- /*SPARE Parts Section*/
- for (int n=n_kwsets;n--;) {
- if (bUsePeptideAlphabet)
- delete finder_pep[n];
- else
- delete finder_std[n];
- }
+ /*SPARE Parts Section*/
+ for (int n=n_kwsets;n--;) {
+ if (bUsePeptideAlphabet)
+ delete finder_pep[n];
+ else
+ delete finder_std[n];
+ }
#else
- kwsfree(kwset);
+ kwsfree(kwset);
#endif
- fclose( fp );
+ fclose( fp );
- fprintf(stdout,"\n - Linking duplicate entries...");
- link_duplicates(interact_file_lines,num_interact_lines);
+ fprintf(stdout,"\n - Linking duplicate entries...");
+ link_duplicates(interact_file_lines,num_interact_lines);
- incr_time = time(NULL);
- fprintf(stdout,"\n - Printing results...");
+ incr_time = time(NULL);
+ fprintf(stdout,"\n - Printing results...");
- // second time through data
- Tag* analysis_summary = new Tag("analysis_summary", True, True);
- analysis_summary->setAttributeValue("analysis", getName());
- analysis_summary->setAttributeValue("time", time_);
+ // second time through data
+ Tag* analysis_summary = new Tag("analysis_summary", True, True);
+ analysis_summary->setAttributeValue("analysis", getName());
+ analysis_summary->setAttributeValue("time", time_);
- Tag* analysis_timestamp_start = new Tag("analysis_timestamp", True, False);
- analysis_timestamp_start->setAttributeValue("analysis", getName());
- analysis_timestamp_start->setAttributeValue("time", time_);
- analysis_timestamp_start->setAttributeValue("id", "1");
+ Tag* analysis_timestamp_start = new Tag("analysis_timestamp", True, False);
+ analysis_timestamp_start->setAttributeValue("analysis", getName());
+ analysis_timestamp_start->setAttributeValue("time", time_);
+ analysis_timestamp_start->setAttributeValue("id", "1");
- Tag* analysis_timestamp_stop = new Tag("analysis_timestamp", False, True);
+ Tag* analysis_timestamp_stop = new Tag("analysis_timestamp", False, True);
- Tag* timestamp = new Tag("database_refresh_timestamp", True, True);
- // get time info
- timestamp->setAttributeValue("database", database_);
- // if(! use_default_min_ntt_) {
+ Tag* timestamp = new Tag("database_refresh_timestamp", True, True);
+ // get time info
+ timestamp->setAttributeValue("database", database_);
+ // if(! use_default_min_ntt_) {
- char next[20];
- sprintf(next, "%d", min_num_tol_term_);
- timestamp->setAttributeValue("min_num_enz_term", next);
+ char next[20];
+ sprintf(next, "%d", min_num_tol_term_);
+ timestamp->setAttributeValue("min_num_enz_term", next);
- //}
- // want to overwrite timestamp to summary.xml file......
+ //}
+ // want to overwrite timestamp to summary.xml file......
- int index = 0;
- double nextprob = -1.0;
+ int index = 0;
+ double nextprob = -1.0;
- // construct a tmpfile name based on xmlfile
- std::string outfile = make_tmpfile_name(xmlfile);
- //cerr << "writing data to " << outfile << endl;
- ofstream fout(outfile.c_str());
- if(! fout) {
- cerr << "cannot write output to file " << outfile << endl;
- exit(1);
- }
+ // construct a tmpfile name based on xmlfile
+ std::string outfile = make_tmpfile_name(xmlfile);
+ //cerr << "writing data to " << outfile << endl;
+ ofstream fout(outfile.c_str());
+ if(! fout) {
+ cerr << "cannot write output to file " << outfile << endl;
+ exit(1);
+ }
- TagFilter* refresh_filter = new TagFilter("alternative_protein");
+ TagFilter* refresh_filter = new TagFilter("alternative_protein");
- TagFilter* timestamp_filter = new TagFilter("analysis_timestamp");
- timestamp_filter->enterRequiredAttributeVal("analysis", getName());
+ TagFilter* timestamp_filter = new TagFilter("analysis_timestamp");
+ timestamp_filter->enterRequiredAttributeVal("analysis", getName());
- TagFilter* summary_filter = new TagFilter("analysis_summary");
- summary_filter->enterRequiredAttributeVal("analysis", getName());
+ TagFilter* summary_filter = new TagFilter("analysis_summary");
+ summary_filter->enterRequiredAttributeVal("analysis", getName());
- int result_index = 1;
- char search_result[] = "spectrum_query";
- char attr_name[] = "index";
+ int result_index = 1;
+ char search_result[] = "spectrum_query";
+ char attr_name[] = "index";
- RACI fin2(xmlfile); // can read gzipped xml
- if(! fin2) {
- cerr << "RefreshParser(2): error opening " << xmlfile << endl;
- exit(1);
- }
+ RACI fin2(xmlfile); // can read gzipped xml
+ if(! fin2) {
+ cerr << "RefreshParser(2): error opening " << xmlfile << endl;
+ exit(1);
+ }
- char current_database[500];
- current_database[0] = 0;
- Array<Tag*>* tags = NULL;
- long line_index = 0L;
- Boolean refreshed = False;
+ char current_database[500];
+ current_database[0] = 0;
+ Array<Tag*>* tags = NULL;
+ long line_index = 0L;
+ Boolean refreshed = False;
- while(fin2.getline(nextline, line_width_)) {
- data = strchr(nextline, '<');
- while(data != NULL) {
- tag = new Tag(data);
- refreshed = False;
+ while(fin2.getline(nextline, line_width_)) {
+ data = strchr(nextline, '<');
+ while(data != NULL) {
+ tag = new Tag(data);
+ refreshed = False;
- //tag->write(cout);
- if(line_index > num_interact_lines) {
- cerr << "error1" << endl;
- exit(1);
- }
- if(tag != NULL && ! timestamp_filter->filter(tag) && ! refresh_filter->filter(tag) &&
- ! summary_filter->filter(tag)) {
- if ( (tag->isStart() && ! strcmp(tag->getName(), "linked_peptide")) ||
- (tag->isStart() && ! strcmp(tag->getName(), "search_hit") &&
- ! strcmp(tag->getAttributeValue("hit_rank"), "1") &&
- (!tag->getAttributeValue("is_rejected") ||
- strcmp(tag->getAttributeValue("is_rejected"), "1")) &&
- refresh(tag)) ) {
+ //tag->write(cout);
+ if(line_index > num_interact_lines) {
+ cerr << "error1" << endl;
+ exit(1);
+ }
+ if(tag != NULL && ! timestamp_filter->filter(tag) && ! refresh_filter->filter(tag) &&
+ ! summary_filter->filter(tag)) {
+ if ( (tag->isStart() && ! strcmp(tag->getName(), "linked_peptide")) ||
+ (tag->isStart() && ! strcmp(tag->getName(), "search_hit") &&
+ ! strcmp(tag->getAttributeValue("hit_rank"), "1") &&
+ (!tag->getAttributeValue("is_rejected") ||
+ strcmp(tag->getAttributeValue("is_rejected"), "1")) &&
+ refresh(tag)) ) {
#ifdef USE_STD_MODS
- if(strcmp(interact_file_lines[line_index]->sequence, tag->getAttributeValue("peptide"))) {
- cerr << "error2 " << interact_file_lines[line_index]->sequence << " vs " << tag->getAttributeValue("peptide") << endl;
+ if(strcmp(interact_file_lines[line_index]->sequence, tag->getAttributeValue("peptide"))) {
+ cerr << "error2 " << interact_file_lines[line_index]->sequence << " vs " << tag->getAttributeValue("peptide") << endl;
#else
- if(strcmp(interact_file_lines[line_index]->sequence, tag->getAttributeValue("stripped_peptide"))) {
- cerr << "error2 " << interact_file_lines[line_index]->sequence << " vs " << tag->getAttributeValue("stripped_peptide") << endl;
+ if(strcmp(interact_file_lines[line_index]->sequence, tag->getAttributeValue("stripped_peptide"))) {
+ cerr << "error2 " << interact_file_lines[line_index]->sequence << " vs " << tag->getAttributeValue("stripped_peptide") << endl;
#endif
- exit(1);
- }
+ exit(1);
+ }
- tags = getRefreshTags(tag,
- interact_file_lines[line_index++],
- current_database);
-
- if(tags != NULL) {
- for(int k = 0; k < tags->length(); k++)
- if((*tags)[k] != NULL) {
- RECORD((*tags)[k]);
- delete (*tags)[k];
+ tags = getRefreshTags(tag,
+ interact_file_lines[line_index++],
+ current_database);
+
+ if(tags != NULL) {
+ for(int k = 0; k < tags->length(); k++)
+ if((*tags)[k] != NULL) {
+ RECORD((*tags)[k]);
+ delete (*tags)[k];
+ }
+ delete tags;
+ tags = NULL;
+ refreshed = True;
}
- delete tags;
- tags = NULL;
- refreshed = True;
+ }
+ else if(tag->isStart() && ! strcmp(tag->getName(), "msms_pipeline_analysis")) {
+ tag->write(fout);
+ // here write the timestamp
+ analysis_summary->write(fout);
+ }
+ else if(tag->isEnd() && ! strcmp(tag->getName(), "search_summary")) {
+ tag->write(fout);
+ // here write the timestamp
+ analysis_timestamp_start->write(fout);
+ timestamp->write(fout);
+ analysis_timestamp_stop->write(fout);
+ }
+ else if(tag->isStart() && ! strcmp(tag->getName(), "search_database")) {
+ memcpy(current_database,
+ tag->getAttributeValue("local_path"),
+ strlen(tag->getAttributeValue("local_path"))+1);
+ RECORD(tag);
+ }
+ else {
+ tag->write(fout);
+ }
}
- }
- else if(tag->isStart() && ! strcmp(tag->getName(), "msms_pipeline_analysis")) {
- tag->write(fout);
- // here write the timestamp
- analysis_summary->write(fout);
- }
- else if(tag->isEnd() && ! strcmp(tag->getName(), "search_summary")) {
- tag->write(fout);
- // here write the timestamp
- analysis_timestamp_start->write(fout);
- timestamp->write(fout);
- analysis_timestamp_stop->write(fout);
- }
- else if(tag->isStart() && ! strcmp(tag->getName(), "search_database")) {
- memcpy(current_database,
- tag->getAttributeValue("local_path"),
- strlen(tag->getAttributeValue("local_path"))+1);
- RECORD(tag);
- }
- else {
- tag->write(fout);
- }
- }
- if(! refreshed && tag != NULL)
- delete tag;
- data = strchr(data+1, '<');
- } // next tag
- } // next line
- fin2.close();
- fout.close();
+ if(! refreshed && tag != NULL)
+ delete tag;
+ data = strchr(data+1, '<');
+ } // next tag
+ } // next line
+ fin2.close();
+ fout.close();
- delete [] nextline;
+ delete [] nextline;
- if (num_mapped_ == 0)
- fprintf(stdout,"\nERROR: no entries mapped! Please check input files.");
- else
- fprintf(stdout,"\n - Mapped %d entries", num_mapped_);
- if (num_not_mapped_ > 0)
- fprintf(stdout,"\nWarning: could not map %d entries", num_not_mapped_);
+ if (num_mapped_ == 0)
+ fprintf(stdout,"\nERROR: no entries mapped! Please check input files.");
+ else
+ fprintf(stdout,"\n - Mapped %d entries", num_mapped_);
+ if (num_not_mapped_ > 0)
+ fprintf(stdout,"\nWarning: could not map %d entries", num_not_mapped_);
- fprintf(stdout,"\n\n");
+ fprintf(stdout,"\n\n");
- if (testType!=NO_TEST) {
- //
- // regression test stuff - bpratt Insilicos LLC, Nov 2005
- //
- TagListComparator("RefreshParser",testType,test_tags,testFileName);
- delete[] testFileName;
- for(int k = test_tags.length(); k--;) {
- delete test_tags[k];
- }
- }
+ if (testType!=NO_TEST) {
+ //
+ // regression test stuff - bpratt Insilicos LLC, Nov 2005
+ //
+ TagListComparator("RefreshParser",testType,test_tags,testFileName);
+ delete[] testFileName;
+ for(int k = test_tags.length(); k--;) {
+ delete test_tags[k];
+ }
+ }
- if(! overwrite(xmlfile, outfile.c_str(), "</msms_pipeline_analysis>")) {
- cerr << "error: no RefreshParser data written to file " << xmlfile << endl;
- }
+ if(! overwrite(xmlfile, outfile.c_str(), "</msms_pipeline_analysis>")) {
+ cerr << "error: no RefreshParser data written to file " << xmlfile << endl;
+ }
- // clean up...
- map <int*, int> freed_iptrs_map;
- map <char*, int> *freed_cptrs_map = new map <char*, int>;
- map <db_ref_t*, int> *freed_pptrs_map = new map <db_ref_t*, int>;
- map <db_ref_t**, int> *freed_rptrs_map = new map <db_ref_t**, int>;
+ // clean up...
+ map <int*, int> freed_iptrs_map;
+ map <char*, int> *freed_cptrs_map = new map <char*, int>;
+ map <db_ref_t*, int> *freed_pptrs_map = new map <db_ref_t*, int>;
+ map <db_ref_t**, int> *freed_rptrs_map = new map <db_ref_t**, int>;
- if (uniq_interact_data != NULL) {
- for(int k = 0; k < uniq_lines; k++) {
- if (uniq_interact_data[k] != NULL) {
- if (uniq_interact_data[k]->updated_refs != NULL)
- save_ptrs_to_free(uniq_interact_data[k],freed_rptrs_map,freed_pptrs_map,freed_cptrs_map);
- uniq_interact_data[k]->updated_refs = NULL;
+ if (uniq_interact_data != NULL) {
+ for(int k = 0; k < uniq_lines; k++) {
+ if (uniq_interact_data[k] != NULL) {
+ if (uniq_interact_data[k]->updated_refs != NULL)
+ save_ptrs_to_free(uniq_interact_data[k],freed_rptrs_map,freed_pptrs_map,freed_cptrs_map);
+ uniq_interact_data[k]->updated_refs = NULL;
+ }
+ }
+ free(uniq_interact_data);
+ uniq_interact_data = NULL;
}
- }
- free(uniq_interact_data);
- uniq_interact_data = NULL;
- }
- if (interact_file_lines != NULL) {
- for(int k = 0; k < num_interact_lines; k++) {
- if (interact_file_lines[k] != NULL) {
- delete[] interact_file_lines[k]->sequence;
- delete[] interact_file_lines[k]->sequence_I2L;
- delete[] interact_file_lines[k]->db_ref;
- if ( interact_file_lines[k]->alt_sequence != NULL )
- delete[] interact_file_lines[k]->alt_sequence;
+ if (interact_file_lines != NULL) {
+ for(int k = 0; k < num_interact_lines; k++) {
+ if (interact_file_lines[k] != NULL) {
+ delete[] interact_file_lines[k]->sequence;
+ delete[] interact_file_lines[k]->sequence_I2L;
+ delete[] interact_file_lines[k]->db_ref;
+ if ( interact_file_lines[k]->alt_sequence != NULL )
+ delete[] interact_file_lines[k]->alt_sequence;
- if (interact_file_lines[k]->updated_ntts != NULL)
- freed_iptrs_map[interact_file_lines[k]->updated_ntts] = 1;
- interact_file_lines[k]->updated_ntts = NULL;
+ if (interact_file_lines[k]->updated_ntts != NULL)
+ freed_iptrs_map[interact_file_lines[k]->updated_ntts] = 1;
+ interact_file_lines[k]->updated_ntts = NULL;
- if (interact_file_lines[k]->updated_refs != NULL)
- save_ptrs_to_free(interact_file_lines[k],freed_rptrs_map,freed_pptrs_map,freed_cptrs_map);
- interact_file_lines[k]->updated_refs = NULL;
+ if (interact_file_lines[k]->updated_refs != NULL)
+ save_ptrs_to_free(interact_file_lines[k],freed_rptrs_map,freed_pptrs_map,freed_cptrs_map);
+ interact_file_lines[k]->updated_refs = NULL;
- free(interact_file_lines[k]);
- interact_file_lines[k] = NULL;
+ free(interact_file_lines[k]);
+ interact_file_lines[k] = NULL;
+ }
+ }
+ free(interact_file_lines);
+ interact_file_lines = NULL;
}
- }
- free(interact_file_lines);
- interact_file_lines = NULL;
- }
- for (map <int*, int>::const_iterator it = freed_iptrs_map.begin(); it != freed_iptrs_map.end(); it++)
- free(it->first);
- for (map <char*, int>::const_iterator it = (*freed_cptrs_map).begin(); it != (*freed_cptrs_map).end(); it++)
- free(it->first);
- for (map <db_ref_t*, int>::const_iterator it = (*freed_pptrs_map).begin(); it != (*freed_pptrs_map).end(); it++)
- free(it->first);
- for (map <db_ref_t**, int>::const_iterator it = (*freed_rptrs_map).begin(); it != (*freed_rptrs_map).end(); it++)
- free(it->first);
- delete freed_cptrs_map;
- delete freed_pptrs_map;
- delete freed_rptrs_map;
+ for (map <int*, int>::const_iterator it = freed_iptrs_map.begin(); it != freed_iptrs_map.end(); it++)
+ free(it->first);
+ for (map <char*, int>::const_iterator it = (*freed_cptrs_map).begin(); it != (*freed_cptrs_map).end(); it++)
+ free(it->first);
+ for (map <db_ref_t*, int>::const_iterator it = (*freed_pptrs_map).begin(); it != (*freed_pptrs_map).end(); it++)
+ free(it->first);
+ for (map <db_ref_t**, int>::const_iterator it = (*freed_rptrs_map).begin(); it != (*freed_rptrs_map).end(); it++)
+ free(it->first);
+ delete freed_cptrs_map;
+ delete freed_pptrs_map;
+ delete freed_rptrs_map;
- delete alt_index_map;
- delete analysis_summary;
- delete analysis_timestamp_start;
- delete analysis_timestamp_stop;
- delete timestamp;
- delete refresh_filter;
- delete timestamp_filter;
- delete summary_filter;
+ delete alt_index_map;
+ delete analysis_summary;
+ delete analysis_timestamp_start;
+ delete analysis_timestamp_stop;
+ delete timestamp;
+ delete refresh_filter;
+ delete timestamp_filter;
+ delete summary_filter;
- free(sort_idx);
- free(szBuf_);
- free(szSeq_);
- free(szHdr_);
- free(szOutputDb_);
+ free(sort_idx);
+ free(szBuf_);
+ free(szSeq_);
+ free(szHdr_);
+ free(szOutputDb_);
- aliases.clear();
- descriptions.clear();
- prev_aas.clear();
- next_aas.clear();
-}
+ aliases.clear();
+ descriptions.clear();
+ prev_aas.clear();
+ next_aas.clear();
+ }
-
void RefreshParser::setFilter(Tag* tag) {
if(tag == NULL)
return;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2026-02-26 01:12:51
|
Revision: 9475
http://sourceforge.net/p/sashimi/code/9475
Author: real_procopio
Date: 2026-02-26 01:12:48 +0000 (Thu, 26 Feb 2026)
Log Message:
-----------
[comet] v2026.01.0
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/extern/Makefile
Added Paths:
-----------
trunk/trans_proteomic_pipeline/extern/comet_source_2026010.zip
Removed Paths:
-------------
trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip
Modified: trunk/trans_proteomic_pipeline/extern/Makefile
===================================================================
--- trunk/trans_proteomic_pipeline/extern/Makefile 2026-02-26 00:17:57 UTC (rev 9474)
+++ trunk/trans_proteomic_pipeline/extern/Makefile 2026-02-26 01:12:48 UTC (rev 9475)
@@ -414,7 +414,7 @@
#
# http://comet-ms.sourceforge.net/
#
-COMET_VER := 2025030
+COMET_VER := 2026010
COMET_ZIP := $(TPP_EXT)/comet_source_$(COMET_VER).zip
COMET_SRC := $(BUILD_SRC)/comet_source_$(COMET_VER)
.PHONY: comet comet-source comet-clean
Deleted: trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip
===================================================================
(Binary files differ)
Added: trunk/trans_proteomic_pipeline/extern/comet_source_2026010.zip
===================================================================
(Binary files differ)
Index: trunk/trans_proteomic_pipeline/extern/comet_source_2026010.zip
===================================================================
--- trunk/trans_proteomic_pipeline/extern/comet_source_2026010.zip 2026-02-26 00:17:57 UTC (rev 9474)
+++ trunk/trans_proteomic_pipeline/extern/comet_source_2026010.zip 2026-02-26 01:12:48 UTC (rev 9475)
Property changes on: trunk/trans_proteomic_pipeline/extern/comet_source_2026010.zip
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2026-02-26 00:18:00
|
Revision: 9474
http://sourceforge.net/p/sashimi/code/9474
Author: real_procopio
Date: 2026-02-26 00:17:57 +0000 (Thu, 26 Feb 2026)
Log Message:
-----------
Latest Unimod data, up to id=2147
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/ref/unimod.json
Modified: trunk/trans_proteomic_pipeline/html/ref/unimod.json
===================================================================
--- trunk/trans_proteomic_pipeline/html/ref/unimod.json 2026-02-25 18:09:39 UTC (rev 9473)
+++ trunk/trans_proteomic_pipeline/html/ref/unimod.json 2026-02-26 00:17:57 UTC (rev 9474)
@@ -1415,6 +1415,16 @@
],
"altst": []
},
+ "b-type-ion": {
+ "recid": "2132",
+ "_iscommon": false,
+ "fname": "Dehydration of C-terminus as reaction inside the mass spectrometer",
+ "delta": "-18.010565",
+ "sites": [],
+ "altst": [
+ "C-term"
+ ]
+ },
"Cys->Oxoalanine": {
"recid": "402",
"_iscommon": false,
@@ -1469,6 +1479,16 @@
"N"
]
},
+ "z-type-ion": {
+ "recid": "2143",
+ "_iscommon": false,
+ "fname": "Ammonia loss from N-terminus as reaction inside the mass spectrometer",
+ "delta": "-17.026549",
+ "sites": [],
+ "altst": [
+ "N-term"
+ ]
+ },
"Met->Asn": {
"recid": "1149",
"_iscommon": false,
@@ -1988,6 +2008,16 @@
"V"
]
},
+ "Dehydromethionine": {
+ "recid": "2144",
+ "_iscommon": false,
+ "fname": "Intramolecular cyclization product of N-terminal methionine, forming a five-membered azasulfonium ion where the sulfur atom bonds to the amine group",
+ "delta": "-2.01565",
+ "sites": [],
+ "altst": [
+ "M"
+ ]
+ },
"Met->Glu": {
"recid": "1145",
"_iscommon": false,
@@ -2079,6 +2109,16 @@
"E"
]
},
+ "c-type-ion": {
+ "recid": "2141",
+ "_iscommon": false,
+ "fname": "Cleavage at the N atom from the N+1 residue as reaction inside the mass spectrometer",
+ "delta": "-0.984016",
+ "sites": [],
+ "altst": [
+ "C-term"
+ ]
+ },
"Glu->pyro-Glu+Methyl:2H(2)13C(1)": {
"recid": "1827",
"_iscommon": false,
@@ -2119,6 +2159,16 @@
"K"
]
},
+ "Cys->fGly-diol": {
+ "recid": "2129",
+ "_iscommon": false,
+ "fname": "formylglycinediol, activated in sulfatases",
+ "delta": "0.017759",
+ "sites": [],
+ "altst": [
+ "C"
+ ]
+ },
"Gln->Lys": {
"recid": "631",
"_iscommon": false,
@@ -2621,6 +2671,16 @@
"E"
]
},
+ "Label:2H(8)": {
+ "recid": "2146",
+ "_iscommon": false,
+ "fname": "SILAC: Lysine_D8",
+ "delta": "8.050214",
+ "sites": [],
+ "altst": [
+ "K"
+ ]
+ },
"Lys->His": {
"recid": "1136",
"_iscommon": false,
@@ -3250,6 +3310,17 @@
"C-term"
]
},
+ "Methyl:13C(1)2H(2)": {
+ "recid": "2140",
+ "_iscommon": false,
+ "fname": "Heavy-Methyl:13C(1)2H(2)",
+ "delta": "17.031558",
+ "sites": [],
+ "altst": [
+ "K",
+ "N-term"
+ ]
+ },
"Methyl:2H(3)": {
"recid": "298",
"_iscommon": false,
@@ -3567,6 +3638,16 @@
"C"
]
},
+ "x-type-ion": {
+ "recid": "2142",
+ "_iscommon": false,
+ "fname": "Cleavage at the carbonyl from the N-1 residue as reaction inside the mass spectrometer",
+ "delta": "25.979265",
+ "sites": [],
+ "altst": [
+ "N-term"
+ ]
+ },
"His->Tyr": {
"recid": "581",
"_iscommon": false,
@@ -5437,6 +5518,16 @@
"W"
]
},
+ "Cys->Ser-O-sulfate": {
+ "recid": "2131",
+ "_iscommon": false,
+ "fname": "Serine O-sulfate",
+ "delta": "63.979659",
+ "sites": [],
+ "altst": [
+ "C"
+ ]
+ },
"Val->Tyr": {
"recid": "1223",
"_iscommon": false,
@@ -5835,6 +5926,16 @@
"K"
]
},
+ "Cys->sulfo-fGly-dio": {
+ "recid": "2130",
+ "_iscommon": false,
+ "fname": "Sulphated formylglycinediol, activated in sulfatases",
+ "delta": "78.966748",
+ "sites": [],
+ "altst": [
+ "C"
+ ]
+ },
"Delta:Se(1)": {
"recid": "423",
"_iscommon": false,
@@ -7715,6 +7816,16 @@
"K"
]
},
+ "imidazolone": {
+ "recid": "2147",
+ "_iscommon": false,
+ "fname": "imidazolone from 3-DG",
+ "delta": "144.042259",
+ "sites": [],
+ "altst": [
+ "R"
+ ]
+ },
"iTRAQ4plex115": {
"recid": "533",
"_iscommon": false,
@@ -8383,6 +8494,18 @@
"N-term"
]
},
+ "Phosphocholine": {
+ "recid": "2139",
+ "_iscommon": false,
+ "fname": "Serine/Threonine/Tyrosine of a protein becomes posttranslationally modified with a phosphocholine moiety.",
+ "delta": "165.05548",
+ "sites": [],
+ "altst": [
+ "T",
+ "S",
+ "Y"
+ ]
+ },
"Tween20": {
"recid": "1834",
"_iscommon": false,
@@ -8654,6 +8777,21 @@
"C"
]
},
+ "PnTAG": {
+ "recid": "2135",
+ "_iscommon": false,
+ "fname": "6-Phosphonohexanoylation",
+ "delta": "178.039496",
+ "sites": [],
+ "altst": [
+ "Y",
+ "T",
+ "S",
+ "N-term",
+ "N-term",
+ "K"
+ ]
+ },
"Galactosyl": {
"recid": "907",
"_iscommon": false,
@@ -9261,12 +9399,13 @@
"delta": "224.152478",
"sites": [],
"altst": [
+ "S",
"H",
"N-term",
"N-term",
"K",
- "S",
- "T"
+ "T",
+ "Y"
]
},
"Brij58": {
@@ -9313,7 +9452,8 @@
"T",
"S",
"H",
- "N-term"
+ "N-term",
+ "Y"
]
},
"Xlink:DSPP[226]": {
@@ -9424,7 +9564,8 @@
"T",
"S",
"H",
- "N-term"
+ "N-term",
+ "Y"
]
},
"PyridoxalPhosphateH2": {
@@ -9437,6 +9578,21 @@
"K"
]
},
+ "DMA-PEG3": {
+ "recid": "2136",
+ "_iscommon": false,
+ "fname": "DimethylaminoPEG3ylation",
+ "delta": "231.147058",
+ "sites": [],
+ "altst": [
+ "K",
+ "N-term",
+ "N-term",
+ "S",
+ "T",
+ "Y"
+ ]
+ },
"PropylNAGthiazoline": {
"recid": "514",
"_iscommon": false,
@@ -10029,7 +10185,8 @@
"N-term",
"N-term",
"K",
- "T"
+ "T",
+ "Y"
]
},
"IGBP": {
@@ -10163,7 +10320,8 @@
"T",
"S",
"H",
- "N-term"
+ "N-term",
+ "Y"
]
},
"PhosphoCytidine": {
@@ -10526,6 +10684,16 @@
"K"
]
},
+ "Desthiobiotin-Phenol": {
+ "recid": "2127",
+ "_iscommon": false,
+ "fname": "Desthiobiotin-Phenol",
+ "delta": "331.189592",
+ "sites": [],
+ "altst": [
+ "Y"
+ ]
+ },
"LG-lactam-K": {
"recid": "503",
"_iscommon": false,
@@ -11007,6 +11175,16 @@
"K"
]
},
+ "HCCA-Lys": {
+ "recid": "2138",
+ "_iscommon": false,
+ "fname": "Lysine labelled with HCCA tag",
+ "delta": "412.211056",
+ "sites": [],
+ "altst": [
+ "K"
+ ]
+ },
"PEO-Iodoacetyl-LC-Biotin": {
"recid": "20",
"_iscommon": false,
@@ -11419,6 +11597,16 @@
"C"
]
},
+ "Cys-vinyl sulfone amine probe addition": {
+ "recid": "2128",
+ "_iscommon": false,
+ "fname": "Michael addition of a vinyl sulfone amine desthiobiotin probe to cysteine",
+ "delta": "478.24612",
+ "sites": [],
+ "altst": [
+ "C"
+ ]
+ },
"EQIGG": {
"recid": "846",
"_iscommon": false,
@@ -16783,9 +16971,9 @@
}
},
"info": {
- "datetime": "2024-08-14 21:38:47",
- "generator": "./unimodxml2json.py",
+ "datetime": "2026-02-25 14:03:11",
+ "generator": "/users/lmendoza/bin/UNIMOD/./unimodxml2json.py",
"source": "/proteomics/lmendoza/reference/unimod.xml",
- "last_id": "2126"
+ "last_id": "2147"
}
}
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <en...@us...> - 2026-02-25 18:09:41
|
Revision: 9473
http://sourceforge.net/p/sashimi/code/9473
Author: eng_jk
Date: 2026-02-25 18:09:39 +0000 (Wed, 25 Feb 2026)
Log Message:
-----------
modify DatabaseParser to account for Comet .idx extension
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/src/Parsers/DatabaseParser/DatabaseParser.cpp
Modified: trunk/trans_proteomic_pipeline/src/Parsers/DatabaseParser/DatabaseParser.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Parsers/DatabaseParser/DatabaseParser.cpp 2025-12-09 06:49:19 UTC (rev 9472)
+++ trunk/trans_proteomic_pipeline/src/Parsers/DatabaseParser/DatabaseParser.cpp 2026-02-25 18:09:39 UTC (rev 9473)
@@ -65,6 +65,12 @@
memcpy(current_database,
tag->getAttributeValue("local_path"),
strlen(tag->getAttributeValue("local_path"))+1);
+
+ // when parsing .idx from Comet index search, strip ".idx" extension from
+ // parsed attribute value to return original fasta for sequence matching
+ int len = strlen(current_database);
+ if (strcmp(current_database + len - 4, ".idx") == 0 && len >= 4)
+ current_database[len - 4] = '\0';
}
else if(tag->isStart() && ! strcmp(tag->getName(), "database_refresh_timestamp")) {
strcpy(current_database, tag->getAttributeValue("database"));
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-12-09 06:49:21
|
Revision: 9472
http://sourceforge.net/p/sashimi/code/9472
Author: real_procopio
Date: 2025-12-09 06:49:19 +0000 (Tue, 09 Dec 2025)
Log Message:
-----------
[comet] v2025.03.0
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/extern/Makefile
Added Paths:
-----------
trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip
Removed Paths:
-------------
trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip
Modified: trunk/trans_proteomic_pipeline/extern/Makefile
===================================================================
--- trunk/trans_proteomic_pipeline/extern/Makefile 2025-12-09 06:23:23 UTC (rev 9471)
+++ trunk/trans_proteomic_pipeline/extern/Makefile 2025-12-09 06:49:19 UTC (rev 9472)
@@ -414,7 +414,7 @@
#
# http://comet-ms.sourceforge.net/
#
-COMET_VER := 2025011
+COMET_VER := 2025030
COMET_ZIP := $(TPP_EXT)/comet_source_$(COMET_VER).zip
COMET_SRC := $(BUILD_SRC)/comet_source_$(COMET_VER)
.PHONY: comet comet-source comet-clean
Deleted: trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip
===================================================================
(Binary files differ)
Added: trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip
===================================================================
(Binary files differ)
Index: trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip
===================================================================
--- trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip 2025-12-09 06:23:23 UTC (rev 9471)
+++ trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip 2025-12-09 06:49:19 UTC (rev 9472)
Property changes on: trunk/trans_proteomic_pipeline/extern/comet_source_2025030.zip
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-12-09 06:23:26
|
Revision: 9471
http://sourceforge.net/p/sashimi/code/9471
Author: real_procopio
Date: 2025-12-09 06:23:23 +0000 (Tue, 09 Dec 2025)
Log Message:
-----------
[Petunia] Updated path to Python in local UB24 (regis)
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
Modified: trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl 2025-12-08 19:41:23 UTC (rev 9470)
+++ trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl 2025-12-09 06:23:23 UTC (rev 9471)
@@ -17492,11 +17492,14 @@
$new_file .= $charList[int(rand 36)];
}
+ my $py_lib_path = readconfig('pythonpath', "/proteomics/sw/python/Ubuntu24");
+
open(SHCMD, ">$new_file") || &fatalError("CANNOT_CREATE_SHELL_COMMAND_FILE:$new_file:$!");
chmod 0744, $new_file;
print SHCMD "#!/bin/bash\n";
print SHCMD "export PERL5LIB=/proteomics/sw/perl-u20/share/perl:/proteomics/sw/perl-u20/lib/perl5:/proteomics/sw/perl-u20/lib/x86_64-linux-gnu/perl\n";
print SHCMD "export PATH=/proteomics/sw/bin:\$PATH\n";
+ print SHCMD "export PYTHONPATH=$py_lib_path\n";
print SHCMD "#echo PATH == \$PATH\n";
print SHCMD "export HOST=`/bin/hostname -s`\n";
print SHCMD "#echo HOST == \$HOST\n";
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <en...@us...> - 2025-12-08 19:41:25
|
Revision: 9470
http://sourceforge.net/p/sashimi/code/9470
Author: eng_jk
Date: 2025-12-08 19:41:23 +0000 (Mon, 08 Dec 2025)
Log Message:
-----------
Correct parsing of MS1 peaks for mzML files with ion mobility dimension.
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp
Modified: trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp 2025-04-30 00:57:04 UTC (rev 9469)
+++ trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp 2025-12-08 19:41:23 UTC (rev 9470)
@@ -1556,7 +1556,7 @@
}
if (scanHeaderMS.msLevel == (scanHeader.msLevel - 1))
- {
+ {
RAMPREAL *pPeaks;
int n = 0;
int bFirstDataPoint=1;
@@ -1565,19 +1565,23 @@
double dLowMass = scanHeader.precursorMZ - 0.25;
double dHighMass = scanHeader.precursorMZ + 0.25;
+ RAMPREAL fMass;
+ RAMPREAL fInten;
+ RAMPREAL fIonMob;
+
// Open a scan
pPeaks = readPeaks(fp_, index_[iScanNum]);
printf("\nms1peaks = [");
while (pPeaks != NULL && pPeaks[n] != -1)
- {
- RAMPREAL fMass;
- RAMPREAL fInten;
-
- fMass = pPeaks[n];
+ {
+ fMass = pPeaks[n];
n++;
fInten = pPeaks[n];
n++;
+ if ((fp_->fileType == 3 || fp_->fileType == 1) && fp_->mzML->getIonMobility())
+ fIonMob=pPeaks[n++];
+
if (fInten > 0.0)
{
if (dLowMass<fMass && fMass<dHighMass)
@@ -1602,10 +1606,10 @@
printf("\nms1scanLabel = \"%d, RT %0.2f\";\n", iScanNum, scanHeaderMS.retentionTime);
pEnvironment.iMS1Scan = iScanNum;
- }
+ }
else
{
- printf("\nms1scanLabel = \" %d is not a valid precursor scan!\";\n",iScanNum);
+ printf("\nms1scanLabel = \" %d is not a valid precursor scan!\";\n",iScanNum);
printf("ms1peaks= [[0.0,0.0]];\n");
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-30 00:57:23
|
Revision: 9469
http://sourceforge.net/p/sashimi/code/9469
Author: real_procopio
Date: 2025-04-30 00:57:04 +0000 (Wed, 30 Apr 2025)
Log Message:
-----------
[showXIC] Display RT in minutes insetad of seconds (as per Lab request). Minor style adjustment to max ppm
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/js/showxic.js
Modified: trunk/trans_proteomic_pipeline/html/js/showxic.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-04-29 23:39:01 UTC (rev 9468)
+++ trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-04-30 00:57:04 UTC (rev 9469)
@@ -136,9 +136,9 @@
hitdataset['data'] = [];
peps[hit["modified"]] = hitdataset;
}
- peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0});
- peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0.9});
- peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0});
+ peps[hit["modified"]]['data'].push({'x':hit["rt"]/60, 'y':0});
+ peps[hit["modified"]]['data'].push({'x':hit["rt"]/60, 'y':0.9});
+ peps[hit["modified"]]['data'].push({'x':hit["rt"]/60, 'y':0});
}
for (let pep in peps) {
@@ -148,7 +148,7 @@
tpp_clearElement("pepxml_hits_table",false);
- var fields1 = [ "rt","ppm" ];
+ var fields1 = [ "ppm" ];
var fields4 = [ "mz","diff","probability" ];
var fields = [ "rt","scan","mz","diff","ppm","charge","modified","probability" ];
var tr = document.createElement("tr");
@@ -175,7 +175,11 @@
td.className = 'value';
if (field == 'charge')
td.append("+");
- if (fields1.includes(field))
+ if (field == 'rt') {
+ td.append((Number(hit[field])/60).toFixed(3));
+ td.title = hit[field]+" seconds";
+ }
+ else if (fields1.includes(field))
td.append(Number(hit[field]).toFixed(1));
else if (fields4.includes(field))
td.append(Number(hit[field]).toFixed(4));
@@ -250,8 +254,12 @@
var url_params = "FILE="+mzfile;
for (let param of _ParamsNumeric) {
var val = Number(document.getElementById("new_"+param).value.trim());
- if (val && typeof val === 'number')
- url_params += "&"+param+"="+val;
+ if (val && typeof val === 'number') {
+ if (param.endsWith('_RT'))
+ url_params += "&"+param+"="+val*60;
+ else
+ url_params += "&"+param+"="+val;
+ }
else
val = '';
@@ -332,7 +340,7 @@
pspan.append(span);
span = document.createElement("li");
- span.innerHTML = "<strong>Radius</strong> of each PPM circle is proportional to m/z difference <i>(max="+max_ppm+"ppm)</i>";
+ span.innerHTML = "<strong>Radius</strong> of each PPM circle is proportional to m/z difference (max=<i class='tpporange'>"+max_ppm+"ppm</i>)";
pspan.append(span);
}
@@ -374,7 +382,7 @@
function plotXIC(mzfile,data) {
var mzval = document.getElementById("new_MZ").value.trim();
var subt = mzval==0 ? "Total Ion Current" : "Ion Current @ m/z = "+mzval;
- var chart = new_chart(mzfile, subt, 'Time (seconds)');
+ var chart = new_chart(mzfile, subt, 'Time (minutes)');
var dataset = {};
dataset['label'] = "Intensity";
@@ -394,8 +402,8 @@
}
if (was_zero)
- dataset['data'].push({'x':point['time'], 'y':0});
- dataset['data'].push({'x':point['time'], 'y':point['intensity']});
+ dataset['data'].push({'x':point['time']/60, 'y':0});
+ dataset['data'].push({'x':point['time']/60, 'y':point['intensity']});
if (point['ppm'] && Math.abs(point['ppm']) > 0) {
var ppm = Math.abs(point['ppm']);
@@ -403,7 +411,7 @@
max_ppm = ppm;
}
- prev_rt = point['time'];
+ prev_rt = point['time']/60;
was_zero = false;
}
chart['data']['datasets'] = [dataset];
@@ -420,7 +428,7 @@
if (point['ppm'] && Math.abs(point['ppm']) > 0) {
var ppm = Math.abs(point['ppm']);
var radius = 2+(25*ppm/max_ppm);
- ppmdataset['data'].push({'x':point['time'], 'y':point['intensity'], 'r':radius, 'ppm':point['ppm']});
+ ppmdataset['data'].push({'x':point['time']/60, 'y':point['intensity'], 'r':radius, 'ppm':point['ppm']});
}
}
chart['data']['datasets'].push(ppmdataset);
@@ -437,8 +445,8 @@
hitdataset['borderWidth'] = 4;
hitdataset['yAxisID'] = 'yabs';
hitdataset['data'] = [];
- hitdataset['data'].push({'x':_hit_data["RT"], 'y':0});
- hitdataset['data'].push({'x':_hit_data["RT"], 'y':1});
+ hitdataset['data'].push({'x':_hit_data["RT"]/60, 'y':0});
+ hitdataset['data'].push({'x':_hit_data["RT"]/60, 'y':1});
chart['data']['datasets'].push(hitdataset);
chart['options']['plugins']['legend']['display'] = true;
had_hit = true;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <en...@us...> - 2025-04-29 23:39:18
|
Revision: 9468
http://sourceforge.net/p/sashimi/code/9468
Author: eng_jk
Date: 2025-04-29 23:39:01 +0000 (Tue, 29 Apr 2025)
Log Message:
-----------
Add logic when finding correpsonding MS1 scan if scanHeader.precursorScanNum==0.
Previous code would fail as it would never find a scan number that matches the
scanHeader.precursorScanNum. It would hit the MAX_SCANS_TO_FIND_MS1_SIGNAL scan
range limit and complain the scan is not a valid precursor scan. The update now
handles scanHeader.precursorScanNum==0 by returning the first precursor scan
prior to the identification which is a better compromise than showing no
precursor scan. And I got rid of the MAX_SCANS_TO_FIND_MS1_SIGNAL range.
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp
Modified: trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp 2025-04-10 17:19:01 UTC (rev 9467)
+++ trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/plot-msms-js.cpp 2025-04-29 23:39:01 UTC (rev 9468)
@@ -31,7 +31,6 @@
#include "Search/SpectraST/SpectraSTLibEntry.hpp"
#define PROTON_MASS 1.00727646688
-#define MAX_SCANS_TO_FIND_MS1_SIGNAL 500
#define MZ_RANGE_MAX 2000.0 // for setting x-axis scale, ignored if any data are above this value
#define TITLE "Lorikeet Spectrum Viewer // TPP"
@@ -1525,21 +1524,37 @@
iScanNum = pEnvironment.iMS1Scan;
readHeader(fp_, index_[iScanNum], &scanHeaderMS);
}
- else {
- // loop back through scans to find MS1 scan
- iScanNum--;
- while (i<MAX_SCANS_TO_FIND_MS1_SIGNAL)
- {
- readHeader(fp_, index_[iScanNum], &scanHeaderMS);
- if (iScanNum < 1 || ( scanHeaderMS.msLevel == (scanHeader.msLevel - 1) && scanHeaderMS.acquisitionNum == scanHeader.precursorScanNum))
- {
- break;
- }
- iScanNum--;
- i++;
- }
- }
+ else {
+ // loop back through scans to find MS1 scan
+ iScanNum--;
+ while (1)
+ {
+ readHeader(fp_, index_[iScanNum], &scanHeaderMS);
+
+ if (scanHeader.precursorScanNum != 0)
+ {
+ // This first if() below assumes scanHeader.precursorScanNum is set.
+ // Which means there's no point in also checking the msLevel
+ // here as it will be checked below at next if statement.
+ // Removing that check allows a break out of the while() loop
+ // when we get to the precursorScanNum.
+ if (iScanNum < 1 || scanHeaderMS.acquisitionNum == scanHeader.precursorScanNum)
+ {
+ break;
+ }
+ }
+ else if (iScanNum < 1 || scanHeaderMS.msLevel == (scanHeader.msLevel - 1))
+ {
+ // I see exmaples where scanHeader.precursorScanNum is set to 0.
+ // For such cases, break on the first msLevel-1 scan.
+ break;
+ }
+
+ iScanNum--;
+ }
+ }
+
if (scanHeaderMS.msLevel == (scanHeader.msLevel - 1))
{
RAMPREAL *pPeaks;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-10 17:19:18
|
Revision: 9467
http://sourceforge.net/p/sashimi/code/9467
Author: real_procopio
Date: 2025-04-10 17:19:01 +0000 (Thu, 10 Apr 2025)
Log Message:
-----------
Tagging 7.3.0 release
Added Paths:
-----------
tags/release_7-3-0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-10 07:46:21
|
Revision: 9466
http://sourceforge.net/p/sashimi/code/9466
Author: real_procopio
Date: 2025-04-10 07:46:04 +0000 (Thu, 10 Apr 2025)
Log Message:
-----------
[qsir] Deal with Windoze paths...
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl
Modified: trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl 2025-04-10 01:28:23 UTC (rev 9465)
+++ trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl 2025-04-10 07:46:04 UTC (rev 9466)
@@ -36,6 +36,7 @@
# $CGI::LIST_CONTEXT_WARN = 0; # turn off this for now
my $cgi_query = CGI->new;
+my $in_windows = ($^O eq 'MSWin32');
my %options = ();
@@ -142,6 +143,11 @@
if ($element eq 'msms_run_summary') {
my $msrun = $atts{'base_name'}.$atts{'raw_data'};
+ if ($in_windows) {
+ $msrun = lc($msrun);
+ $msrun =~ s|\\|/|g;
+ }
+
if ($options{F} eq $msrun) {
$foundmsrun = 1;
}
@@ -261,6 +267,11 @@
@files = @ARGV;
}
+ if ($in_windows) {
+ $options{F} =lc($options{F});
+ $options{F} =~ s|\\|/|g;
+ }
+
&printOpts() if $options{d};
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-10 01:28:40
|
Revision: 9465
http://sourceforge.net/p/sashimi/code/9465
Author: real_procopio
Date: 2025-04-10 01:28:23 +0000 (Thu, 10 Apr 2025)
Log Message:
-----------
[ProtXMLViewer] Make Windows path comparisons case-insensitive; add [ + ] to Legend link for clarity. [Quetzal] Point to main Quetzal for links from L-keet
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/js/coatl.js
trunk/trans_proteomic_pipeline/perl/cgi-bin/ProtXMLViewer.pl
Modified: trunk/trans_proteomic_pipeline/html/js/coatl.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/coatl.js 2025-04-09 07:38:34 UTC (rev 9464)
+++ trunk/trans_proteomic_pipeline/html/js/coatl.js 2025-04-10 01:28:23 UTC (rev 9465)
@@ -9,7 +9,7 @@
//_Quetzal['windowName'] = 'Quetzal!';
_Quetzal['windowName'] = '';
_Quetzal['spectra'] = [];
- _Quetzal['url'] = window.location.origin + '_QUETZAL_URL_';
+ _Quetzal['url'] = 'https://proteomecentral.proteomexchange.org/quetzal/';
if (add_listener) {
window.addEventListener("message", (e) => {
Modified: trunk/trans_proteomic_pipeline/perl/cgi-bin/ProtXMLViewer.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/cgi-bin/ProtXMLViewer.pl 2025-04-09 07:38:34 UTC (rev 9464)
+++ trunk/trans_proteomic_pipeline/perl/cgi-bin/ProtXMLViewer.pl 2025-04-10 01:28:23 UTC (rev 9465)
@@ -539,7 +539,7 @@
# show legend
print "<br/><br/><span class='annt'>";
- print "<a style='margin-left:15px;' title='hide/show legend' href=\"javascript:toggleViz('boxpepslegend');\"> Legend </a><br/>";
+ print "<a style='margin-left:15px;' title='hide/show legend' href=\"javascript:toggleViz('boxpepslegend');\"> Legend [ + ] </a><br/>";
print "<span id='boxpepslegend' style='display:none;'>";
print "For each <b>protein</b> entry:";
print "<li><b>Bar width</b> corresponds to peptide <b>length</b></li>";
@@ -948,9 +948,9 @@
my $data_dir = tpplib_perl::getDataPath();
my $data_url = tpplib_perl::getDataUrl();
- if ($^O eq 'MSWin32') { # work with C:/ and c:/ etc...
- $data_dir = lcfirst($data_dir);
- $tsvfile = lcfirst($tsvfile);
+ if ($^O eq 'MSWin32') { # work with paste-eating Windows FS
+ $data_dir = lc($data_dir);
+ $tsvfile = lc($tsvfile);
}
$tsvfile =~ s/$data_dir/$data_url/;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-09 07:38:51
|
Revision: 9464
http://sourceforge.net/p/sashimi/code/9464
Author: real_procopio
Date: 2025-04-09 07:38:34 +0000 (Wed, 09 Apr 2025)
Log Message:
-----------
[Windows installer] Skip check for old ARCH type; minor text change. [Landing Page] Update link to Release Notes
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/index.html
trunk/trans_proteomic_pipeline/installer_win32/innodependencyinstaller/scripts/products.iss
trunk/trans_proteomic_pipeline/installer_win32/tpp.iss
Modified: trunk/trans_proteomic_pipeline/html/index.html
===================================================================
--- trunk/trans_proteomic_pipeline/html/index.html 2025-04-09 07:29:39 UTC (rev 9463)
+++ trunk/trans_proteomic_pipeline/html/index.html 2025-04-09 07:38:34 UTC (rev 9464)
@@ -40,7 +40,7 @@
<h1 class="section">Resources</h1>
<p>Externally available resources for TPP</p>
<a class="tppinfobox c2" target="tppext" href="http://www.tppms.org"><h2>tppms.org</h2>Main landing page for TPP, with info and links</a>
-<a class="tppinfobox c2" target="tppext" href="http://tools.proteomecenter.org/wiki/index.php?title=TPP:7.2.0_Release_Notes"><h2>Release Notes</h2>List of changes and updates for this TPP version</a>
+<a class="tppinfobox c2" target="tppext" href="http://tools.proteomecenter.org/wiki/index.php?title=TPP:7.3.0_Release_Notes"><h2>Release Notes</h2>List of changes and updates for this TPP version</a>
<a class="tppinfobox c2" target="tppext" href="http://groups.google.com/group/spctools-discuss"><h2>spctools-discuss</h2>Main discussion group for TPP tools</a>
<a class="tppinfobox c2" target="tppext" href="http://groups.google.com/group/spctools-announce"><h2>spctools-announce</h2>Group for general TPP announcements</a>
Modified: trunk/trans_proteomic_pipeline/installer_win32/innodependencyinstaller/scripts/products.iss
===================================================================
--- trunk/trans_proteomic_pipeline/installer_win32/innodependencyinstaller/scripts/products.iss 2025-04-09 07:29:39 UTC (rev 9463)
+++ trunk/trans_proteomic_pipeline/installer_win32/innodependencyinstaller/scripts/products.iss 2025-04-09 07:38:34 UTC (rev 9464)
@@ -241,7 +241,7 @@
function IsIA64: boolean;
begin
- Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paIA64);
+ Result := false;
end;
function GetString(x86, x64, ia64: String): String;
Modified: trunk/trans_proteomic_pipeline/installer_win32/tpp.iss
===================================================================
--- trunk/trans_proteomic_pipeline/installer_win32/tpp.iss 2025-04-09 07:29:39 UTC (rev 9463)
+++ trunk/trans_proteomic_pipeline/installer_win32/tpp.iss 2025-04-09 07:38:34 UTC (rev 9464)
@@ -223,7 +223,7 @@
LightMsgPage := CreateOutputMsgPage(wpWelcome,
'TPP Installation Help', 'Getting installation assistance',
'Welcome to the TPP installation process. If you need assistance with ' +
- 'the installation or the TPP in general, please refer to our support and ' +
+ 'the installation or TPP in general, please refer to our support and ' +
'discussion newsgroup at:'#13#13 +
'http://groups.google.com/group/spctools-discuss'#13#13 +
'and the TPP Wiki at:'#13#13 +
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-09 07:29:57
|
Revision: 9463
http://sourceforge.net/p/sashimi/code/9463
Author: real_procopio
Date: 2025-04-09 07:29:39 +0000 (Wed, 09 Apr 2025)
Log Message:
-----------
[Comet] Update to V.2025.01.1
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/extern/Makefile
Added Paths:
-----------
trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip
Removed Paths:
-------------
trunk/trans_proteomic_pipeline/extern/comet_source_2024020.zip
Modified: trunk/trans_proteomic_pipeline/extern/Makefile
===================================================================
--- trunk/trans_proteomic_pipeline/extern/Makefile 2025-04-09 07:27:47 UTC (rev 9462)
+++ trunk/trans_proteomic_pipeline/extern/Makefile 2025-04-09 07:29:39 UTC (rev 9463)
@@ -414,7 +414,7 @@
#
# http://comet-ms.sourceforge.net/
#
-COMET_VER := 2024020
+COMET_VER := 2025011
COMET_ZIP := $(TPP_EXT)/comet_source_$(COMET_VER).zip
COMET_SRC := $(BUILD_SRC)/comet_source_$(COMET_VER)
.PHONY: comet comet-source comet-clean
Deleted: trunk/trans_proteomic_pipeline/extern/comet_source_2024020.zip
===================================================================
(Binary files differ)
Added: trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip
===================================================================
(Binary files differ)
Index: trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip
===================================================================
--- trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip 2025-04-09 07:27:47 UTC (rev 9462)
+++ trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip 2025-04-09 07:29:39 UTC (rev 9463)
Property changes on: trunk/trans_proteomic_pipeline/extern/comet_source_2025011.zip
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-09 07:28:05
|
Revision: 9462
http://sourceforge.net/p/sashimi/code/9462
Author: real_procopio
Date: 2025-04-09 07:27:47 +0000 (Wed, 09 Apr 2025)
Log Message:
-----------
[PWiz] Revert VERSION string for successful compilation in Windows...
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/extern/ProteoWizard/pwiz-src/VERSION
Modified: trunk/trans_proteomic_pipeline/extern/ProteoWizard/pwiz-src/VERSION
===================================================================
--- trunk/trans_proteomic_pipeline/extern/ProteoWizard/pwiz-src/VERSION 2025-04-08 22:38:18 UTC (rev 9461)
+++ trunk/trans_proteomic_pipeline/extern/ProteoWizard/pwiz-src/VERSION 2025-04-09 07:27:47 UTC (rev 9462)
@@ -1 +1 @@
-3.0.24305
\ No newline at end of file
+#define PWIZ_VERSION "3 0 24305 20f5d8c"
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-08 22:38:37
|
Revision: 9461
http://sourceforge.net/p/sashimi/code/9461
Author: real_procopio
Date: 2025-04-08 22:38:18 +0000 (Tue, 08 Apr 2025)
Log Message:
-----------
[TPP files] Replace backslashes with forward ones. [Petunia] Point to updated Python in regis
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/perl/cgi-bin/tpp_files.pl
trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
Modified: trunk/trans_proteomic_pipeline/perl/cgi-bin/tpp_files.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/cgi-bin/tpp_files.pl 2025-04-08 20:26:13 UTC (rev 9460)
+++ trunk/trans_proteomic_pipeline/perl/cgi-bin/tpp_files.pl 2025-04-08 22:38:18 UTC (rev 9461)
@@ -40,6 +40,8 @@
my $in_windows = ($^O eq 'MSWin32');
my $datadir = $cgi_query->param('datadir') || tpplib_perl::getDataPath();
+$datadir =~ s|\\|/|g;
+
my $action = $cgi_query->param('action') || 'dirlist'; #default
my $filter = $cgi_query->param('filter') || '';
my $sortby = $cgi_query->param('sort') || 'fname_asc';
Modified: trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl 2025-04-08 20:26:13 UTC (rev 9460)
+++ trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl 2025-04-08 22:38:18 UTC (rev 9461)
@@ -4501,7 +4501,7 @@
# export LC_ALL=C
# tdf2mzml.py <options>
my $ld_lib_path = dirname($command{tdf2mzml});
- my $py_lib_path = readconfig('pythonpath', "/proteomics/sw/python/Ubuntu20");
+ my $py_lib_path = readconfig('pythonpath', "/proteomics/sw/python/Ubuntu24");
my @commands;
for my $file (@file_list) {
my $out_file = $file;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-08 20:26:32
|
Revision: 9460
http://sourceforge.net/p/sashimi/code/9460
Author: real_procopio
Date: 2025-04-08 20:26:13 +0000 (Tue, 08 Apr 2025)
Log Message:
-----------
[version] The winds of change...
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/VERSION.mk
Modified: trunk/trans_proteomic_pipeline/VERSION.mk
===================================================================
--- trunk/trans_proteomic_pipeline/VERSION.mk 2025-04-08 20:16:49 UTC (rev 9459)
+++ trunk/trans_proteomic_pipeline/VERSION.mk 2025-04-08 20:26:13 UTC (rev 9460)
@@ -6,6 +6,6 @@
# use -a<N> for alpha, and -b<N> for beta builds, where <N> is incremented for
# each new build.
-TPP_VERSION := 7.2.1dev
+TPP_VERSION := 7.3.0
# What's the name of this TPP release
-TPP_RELEASE := Bombogenesis
+TPP_RELEASE := Trade Wind
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-08 20:17:07
|
Revision: 9459
http://sourceforge.net/p/sashimi/code/9459
Author: real_procopio
Date: 2025-04-08 20:16:49 +0000 (Tue, 08 Apr 2025)
Log Message:
-----------
[Cuva/ShowXIC] Configuration tweaks for Windows
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/js/cuvalibre.js
trunk/trans_proteomic_pipeline/html/js/showxic.js
trunk/trans_proteomic_pipeline/installer_win32/tpp.iss
Modified: trunk/trans_proteomic_pipeline/html/js/cuvalibre.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/cuvalibre.js 2025-04-08 20:11:23 UTC (rev 9458)
+++ trunk/trans_proteomic_pipeline/html/js/cuvalibre.js 2025-04-08 20:16:49 UTC (rev 9459)
@@ -69,7 +69,7 @@
// /////
document.body.style.cursor = "default";
- window.history.replaceState(null, null, "//"+ window.location.hostname + window.location.pathname + '?file='+file);
+ window.history.replaceState(null, null, "//"+ window.location.host + window.location.pathname + '?file='+file);
var chart = {};
chart['type'] = 'scatter';
Modified: trunk/trans_proteomic_pipeline/html/js/showxic.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-04-08 20:11:23 UTC (rev 9458)
+++ trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-04-08 20:16:49 UTC (rev 9459)
@@ -272,7 +272,7 @@
url_params += "&"+param+"="+_hit_data[param];
}
document.title = "XIC: "+ mzfile.substring(mzfile.lastIndexOf('/') + 1);
- history.pushState({"mzfile":mzfile, "data":data, "hit":_hit_data}, document.title, "//"+ window.location.hostname + window.location.pathname + '?'+url_params);
+ history.pushState({"mzfile":mzfile, "data":data, "hit":_hit_data}, document.title, "//"+ window.location.host + window.location.pathname + '?'+url_params);
render_data(mzfile,data);
})
.catch(error => {
Modified: trunk/trans_proteomic_pipeline/installer_win32/tpp.iss
===================================================================
--- trunk/trans_proteomic_pipeline/installer_win32/tpp.iss 2025-04-08 20:11:23 UTC (rev 9458)
+++ trunk/trans_proteomic_pipeline/installer_win32/tpp.iss 2025-04-08 20:16:49 UTC (rev 9459)
@@ -577,6 +577,16 @@
Seq2MSPage.Values[2],Seq2MSPage.Values[3],
DataDirPage.Values[0] + '\params'
);
+ UpdateConf( ExpandConstant('{app}') + '\html\js\cuvalibre.js',
+ ExpandConstant('{app}'),
+ DataDirPage.Values[0],
+ ExpandConstant('{#TPP_BASEURL}'),
+ ExpandConstant('{#TPP_DATAURL}'),
+ TPPPortPage.Values[0],
+ Seq2MSPage.Values[0],Seq2MSPage.Values[1],
+ Seq2MSPage.Values[2],Seq2MSPage.Values[3],
+ DataDirPage.Values[0] + '\params'
+ );
UpdateConf( ExpandConstant('{app}') + '\html\js\plotpp.js',
ExpandConstant('{app}'),
DataDirPage.Values[0],
@@ -607,6 +617,16 @@
Seq2MSPage.Values[2],Seq2MSPage.Values[3],
DataDirPage.Values[0] + '\params'
);
+ UpdateConf( ExpandConstant('{app}') + '\html\js\showxic.js',
+ ExpandConstant('{app}'),
+ DataDirPage.Values[0],
+ ExpandConstant('{#TPP_BASEURL}'),
+ ExpandConstant('{#TPP_DATAURL}'),
+ TPPPortPage.Values[0],
+ Seq2MSPage.Values[0],Seq2MSPage.Values[1],
+ Seq2MSPage.Values[2],Seq2MSPage.Values[3],
+ DataDirPage.Values[0] + '\params'
+ );
UpdateConf( ExpandConstant('{app}') + '\html\js\tpp.js',
ExpandConstant('{app}'),
DataDirPage.Values[0],
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-04-08 20:11:40
|
Revision: 9458
http://sourceforge.net/p/sashimi/code/9458
Author: real_procopio
Date: 2025-04-08 20:11:23 +0000 (Tue, 08 Apr 2025)
Log Message:
-----------
[Quetzal] Remove outdated code and related config; will re-add newer version at a later date
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/conf/httpd-2.4-tpp.conf
trunk/trans_proteomic_pipeline/conf/httpd-tpp.conf
trunk/trans_proteomic_pipeline/html/Makefile
Removed Paths:
-------------
trunk/trans_proteomic_pipeline/html/quetzal/
Modified: trunk/trans_proteomic_pipeline/conf/httpd-2.4-tpp.conf
===================================================================
--- trunk/trans_proteomic_pipeline/conf/httpd-2.4-tpp.conf 2025-04-02 00:05:29 UTC (rev 9457)
+++ trunk/trans_proteomic_pipeline/conf/httpd-2.4-tpp.conf 2025-04-08 20:11:23 UTC (rev 9458)
@@ -111,11 +111,6 @@
Options Includes MultiViews
</Directory>
-# Redirect TPP :: QUETZAL
-Alias /_TPP_BASEURL_/quetzal "_INSTALL_DIR_/html/quetzal"
-<Directory "_INSTALL_DIR_/html/quetzal">
- Options Includes MultiViews
-</Directory>
# Support legacy URLs that may appear in TPP outputted files
Alias /ISB/schema /_TPP_BASEURL_/schema
Modified: trunk/trans_proteomic_pipeline/conf/httpd-tpp.conf
===================================================================
--- trunk/trans_proteomic_pipeline/conf/httpd-tpp.conf 2025-04-02 00:05:29 UTC (rev 9457)
+++ trunk/trans_proteomic_pipeline/conf/httpd-tpp.conf 2025-04-08 20:11:23 UTC (rev 9458)
@@ -109,11 +109,6 @@
Options Includes MultiViews
</Directory>
-# Redirect TPP :: QUETZAL
-Alias /_TPP_BASEURL_/quetzal "_INSTALL_DIR_/html/quetzal"
-<Directory "_INSTALL_DIR_/html/quetzal">
- Options Includes MultiViews
-</Directory>
# Support legacy URLs that may appear in TPP outputted files
Alias /ISB/schema /_TPP_BASEURL_/schema
Modified: trunk/trans_proteomic_pipeline/html/Makefile
===================================================================
--- trunk/trans_proteomic_pipeline/html/Makefile 2025-04-02 00:05:29 UTC (rev 9457)
+++ trunk/trans_proteomic_pipeline/html/Makefile 2025-04-08 20:11:23 UTC (rev 9458)
@@ -31,26 +31,8 @@
# Include the TPP configuration and default rules
include $(or $(SRC_DIR),$(abspath ..))/common.mk
-INSTALL_QUETZAL := $(INSTALL_WWW)/quetzal
-
-BUILD_QUETZAL := $(BUILD_WWW)/quetzal
-
WWW_DIR := $(SRC_DIR)/html
-QZL_DIR := $(WWW_DIR)/quetzal
-
-QZL_TEXT := $(wildcard \
- $(QZL_DIR)/js/*.js \
- $(QZL_DIR)/js/chartJS/* \
- $(QZL_DIR)/css/*.css \
- $(QZL_DIR)/*.html \
- $(QZL_DIR)/*.json \
- )
-
-QZL_IMAGES := $(wildcard \
- $(QZL_DIR)/images/*.png \
- )
-
WWW_TEXT := $(wildcard \
$(WWW_DIR)/*.html \
$(WWW_DIR)/js/*.js \
@@ -69,10 +51,7 @@
WWW_TXT := $(subst $(WWW_DIR),$(BUILD_WWW),$(WWW_TEXT))
WWW_IMG := $(subst $(WWW_DIR),$(BUILD_WWW),$(WWW_IMAGES))
-QZL_TXT := $(subst $(QZL_DIR),$(BUILD_QUETZAL),$(QZL_TEXT))
-QZL_IMG := $(subst $(QZL_DIR),$(BUILD_QUETZAL),$(QZL_IMAGES))
-
# -- HELP ----------------------------------------------------------------------
#
help ::
@@ -87,8 +66,6 @@
@echo "Additional information for html:"
@echo " WWW_TXT = $(WWW_TXT)"
@echo " WWW_IMG = $(WWW_IMG)"
- @echo " QZL_TXT = $(QZL_TXT)"
- @echo " QZL_IMG = $(QZL_IMG)"
@echo
@@ -98,21 +75,15 @@
# Top level
.PHONY: html
all : html
-html : $(WWW_TXT) $(WWW_IMG) $(QZL_TXT) $(QZL_IMG)
+html : $(WWW_TXT) $(WWW_IMG)
# Which web server templates...
ifeq ($(SYSTEM),mingw32)
-QUETZAL_URL := /tpp/quetzal/
# ...windows installer will fill in TPP_BASEURL and TPP_DATADIR
$(WWW_TXT) : $(BUILD_WWW)/% : $(WWW_DIR)/% | $(MKDIR)
cp $< $@
sed $(SED_OPT) 's#_TPP_BUILDID_#$(TPP_BUILDID)#g' $@
- sed $(SED_OPT) 's#_QUETZAL_URL_#$(QUETZAL_URL)#g' $@
-$(QZL_TXT) : $(BUILD_QUETZAL)/% : $(QZL_DIR)/% | $(MKDIR)
- cp $< $@
- sed $(SED_OPT) 's#_TPP_BUILDID_#$(TPP_BUILDID)#g' $@
-
else
# ...replace template values with TPP config
$(WWW_TXT) : $(BUILD_WWW)/% : $(WWW_DIR)/% | $(MKDIR)
@@ -122,15 +93,7 @@
sed $(SED_OPT) 's#_TPP_DATADIR_#$(TPP_DATADIR)#g' $@
sed $(SED_OPT) 's#_SEQ2MS_SOURCE_URL_#$(SEQ2MS_SOURCE_URL)#g' $@
sed $(SED_OPT) 's#_SEQ2MS_DEFAULT_MODEL_#$(SEQ2MS_DEFAULT_MODEL)#g' $@
- sed $(SED_OPT) 's#_QUETZAL_URL_#$(QUETZAL_URL)#g' $@
-
-$(QZL_TXT) : $(BUILD_QUETZAL)/% : $(QZL_DIR)/% | $(MKDIR)
- cp $< $@
- sed $(SED_OPT) 's#_TPP_BUILDID_#$(TPP_BUILDID)#g' $@
- sed $(SED_OPT) 's#_TPP_BASEURL_#$(TPP_BASEURL)#g' $@
- sed $(SED_OPT) 's#_TPP_DATADIR_#$(TPP_DATADIR)#g' $@
-
endif
@@ -137,21 +100,15 @@
$(WWW_IMG) : $(BUILD_WWW)/% : $(WWW_DIR)/% | $(MKDIR)
cp $< $@
-$(QZL_IMG) : $(BUILD_QUETZAL)/% : $(QZL_DIR)/% | $(MKDIR)
- cp $< $@
-
# -- INSTALL -------------------------------------------------------------------
#
install :: $(subst $(BUILD_WWW),$(INSTALL_WWW),$(WWW_TXT))
install :: $(subst $(BUILD_WWW),$(INSTALL_WWW),$(WWW_IMG))
-install :: $(subst $(BUILD_QUETZAL),$(INSTALL_QUETZAL),$(QZL_TXT))
-install :: $(subst $(BUILD_QUETZAL),$(INSTALL_QUETZAL),$(QZL_IMG))
-
# -- CLEAN --------------------------------------------------------------------
#
.PHONY: html-clean
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <en...@us...> - 2025-04-02 00:05:45
|
Revision: 9457
http://sourceforge.net/p/sashimi/code/9457
Author: eng_jk
Date: 2025-04-02 00:05:29 +0000 (Wed, 02 Apr 2025)
Log Message:
-----------
Finally fix expect score filtering when small values previous end up as 0.0000, messing up subsequent page updates. Also changed the integer param values to show as integers instead of decimal numbers.
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PipelineAnalysis.cpp
trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/html/PepXMLViewer.html
Modified: trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PipelineAnalysis.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PipelineAnalysis.cpp 2025-01-18 08:13:51 UTC (rev 9456)
+++ trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PipelineAnalysis.cpp 2025-04-02 00:05:29 UTC (rev 9457)
@@ -396,12 +396,23 @@
// cout << "creating filter parameter " << filterParam << "<br/>" << endl;
char t[255];
- if (filterParam.rfind("sprank", filterParam.length()) != string::npos) {
- // maintain integer value for sprank-related fields
- sprintf(t, "%d",(int)((*it).second.filterVec_[j])->testValue_);
+ if (filterParam.rfind("sprank", filterParam.length()) != string::npos
+ || filterParam.rfind("start_scan", filterParam.length()) != string::npos
+ || filterParam.rfind("num_tol_term", filterParam.length()) != string::npos
+ || filterParam.rfind("num_missed_cleavages", filterParam.length()) != string::npos
+ || filterParam.rfind("pep_length", filterParam.length()) != string::npos
+ || filterParam.rfind("num_prots", filterParam.length()) != string::npos
+ || filterParam.rfind("num_saavs_min", filterParam.length()) != string::npos
+ || filterParam.rfind("num_saavs_max", filterParam.length()) != string::npos
+ || filterParam.rfind("peff_mods", filterParam.length()) != string::npos) {
+ // maintain integer value for sprank-related fields
+ sprintf(t, "%d",(int)((*it).second.filterVec_[j])->testValue_);
}
+ else if (filterParam.rfind("expect", filterParam.length()) != string::npos){
+ sprintf(t, "%0.2e",((*it).second.filterVec_[j])->testValue_);
+ }
else {
- sprintf(t, "%1.4f",((*it).second.filterVec_[j])->testValue_);
+ sprintf(t, "%1.4f",((*it).second.filterVec_[j])->testValue_);
}
generalInfo_[filterParam] = t;
}
Modified: trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/html/PepXMLViewer.html
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/html/PepXMLViewer.html 2025-01-18 08:13:51 UTC (rev 9456)
+++ trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/html/PepXMLViewer.html 2025-04-02 00:05:29 UTC (rev 9457)
@@ -1090,9 +1090,9 @@
<tr class="hoverable">
<td></td>
<td>
- min expect: <input name="FmSexpect" size="6" maxlength="8" type="text" value="__mSexpect__" onkeypress="checkEnter(event);"/>
+ min expect: <input name="FmSexpect" size="6" maxlength="12" type="text" value="__mSexpect__" onkeypress="checkEnter(event);"/>
- max expect: <input name="FMSexpect" size="6" maxlength="8" type="text" value="__MSexpect__" onkeypress="checkEnter(event);"/>
+ max expect: <input name="FMSexpect" size="6" maxlength="12" type="text" value="__MSexpect__" onkeypress="checkEnter(event);"/>
</td>
</tr>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-01-18 08:13:54
|
Revision: 9456
http://sourceforge.net/p/sashimi/code/9456
Author: real_procopio
Date: 2025-01-18 08:13:51 +0000 (Sat, 18 Jan 2025)
Log Message:
-----------
[ProteoGrapher] Remove links to ProteoGrapher; consider reinstating when/if it can be made more performant, and with recent GO data. Remove old/obsolete custom GO definition files of unknown provenance
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/perl/cgi-bin/ProtXMLViewer.pl
trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
Removed Paths:
-------------
trunk/trans_proteomic_pipeline/html/ref/godefs.json
trunk/trans_proteomic_pipeline/html/ref/terms_bp.json
trunk/trans_proteomic_pipeline/html/ref/terms_cc.json
trunk/trans_proteomic_pipeline/html/ref/terms_mf.json
Deleted: trunk/trans_proteomic_pipeline/html/ref/godefs.json
===================================================================
--- trunk/trans_proteomic_pipeline/html/ref/godefs.json 2025-01-18 07:27:54 UTC (rev 9455)
+++ trunk/trans_proteomic_pipeline/html/ref/godefs.json 2025-01-18 08:13:51 UTC (rev 9456)
@@ -1,201875 +0,0 @@
- {
- "GO:1903097" : {
- "GO:0010847" : "regulation of chromatin assembly",
- "GO:0090230" : "regulation of centromere complex assembly",
- "GO:1900049" : "regulation of histone exchange",
- "GO:0043254" : "regulation of protein complex assembly",
- "name" : "regulation of CENP-A containing nucleosome assembly"
- },
- "GO:2001001" : {
- "GO:0009895" : "negative regulation of catabolic process",
- "GO:1903339" : "negative regulation of cell wall organization or biogenesis",
- "GO:0031324" : "negative regulation of cellular metabolic process",
- "name" : "negative regulation of xylan catabolic process",
- "GO:2001000" : "regulation of xylan catabolic process",
- "GO:2000925" : "negative regulation of cellodextrin metabolic process"
- },
- "GO:0006285" : {
- "name" : "base-excision repair, AP site formation",
- "GO:0006259" : "DNA metabolic process"
- },
- "GO:0015777" : {
- "GO:1901264" : "carbohydrate derivative transport",
- "name" : "teichoic acid transport"
- },
- "GO:0008750" : {
- "name" : "NAD(P)+ transhydrogenase (AB-specific) activity",
- "GO:0008746" : "NAD(P)+ transhydrogenase activity"
- },
- "GO:0018961" : {
- "GO:0042537" : "benzene-containing compound metabolic process",
- "name" : "pentachlorophenol metabolic process",
- "GO:0018958" : "phenol-containing compound metabolic process"
- },
- "GO:0061408" : {
- "name" : "positive regulation of transcription from RNA polymerase II promoter in response to heat stress",
- "GO:0036003" : "positive regulation of transcription from RNA polymerase II promoter in response to stress",
- "GO:0034605" : "cellular response to heat"
- },
- "GO:0030839" : {
- "GO:0032271" : "regulation of protein polymerization",
- "name" : "regulation of intermediate filament polymerization",
- "GO:0045108" : "regulation of intermediate filament polymerization or depolymerization"
- },
- "GO:0021727" : {
- "name" : "intermediate reticular formation development",
- "GO:0048856" : "anatomical structure development",
- "GO:0044767" : "single-organism developmental process"
- },
- "GO:2000960" : {
- "name" : "regulation of cellooligosaccharide metabolic process",
- "GO:0006109" : "regulation of carbohydrate metabolic process"
- },
- "GO:2000198" : {
- "GO:2000197" : "regulation of ribonucleoprotein complex localization",
- "GO:0048519" : "negative regulation of biological process",
- "name" : "negative regulation of ribonucleoprotein complex localization"
- },
- "GO:0042250" : {
- "name" : "maintenance of polarity of embryonic epithelium",
- "GO:0016332" : "establishment or maintenance of polarity of embryonic epithelium"
- },
- "GO:0006634" : {
- "GO:0046184" : "aldehyde biosynthetic process",
- "GO:0046458" : "hexadecanal metabolic process",
- "name" : "hexadecanal biosynthetic process"
- },
- "GO:0005368" : {
- "GO:1901682" : "sulfur compound transmembrane transporter activity",
- "name" : "taurine transmembrane transporter activity"
- },
- "GO:0070126" : {
- "GO:0006415" : "translational termination",
- "name" : "mitochondrial translational termination"
- },
- "GO:0002351" : {
- "name" : "serotonin production involved in inflammatory response",
- "GO:0002532" : "production of molecular mediator involved in inflammatory response"
- },
- "GO:0000931" : {
- "GO:0000930" : "gamma-tubulin complex",
- "name" : "gamma-tubulin large complex"
- },
- "GO:1904414" : {
- "GO:1904412" : "regulation of cardiac ventricle development",
- "name" : "positive regulation of cardiac ventricle development",
- "GO:0051094" : "positive regulation of developmental process",
- "GO:0051240" : "positive regulation of multicellular organismal process"
- },
- "GO:0030104" : {
- "name" : "water homeostasis",
- "GO:0048878" : "chemical homeostasis"
- },
- "GO:0060071" : {
- "GO:0035567" : "non-canonical Wnt signaling pathway",
- "GO:0090175" : "regulation of establishment of planar polarity",
- "name" : "Wnt signaling pathway, planar cell polarity pathway"
- },
- "GO:0031780" : {
- "GO:0031779" : "melanocortin receptor binding",
- "name" : "corticotropin hormone receptor binding"
- },
- "GO:0070118" : {
- "name" : "organellar chromatophore thylakoid membrane",
- "GO:0042651" : "thylakoid membrane",
- "GO:0044433" : "cytoplasmic vesicle part"
- },
- "GO:1990378" : {
- "GO:0044798" : "nuclear transcription factor complex",
- "name" : "upstream stimulatory factor complex"
- },
- "GO:0002248" : {
- "GO:0097709" : "connective tissue replacement",
- "name" : "connective tissue replacement involved in inflammatory response wound healing"
- },
- "GO:0002185" : {
- "GO:0061695" : "transferase complex, transferring phosphorus-containing groups",
- "name" : "creatine kinase complex"
- },
- "GO:0042714" : {
- "GO:0034622" : "cellular macromolecular complex assembly",
- "name" : "dosage compensation complex assembly"
- },
- "GO:0048242" : {
- "GO:0046879" : "hormone secretion",
- "GO:0048241" : "epinephrine transport",
- "name" : "epinephrine secretion",
- "GO:0050432" : "catecholamine secretion"
- },
- "GO:0003272" : {
- "name" : "endocardial cushion formation",
- "GO:0048646" : "anatomical structure formation involved in morphogenesis",
- "GO:0044767" : "single-organism developmental process"
- },
- "GO:0042289" : {
- "GO:0042287" : "MHC protein binding",
- "name" : "MHC class II protein binding"
- },
- "GO:0032450" : {
- "name" : "maltose alpha-glucosidase activity",
- "GO:0090599" : "alpha-glucosidase activity"
- },
- "GO:0030091" : {
- "GO:0044267" : "cellular protein metabolic process",
- "name" : "protein repair"
- },
- "GO:0031887" : {
- "GO:0010970" : "establishment of localization by movement along microtubule",
- "GO:1902580" : "single-organism cellular localization",
- "GO:0051656" : "establishment of organelle localization",
- "name" : "lipid particle transport along microtubule",
- "GO:0044765" : "single-organism transport"
- },
- "GO:0051071" : {
- "GO:0044723" : "single-organism carbohydrate metabolic process",
- "GO:1901135" : "carbohydrate derivative metabolic process",
- "GO:0006082" : "organic acid metabolic process",
- "name" : "4,6-pyruvylated galactose residue metabolic process",
- "GO:0044264" : "cellular polysaccharide metabolic process"
- },
- "GO:0031747" : {
- "GO:0031745" : "cysteinyl leukotriene receptor binding",
- "name" : "type 2 cysteinyl leukotriene receptor binding"
- },
- "GO:0018528" : {
- "GO:0016645" : "oxidoreductase activity, acting on the CH-NH group of donors",
- "name" : "iminodiacetate dehydrogenase activity"
- },
- "GO:1990601" : {
- "name" : "5' overhang single-stranded DNA endodeoxyribonuclease activity",
- "GO:0000014" : "single-stranded DNA endodeoxyribonuclease activity"
- },
- "GO:0035758" : {
- "name" : "chemokine (C-C motif) ligand 21 binding",
- "GO:0019957" : "C-C chemokine binding"
- },
- "GO:0033464" : {
- "GO:0030533" : "triplet codon-amino acid adaptor activity",
- "name" : "GGG codon-amino acid adaptor activity"
- },
- "GO:0032828" : {
- "GO:0032825" : "positive regulation of natural killer cell differentiation",
- "name" : "positive regulation of natural killer cell differentiation involved in immune response",
- "GO:0050778" : "positive regulation of immune response",
- "GO:0032826" : "regulation of natural killer cell differentiation involved in immune response",
- "GO:0002699" : "positive regulation of immune effector process"
- },
- "GO:0061037" : {
- "GO:0051093" : "negative regulation of developmental process",
- "GO:0051241" : "negative regulation of multicellular organismal process",
- "name" : "negative regulation of cartilage development",
- "GO:0061035" : "regulation of cartilage development"
- },
- "GO:0016802" : {
- "GO:0016801" : "hydrolase activity, acting on ether bonds",
- "name" : "trialkylsulfonium hydrolase activity"
- },
- "GO:0019108" : {
- "name" : "aryl-aldehyde dehydrogenase (NAD) activity",
- "GO:0004029" : "aldehyde dehydrogenase (NAD) activity"
- },
- "GO:0046707" : {
- "GO:0009179" : "purine ribonucleoside diphosphate metabolic process",
- "GO:0009150" : "purine ribonucleotide metabolic process",
- "name" : "IDP metabolic process"
- },
- "GO:2000594" : {
- "GO:0072216" : "positive regulation of metanephros development",
- "name" : "positive regulation of metanephric DCT cell differentiation",
- "GO:2000592" : "regulation of metanephric DCT cell differentiation",
- "GO:0045597" : "positive regulation of cell differentiation"
- },
- "GO:0004305" : {
- "GO:0016301" : "kinase activity",
- "GO:0016773" : "phosphotransferase activity, alcohol group as acceptor",
- "name" : "ethanolamine kinase activity"
- },
- "GO:0048586" : {
- "name" : "regulation of long-day photoperiodism, flowering",
- "GO:2000028" : "regulation of photoperiodism, flowering"
- },
- "GO:0010872" : {
- "GO:0019218" : "regulation of steroid metabolic process",
- "name" : "regulation of cholesterol esterification",
- "GO:0031323" : "regulation of cellular metabolic process"
- },
- "GO:0030634" : {
- "GO:0006085" : "acetyl-CoA biosynthetic process",
- "GO:0044763" : "single-organism cellular process",
- "GO:0015977" : "carbon fixation",
- "GO:0044711" : "single-organism biosynthetic process",
- "name" : "carbon fixation by acetyl-CoA pathway"
- },
- "GO:0070757" : {
- "name" : "interleukin-35-mediated signaling pathway",
- "GO:0019221" : "cytokine-mediated signaling pathway"
- },
- "GO:0048288" : {
- "GO:0000740" : "nuclear membrane fusion",
- "name" : "nuclear membrane fusion involved in karyogamy"
- },
- "GO:1904341" : {
- "name" : "regulation of colon smooth muscle contraction",
- "GO:1904304" : "regulation of gastro-intestinal system smooth muscle contraction"
- },
- "GO:0050055" : {
- "GO:0052689" : "carboxylic ester hydrolase activity",
- "name" : "limonin-D-ring-lactonase activity"
- },
- "GO:0036058" : {
- "GO:0007043" : "cell-cell junction assembly",
- "name" : "filtration diaphragm assembly"
- },
- "GO:0050199" : {
- "name" : "piperidine N-piperoyltransferase activity",
- "GO:0016747" : "transferase activity, transferring acyl groups other than amino-acyl groups"
- },
- "GO:0046950" : {
- "GO:0044763" : "single-organism cellular process",
- "name" : "cellular ketone body metabolic process",
- "GO:0044237" : "cellular metabolic process",
- "GO:0044281" : "small molecule metabolic process"
- },
- "GO:0048102" : {
- "GO:0012501" : "programmed cell death",
- "name" : "autophagic cell death"
- },
- "GO:1901526" : {
- "GO:1901524" : "regulation of macromitophagy",
- "GO:0016239" : "positive regulation of macroautophagy",
- "GO:1903599" : "positive regulation of mitophagy",
- "name" : "positive regulation of macromitophagy"
- },
- "GO:0043535" : {
- "name" : "regulation of blood vessel endothelial cell migration",
- "GO:0010594" : "regulation of endothelial cell migration"
- },
- "GO:0039008" : {
- "GO:0072078" : "nephron tubule morphogenesis",
- "name" : "pronephric nephron tubule morphogenesis"
- },
- "GO:0097576" : {
- "GO:0048284" : "organelle fusion",
- "GO:0007033" : "vacuole organization",
- "name" : "vacuole fusion"
- },
- "GO:0030336" : {
- "GO:0030334" : "regulation of cell migration",
- "name" : "negative regulation of cell migration",
- "GO:2000146" : "negative regulation of cell motility"
- },
- "GO:0045082" : {
- "GO:0032733" : "positive regulation of interleukin-10 production",
- "name" : "positive regulation of interleukin-10 biosynthetic process",
- "GO:0042108" : "positive regulation of cytokine biosynthetic process",
- "GO:0045074" : "regulation of interleukin-10 biosynthetic process"
- },
- "GO:0016661" : {
- "name" : "oxidoreductase activity, acting on other nitrogenous compounds as donors",
- "GO:0016491" : "oxidoreductase activity"
- },
- "GO:0036228" : {
- "GO:0006612" : "protein targeting to membrane",
- "GO:0044744" : "protein targeting to nucleus",
- "name" : "protein targeting to nuclear inner membrane",
- "GO:0090435" : "protein localization to nuclear envelope"
- },
- "GO:0035102" : {
- "GO:0000152" : "nuclear ubiquitin ligase complex",
- "GO:0031519" : "PcG protein complex",
- "name" : "PRC1 complex"
- },
- "GO:0021646" : {
- "GO:0021603" : "cranial nerve formation",
- "name" : "vagus nerve formation"
- },
- "GO:0046543" : {
- "name" : "development of secondary female sexual characteristics",
- "GO:0045136" : "development of secondary sexual characteristics"
- },
- "GO:1904866" : {
- "name" : "ventral tegmental area development",
- "GO:0048856" : "anatomical structure development"
- },
- "GO:0034314" : {
- "name" : "Arp2/3 complex-mediated actin nucleation",
- "GO:0045010" : "actin nucleation"
- },
- "GO:0072124" : {
- "GO:1901342" : "regulation of vasculature development",
- "GO:0090192" : "regulation of glomerulus development",
- "name" : "regulation of glomerular mesangial cell proliferation",
- "GO:1901722" : "regulation of cell proliferation involved in kidney development"
- },
- "GO:0045098" : {
- "name" : "type III intermediate filament",
- "GO:0005882" : "intermediate filament"
- },
- "GO:0033003" : {
- "GO:0002694" : "regulation of leukocyte activation",
- "name" : "regulation of mast cell activation"
- },
- "GO:0030570" : {
- "GO:0016837" : "carbon-oxygen lyase activity, acting on polysaccharides",
- "name" : "pectate lyase activity"
- },
- "GO:0006265" : {
- "name" : "DNA topological change",
- "GO:0006259" : "DNA metabolic process",
- "GO:0071103" : "DNA conformation change"
- },
- "GO:0061477" : {
- "GO:0042221" : "response to chemical",
- "name" : "response to aromatase inhibitor"
- },
- "GO:0006151" : {
- "name" : "xanthine oxidation",
- "GO:0055114" : "oxidation-reduction process",
- "GO:0009115" : "xanthine catabolic process"
- },
- "GO:0033082" : {
- "name" : "regulation of extrathymic T cell differentiation",
- "GO:0045580" : "regulation of T cell differentiation"
- },
- "GO:0080005" : {
- "name" : "photosystem stoichiometry adjustment",
- "GO:0010109" : "regulation of photosynthesis"
- },
- "GO:0006612" : {
- "GO:0006605" : "protein targeting",
- "name" : "protein targeting to membrane",
- "GO:0072657" : "protein localization to membrane",
- "GO:0090150" : "establishment of protein localization to membrane",
- "GO:1902582" : "single-organism intracellular transport"
- },
- "GO:1990516" : {
- "name" : "ribonucleotide excision repair",
- "GO:0070716" : "mismatch repair involved in maintenance of fidelity involved in DNA-dependent DNA replication"
- },
- "GO:0033239" : {
- "GO:0031324" : "negative regulation of cellular metabolic process",
- "GO:0051172" : "negative regulation of nitrogen compound metabolic process",
- "name" : "negative regulation of cellular amine metabolic process",
- "GO:0033238" : "regulation of cellular amine metabolic process"
- },
- "GO:0043543" : {
- "GO:0006464" : "cellular protein modification process",
- "name" : "protein acylation"
- },
- "GO:0050733" : {
- "GO:0019904" : "protein domain specific binding",
- "name" : "RS domain binding"
- },
- "GO:0036484" : {
- "GO:0001755" : "neural crest cell migration",
- "name" : "trunk neural crest cell migration"
- },
- "GO:1904959" : {
- "GO:0032412" : "regulation of ion transmembrane transporter activity",
- "name" : "regulation of cytochrome-c oxidase activity",
- "GO:1904062" : "regulation of cation transmembrane transport",
- "GO:0051341" : "regulation of oxidoreductase activity",
- "GO:1904732" : "regulation of electron carrier activity",
- "GO:0010155" : "regulation of proton transport"
- },
- "GO:2001212" : {
- "GO:1901342" : "regulation of vasculature development",
- "name" : "regulation of vasculogenesis",
- "GO:0022603" : "regulation of anatomical structure morphogenesis",
- "GO:0045595" : "regulation of cell differentiation"
- },
- "GO:0007156" : {
- "GO:0098742" : "cell-cell adhesion via plasma-membrane adhesion molecules",
- "name" : "homophilic cell adhesion via plasma membrane adhesion molecules"
- },
- "GO:0034186" : {
- "name" : "apolipoprotein A-I binding",
- "GO:0034185" : "apolipoprotein binding"
- },
- "GO:1901872" : {
- "GO:0042181" : "ketone biosynthetic process",
- "GO:0009710" : "tropane alkaloid biosynthetic process",
- "GO:1901870" : "ecgonone methyl ester metabolic process",
- "name" : "ecgonone methyl ester biosynthetic process"
- },
- "GO:0018449" : {
- "GO:0016614" : "oxidoreductase activity, acting on CH-OH group of donors",
- "name" : "1-phenylethanol dehydrogenase activity"
- },
- "GO:0019566" : {
- "name" : "arabinose metabolic process",
- "GO:0019321" : "pentose metabolic process"
- },
- "GO:0006970" : {
- "name" : "response to osmotic stress",
- "GO:0006950" : "response to stress",
- "GO:0009628" : "response to abiotic stimulus"
- },
- "GO:0044470" : {
- "name" : "envenomation resulting in negative regulation of blood coagulation in other organism",
- "GO:0044468" : "envenomation resulting in modulation of blood coagulation in other organism",
- "GO:0044483" : "envenomation resulting in impairment of hemostasis in other organism"
- },
- "GO:0009113" : {
- "GO:0046112" : "nucleobase biosynthetic process",
- "GO:0046148" : "pigment biosynthetic process",
- "GO:0006144" : "purine nucleobase metabolic process",
- "name" : "purine nucleobase biosynthetic process",
- "GO:0072522" : "purine-containing compound biosynthetic process"
- },
- "GO:0070265" : {
- "name" : "necrotic cell death",
- "GO:0008219" : "cell death"
- },
- "GO:0031531" : {
- "GO:0051428" : "peptide hormone receptor binding",
- "GO:0001664" : "G-protein coupled receptor binding",
- "name" : "thyrotropin-releasing hormone receptor binding"
- },
- "GO:0097451" : {
- "GO:0097450" : "astrocyte end-foot",
- "name" : "glial limiting end-foot"
- },
- "GO:0097637" : {
- "GO:0097636" : "intrinsic component of autophagosome membrane",
- "name" : "integral component of autophagosome membrane",
- "GO:0031166" : "integral component of vacuolar membrane"
- },
- "GO:0007229" : {
- "name" : "integrin-mediated signaling pathway",
- "GO:0007166" : "cell surface receptor signaling pathway"
- },
- "GO:0098740" : {
- "GO:0007155" : "cell adhesion",
- "name" : "multi organism cell adhesion",
- "GO:0051704" : "multi-organism process"
- },
- "GO:0003239" : {
- "name" : "conus arteriosus morphogenesis",
- "GO:0003206" : "cardiac chamber morphogenesis"
- },
- "GO:0090375" : {
- "GO:0097201" : "negative regulation of transcription from RNA polymerase II promoter in response to stress",
- "name" : "negative regulation of transcription from RNA polymerase II promoter in response to iron ion starvation",
- "GO:0033217" : "regulation of transcription from RNA polymerase II promoter in response to iron ion starvation"
- },
- "GO:0034203" : {
- "name" : "glycolipid translocation",
- "GO:0034204" : "lipid translocation",
- "GO:0046836" : "glycolipid transport"
- },
- "GO:0071820" : {
- "name" : "N-box binding",
- "GO:0044212" : "transcription regulatory region DNA binding"
- },
- "GO:0044372" : {
- "name" : "feeding from xylem of other organism",
- "GO:0044368" : "feeding from vascular tissue of another organism"
- },
- "GO:0009044" : {
- "name" : "xylan 1,4-beta-xylosidase activity",
- "GO:0097599" : "xylanase activity"
- },
- "GO:1904973" : {
- "GO:1903902" : "positive regulation of viral life cycle",
- "GO:1904971" : "regulation of viral translation",
- "name" : "positive regulation of viral translation",
- "GO:0045727" : "positive regulation of translation"
- },
- "GO:0019118" : {
- "name" : "phenanthrene-epoxide hydrolase activity",
- "GO:0004301" : "epoxide hydrolase activity"
- },
- "GO:0001097" : {
- "GO:0001091" : "RNA polymerase II basal transcription factor binding",
- "name" : "TFIIH-class transcription factor binding"
- },
- "GO:0043181" : {
- "name" : "vacuolar sequestering",
- "GO:0051651" : "maintenance of location in cell"
- },
- "GO:0004106" : {
- "name" : "chorismate mutase activity",
- "GO:0016866" : "intramolecular transferase activity"
- },
- "GO:0051215" : {
- "GO:0009616" : "virus induced gene silencing",
- "name" : "DNA virus induced gene silencing"
- },
- "GO:1901737" : {
- "GO:1901617" : "organic hydroxy compound biosynthetic process",
- "GO:1901735" : "(R)-mevalonic acid metabolic process",
- "GO:0016053" : "organic acid biosynthetic process",
- "name" : "(R)-mevalonic acid biosynthetic process"
- },
- "GO:0035695" : {
- "name" : "mitophagy by induced vacuole formation",
- "GO:0000422" : "mitophagy"
- },
- "GO:1990429" : {
- "GO:1990351" : "transporter complex",
- "name" : "peroxisomal importomer complex",
- "GO:1990415" : "Pex17p-Pex14p docking complex"
- },
- "GO:1903201" : {
- "GO:0010941" : "regulation of cell death",
- "GO:1900407" : "regulation of cellular response to oxidative stress",
- "name" : "regulation of oxidative stress-induced cell death"
- },
- "GO:1901546" : {
- "GO:0033043" : "regulation of organelle organization",
- "name" : "regulation of synaptic vesicle lumen acidification",
- "GO:0032847" : "regulation of cellular pH reduction",
- "GO:0050793" : "regulation of developmental process",
- "GO:0051049" : "regulation of transport",
- "GO:0060341" : "regulation of cellular localization"
- },
- "GO:1904357" : {
- "GO:1904356" : "regulation of telomere maintenance via telomere lengthening",
- "name" : "negative regulation of telomere maintenance via telomere lengthening",
- "GO:0032205" : "negative regulation of telomere maintenance"
- },
- "GO:0016714" : {
- "GO:0016705" : "oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen",
- "name" : "oxidoreductase activity, acting on paired donors, with incorporation or reduction of molecular oxygen, reduced pteridine as one donor, and incorporation of one atom of oxygen",
- "GO:0004497" : "monooxygenase activity"
- },
- "GO:0080187" : {
- "GO:0010260" : "organ senescence",
- "GO:0003006" : "developmental process involved in reproduction",
- "name" : "floral organ senescence",
- "GO:0044702" : "single organism reproductive process"
- },
- "GO:0090064" : {
- "GO:0090063" : "positive regulation of microtubule nucleation",
- "name" : "activation of microtubule nucleation"
- },
- "GO:0003962" : {
- "GO:0016765" : "transferase activity, transferring alkyl or aryl (other than methyl) groups",
- "name" : "cystathionine gamma-synthase activity"
- },
- "GO:0000989" : {
- "name" : "transcription factor activity, transcription factor binding",
- "GO:0000988" : "transcription factor activity, protein binding"
- },
- "GO:0061321" : {
- "GO:0061319" : "nephrocyte differentiation",
- "name" : "garland nephrocyte differentiation"
- },
- "GO:1903862" : {
- "GO:0042327" : "positive regulation of phosphorylation",
- "name" : "positive regulation of oxidative phosphorylation",
- "GO:1903580" : "positive regulation of ATP metabolic process",
- "GO:0002082" : "regulation of oxidative phosphorylation"
- },
- "GO:0005539" : {
- "GO:0097367" : "carbohydrate derivative binding",
- "name" : "glycosaminoglycan binding"
- },
- "GO:2001145" : {
- "GO:2001144" : "regulation of phosphatidylinositol-3,4,5-trisphosphate 5-phosphatase activity",
- "GO:0010923" : "negative regulation of phosphatase activity",
- "name" : "negative regulation of phosphatidylinositol-3,4,5-trisphosphate 5-phosphatase activity"
- },
- "GO:1903618" : {
- "name" : "regulation of transdifferentiation",
- "GO:0045595" : "regulation of cell differentiation"
- },
- "GO:0015227" : {
- "name" : "acyl carnitine transmembrane transporter activity",
- "GO:0015651" : "quaternary ammonium group transmembrane transporter activity"
- },
- "GO:1900017" : {
- "GO:1900015" : "regulation of cytokine production involved in inflammatory response",
- "name" : "positive regulation of cytokine production involved in inflammatory response",
- "GO:0050729" : "positive regulation of inflammatory response",
- "GO:0001819" : "positive regulation of cytokine production"
- },
- "GO:1900345" : {
- "GO:1901577" : "regulation of alkane biosynthetic process",
- "GO:0043457" : "regulation of cellular respiration",
- "name" : "regulation of methane biosynthetic process from methanethiol",
- "GO:0042762" : "regulation of sulfur metabolic process"
- },
- "GO:0051117" : {
- "name" : "ATPase binding",
- "GO:0019899" : "enzyme binding"
- },
- "GO:0010318" : {
- "GO:0043234" : "protein complex",
- "name" : "pyrophosphate-dependent phosphofructokinase complex, beta-subunit complex"
- },
- "GO:0061319" : {
- "name" : "nephrocyte differentiation",
- "GO:0061318" : "renal filtration cell differentiation"
- },
- "GO:0045907" : {
- "GO:0019229" : "regulation of vasoconstriction",
- "name" : "positive regulation of vasoconstriction",
- "GO:1903524" : "positive regulation of blood circulation"
- },
- "GO:0097449" : {
- "name" : "astrocyte projection",
- "GO:0097386" : "glial cell projection"
- },
- "GO:0046325" : {
- "GO:0010829" : "negative regulation of glucose transport",
- "name" : "negative regulation of glucose import",
- "GO:0046324" : "regulation of glucose import"
- },
- "GO:0044492" : {
- "GO:0044560" : "envenomation resulting in modulation of ion channel activity in other organism",
- "name" : "envenomation resulting in modulation of voltage-gated sodium channel activity in other organism"
- },
- "GO:0033323" : {
- "GO:0042425" : "choline biosynthetic process",
- "name" : "choline biosynthetic process via CDP-choline"
- },
- "GO:0001817" : {
- "name" : "regulation of cytokine production",
- "GO:0051239" : "regulation of multicellular organismal process"
- },
- "GO:0019899" : {
- "GO:0005515" : "protein binding",
- "name" : "enzyme binding"
- },
- "GO:1990281" : {
- "GO:1902495" : "transmembrane transporter complex",
- "name" : "efflux pump complex"
- },
- "GO:0044216" : {
- "GO:0044217" : "other organism part",
- "name" : "other organism cell"
- },
- "GO:0044659" : {
- "GO:0044661" : "disruption by virus of host cell",
- "GO:0019076" : "viral release from host cell",
- "GO:0039633" : "killing by virus of host cell",
- "name" : "cytolysis by virus of host cell",
- "GO:0001897" : "cytolysis by symbiont of host cells"
- },
- "GO:0032813" : {
- "name" : "tumor necrosis factor receptor superfamily binding",
- "GO:0005126" : "cytokine receptor binding"
- },
- "GO:0044397" : {
- "GO:1902580" : "single-organism cellular localization",
- "GO:0044396" : "actin cortical patch organization",
- "name" : "actin cortical patch internalization",
- "GO:0051666" : "actin cortical patch localization"
- },
- "GO:0090452" : {
- "name" : "lithium ion import",
- "GO:0010351" : "lithium ion transport"
- },
- "GO:0016727" : {
- "GO:0016725" : "oxidoreductase activity, acting on CH or CH2 groups",
- "name" : "oxidoreductase activity, acting on CH or CH2 groups, oxygen as acceptor"
- },
- "GO:0019519" : {
- "GO:0019400" : "alditol metabolic process",
- "name" : "pentitol metabolic process"
- },
- "GO:0005633" : {
- "GO:0005811" : "lipid particle",
- "name" : "ascus lipid particle"
- },
- "GO:0047144" : {
- "name" : "2-acylglycerol-3-phosphate O-acyltransferase activity",
- "GO:0042171" : "lysophosphatidic acid acyltransferase activity",
- "GO:0008374" : "O-acyltransferase activity"
- },
- "GO:0071444" : {
- "name" : "cellular response to pheromone",
- "GO:0019236" : "response to pheromone",
- "GO:0071310" : "cellular response to organic substance"
- },
- "GO:0000035" : {
- "name" : "acyl binding",
- "GO:0005488" : "binding"
- },
- "GO:0060462" : {
- "name" : "lung lobe development",
- "GO:0048856" : "anatomical structure development",
- "GO:0044767" : "single-organism developmental process"
- },
- "GO:0014906" : {
- "name" : "myotube cell development involved in skeletal muscle regeneration",
- "GO:0014904" : "myotube cell development"
- },
- "GO:0036494" : {
- "GO:0036491" : "regulation of translation initiation in response to endoplasmic reticulum stress",
- "name" : "positive regulation of translation initiation in response to endoplasmic reticulum stress",
- "GO:0036493" : "positive regulation of translation in response to endoplasmic reticulum stress",
- "GO:0032058" : "positive regulation of translational initiation in response to stress"
- },
- "GO:0019486" : {
- "name" : "beta-alanine catabolic process to mevalonate semialdehyde, by transamination",
- "GO:0019484" : "beta-alanine catabolic process"
- },
- "GO:0051613" : {
- "name" : "positive regulation of serotonin uptake",
- "GO:0051582" : "positive regulation of neurotransmitter uptake",
- "GO:0051611" : "regulation of serotonin uptake"
- },
- "GO:1901105" : {
- "GO:1901104" : "tetracenomycin C metabolic process",
- "GO:0030640" : "polyketide catabolic process",
- "name" : "tetracenomycin C catabolic process"
- },
- "GO:0047026" : {
- "GO:0047023" : "androsterone dehydrogenase activity",
- "name" : "androsterone dehydrogenase (A-specific) activity"
- },
- "GO:0030032" : {
- "GO:0097581" : "lamellipodium organization",
- "name" : "lamellipodium assembly",
- "GO:0030031" : "cell projection assembly"
- },
- "GO:0001051" : {
- "name" : "plastid single-subunit type RNA polymerase binding",
- "GO:0001050" : "single-subunit type RNA polymerase binding"
- },
- "GO:0032557" : {
- "GO:0019103" : "pyrimidine nucleotide binding",
- "name" : "pyrimidine ribonucleotide binding",
- "GO:0032553" : "ribonucleotide binding"
- },
- "GO:0006269" : {
- "GO:0032774" : "RNA biosynthetic process",
- "name" : "DNA replication, synthesis of RNA primer",
- "GO:0006259" : "DNA metabolic process"
- },
- "GO:0038035" : {
- "GO:0007186" : "G-protein coupled receptor signaling pathway",
- "GO:0038034" : "signal transduction in absence of ligand",
- "name" : "G-protein coupled receptor signaling in absence of ligand"
- },
- "GO:0010276" : {
- "GO:0016301" : "kinase activity",
- "name" : "phytol kinase activity"
- },
- "GO:0070463" : {
- "name" : "tubulin-dependent ATPase activity",
- "GO:0042623" : "ATPase activity, coupled"
- },
- "GO:0060214" : {
- "name" : "endocardium formation",
- "GO:0048646" : "anatomical structure formation involved in morphogenesis",
- "GO:0044767" : "single-organism developmental process"
- },
- "GO:1904721" : {
- "GO:0033119" : "negative regulation of RNA splicing",
- "GO:0050686" : "negative regulation of mRNA processing",
- "GO:1903895" : "negative regulation of IRE1-mediated unfolded protein response",
- "GO:1904720" : "regulation of mRNA endonucleolytic cleavage involved in unfolded protein response",
- "name" : "negative regulation of mRNA endonucleolytic cleavage involved in unfolded protein response",
- "GO:0031438" : "negative regulation of mRNA cleavage"
- },
- "GO:0072317" : {
- "GO:0042973" : "glucan endo-1,3-beta-D-glucosidase activity",
- "name" : "glucan endo-1,3-beta-D-glucosidase activity involved in ascospore release from ascus"
- },
- "GO:0015355" : {
- "GO:0015291" : "secondary active transmembrane transporter activity",
- "GO:0008028" : "monocarboxylic acid transmembrane transporter activity",
- "name" : "secondary active monocarboxylate transmembrane transporter activity"
- },
- "GO:0050307" : {
- "name" : "sucrose-phosphate phosphatase activity",
- "GO:0050308" : "sugar-phosphatase activity"
- },
- "GO:0047762" : {
- "GO:0016702" : "oxidoreductase activity, acting on single donors with incorporation of molecular oxygen, incorporation of two atoms of oxygen",
- "name" : "caffeate 3,4-dioxygenase activity"
- },
- "GO:1990949" : {
- "GO:0044785" : "metaphase/anaphase transition of meiotic cell cycle",
- "name" : "metaphase/anaphase transition of meiosis I"
- },
- "GO:1990574" : {
- "GO:0000235" : "astral microtubule",
- "name" : "meiotic spindle astral microtubule"
- },
- "GO:0020026" : {
- "name" : "merozoite dense granule",
- "GO:0016023" : "cytoplasmic, membrane-bounded vesicle"
- },
- "GO:0018311" : {
- "GO:0018196" : "peptidyl-asparagine modification",
- "name" : "peptidyl-N4-hydroxymethyl-L-asparagine biosynthetic process from peptidyl-asparagine"
- },
- "GO:0050417" : {
- "name" : "glutamin-(asparagin-)ase activity",
- "GO:0016811" : "hydrolase activity, acting on carbon-nitrogen (but not peptide) bonds, in linear amides"
- },
- "GO:0030529" : {
- "GO:0044424" : "intracellular part",
- "GO:1990904" : "ribonucleoprotein complex",
- "name" : "intracellular ribonucleoprotein complex"
- },
- "GO:0031145" : {
- "GO:0043161" : "proteasome-mediated ubiquitin-dependent protein catabolic process",
- "name" : "anaphase-promoting complex-dependent catabolic process"
- },
- "GO:0047168" : {
- "name" : "isocitrate O-dihydroxycinnamoyltransferase activity",
- "GO:0016747" : "transferase activity, transferring acyl groups other than amino-acyl groups"
- },
- "GO:0003690" : {
- "GO:0003677" : "DNA binding",
- "name" : "double-stranded DNA binding"
- },
- "GO:0047328" : {
- "GO:0016301" : "kinase activity",
- "GO:0016773" : "phosphotransferase activity, alcohol group as acceptor",
- "name" : "acyl-phosphate-hexose phosphotransferase activity"
- },
- "GO:1902318" : {
- "GO:1902295" : "synthesis of RNA primer involved in cell cycle DNA replication",
- "name" : "synthesis of RNA primer involved in nuclear cell cycle DNA replication"
- },
- "GO:0070781" : {
- "GO:1901700" : "response to oxygen-containing compound",
- "GO:0014070" : "response to organic cyclic compound",
- "GO:0001101" : "response to acid chemical",
- "GO:0010243" : "response to organonitrogen compound",
- "name" : "response to biotin",
- "GO:0033273" : "response to vitamin"
- },
- "GO:1901115" : {
- "GO:0033068" : "macrolide biosynthetic process",
- "GO:1901113" : "erythromycin metabolic process",
- "name" : "erythromycin biosynthetic process"
- },
- "GO:0008445" : {
- "name" : "D-aspartate oxidase activity",
- "GO:0003884" : "D-amino-acid oxidase activity",
- "GO:0015922" : "aspartate oxidase activity"
- },
- "GO:0046924" : {
- "GO:0018149" : "peptide cross-linking",
- "name" : "peptide cross-linking via 2-(S-L-cysteinyl)-L-phenylalanine",
- "GO:0018198" : "peptidyl-cysteine modification",
- "GO:0018207" : "peptidyl-phenylalanine modification"
- },
- "GO:0021880" : {
- "name" : "Notch signaling pathway involved in forebrain neuron fate commitment",
- "GO:0007219" : "Notch signaling pathway"
- },
- "GO:0008988" : {
- "GO:0016433" : "rRNA (adenine) methyltransferase activity",
- "name" : "rRNA (adenine-N6-)-methyltransferase activity",
- "GO:0008170" : "N-methyltransferase activity"
- },
- "GO:0000016" : {
- "GO:0004553" : "hydrolase activity, hydrolyzing O-glycosyl compounds",
- "name" : "lactase activity"
- },
- "GO:0044253" : {
- "GO:0044246" : "regulation of multicellular organismal metabolic process",
- "name" : "positive regulation of multicellular organismal metabolic process",
- "GO:0009893" : "positive regulation of metabolic process",
- "GO:0051240" : "positive regulation of multicellular organismal process"
- },
- "GO:0002746" : {
- "GO:0019882" : "antigen processing and presentation",
- "name" : "antigen processing and presentation following pinocytosis"
- },
- "GO:0047402" : {
- "GO:0015926" : "glucosidase activity",
- "name" : "protein-glucosylgalactosylhydroxylysine glucosidase activity"
- },
- "GO:0060219" : {
- "name" : "camera-type eye photoreceptor cell differentiation",
- "GO:0001754" : "eye photoreceptor cell differentiation"
- },
- "GO:0045828" : {
- "GO:0019747" : "regulation of isoprenoid metabolic process",
- "name" : "positive regulation of isoprenoid metabolic process",
- "GO:0045834" : "positive regulation of lipid metabolic process",
- "GO:0031325" : "positive regulation of cellular metabolic process"
- },
- "GO:0010933" : {
- "GO:0010932" : "regulation of macrophage tolerance induction",
- "name" : "positive regulation of macrophage tolerance induction",
- "GO:0002645" : "positive regulation of tolerance induction"
- },
- "GO:0047628" : {
- "GO:0016301" : "kinase activity",
- "GO:0016773" : "phosphotransferase activity, alcohol group as acceptor",
- "name" : "ADP-thymidine kinase activity"
- },
- "GO:1902623" : {
- "GO:1902622" : "regulation of neutrophil migration",
- "GO:0002686" : "negative regulation of leukocyte migration",
- "name" : "negative regulation of neutrophil migration"
- },
- "GO:0071027" : {
- "GO:0071025" : "RNA surveillance",
- "name" : "nuclear RNA surveillance"
- },
- "GO:0032610" : {
- "GO:0032612" : "interleukin-1 production",
- "name" : "interleukin-1 alpha production"
- },
- "GO:0085029" : {
- "GO:0030198" : "extracellular matrix organization",
- "name" : "extracellular matrix assembly",
- "GO:0022607" : "cellular component assembly"
- },
- "GO:0045582" : {
- "name" : "positive regulation of T cell differentiation",
- "GO:0045621" : "positive regulation of lymphocyte differentiation",
- "GO:0045580" : "regulation of T cell differentiation",
- "GO:0050870" : "positive regulation of T cell activation"
- },
- "GO:0044296" : {
- "GO:0044292" : "dendrite terminus",
- "name" : "dendritic tuft"
- },
- "GO:1902886" : {
- "GO:0032780" : "negative regulation of ATPase activity",
- "GO:1902885" : "regulation of proteasome-activating ATPase activity",
- "GO:0048519" : "negative regulation of biological process",
- "name" : "negative regulation of proteasome-activating ATPase activity"
- },
- "GO:1904659" : {
- "GO:0015758" : "glucose transport",
- "GO:0035428" : "hexose transmembrane transport",
- "name" : "glucose transmembrane transport"
- },
- "GO:0099507" : {
- "GO:0015276" : "ligand-gated ion channel activity",
- "name" : "ligand-gated ion channel activity involved in regulation of presynaptic membrane potential"
- },
- "GO:0043022" : {
- "name" : "ribosome binding",
- "GO:0043021" : "ribonucleoprotein complex binding"
- },
- "GO:0043226" : {
- "GO:0005575" : "cellular_component",
- "name" : "organelle"
- },
- "GO:1902000" : {
- "GO:0072329" : "monocarboxylic acid catabolic process",
- "name" : "homogentisate catabolic process",
- "GO:1901999" : "homogentisate metabolic process"
- },
- "GO:0034981" : {
- "GO:0033202" : "DNA helicase complex",
- "name" : "FHL3-CREB complex",
- "GO:0044428" : "nuclear part"
- },
- "GO:0050111" : {
- "name" : "mycocerosate synthase activity",
- "GO:0016747" : "transferase activity, transferring acyl groups other than amino-acyl groups"
- },
- "GO:0015781" : {
- "GO:0015780" : "nucleotide-sugar transport",
- "name" : "pyrimidine nucleotide-sugar transport"
- },
- "GO:1990226" : {
- "name" : "histone methyltransferase binding",
- "GO:0019899" : "enzyme binding"
- },
- "GO:0010134" : {
- "GO:0000103" : "sulfate assimilation",
- "name" : "sulfate assimilation via adenylyl sulfate reduction",
- "GO:0019419" : "sulfate reduction"
- },
- "GO:0030642" : {
- "GO:0055063" : "sulfate ion homeostasis",
- "GO:0072501" : "cellular divalent inorganic anion homeostasis",
- "name" : "cellular sulfate ion homeostasis"
- },
- "GO:1901693" : {
- "name" : "negative regulation of compound eye retinal cell apoptotic process",
- "GO:0043066" : "negative regulation of apoptotic process",
- "GO:1901692" : "regulation of compound eye retinal cell apoptotic process"
- },
- "GO:0052493" : {
- "name" : "negative regulation by organism of signal transduction in other organism involved in symbiotic interaction",
- "GO:0052250" : "modulation of signal transduction in other organism involved in symbiotic interaction"
- },
- "GO:0032587" : {
- "GO:0031253" : "cell projection membrane",
- "GO:0031256" : "leading edge membrane",
- "name" : "ruffle membrane"
- },
- "GO:1903061" : {
- "GO:1903059" : "regulation of protein lipidation",
- "GO:0010557" : "positive regulation of macromolecule biosynthetic process",
- "GO:0031401" : "positive regulation of protein modification process",
- "GO:0050747" : "positive regulation of lipoprotein metabolic process",
- "name" : "positive regulation of protein lipidation"
- },
- "GO:0031507" : {
- "GO:0070828" : "heterochromatin organization",
- "GO:0006338" : "chromatin remodeling",
- "name" : "heterochromatin assembly",
- "GO:0031497" : "chromatin assembly"
- },
- "GO:0060579" : {
- "GO:0060581" : "cell fate commitment involved in pattern specification",
- "GO:0048663" : "neuron fate commitment",
- "name" : "ventral spinal cord interneuron fate commitment"
- },
- "GO:0035384" : {
- "GO:0035383" : "thioester metabolic process",
- "name" : "thioester biosynthetic process",
- "GO:1901576" : "organic substance biosynthetic process",
- "GO:0044272" : "sulfur compound biosynthetic process"
- },
- "GO:1990609" : {
- "name" : "glutamate-cysteine ligase regulator activity",
- "GO:0030234" : "enzyme regulator activity"
- },
- "GO:0046933" : {
- "GO:0044769" : "ATPase activity, coupled to transmembrane movement of ions, rotational mechanism",
- "GO:0019829" : "cation-transporting ATPase activity",
- "name" : "proton-transporting ATP synthase activity, rotational mechanism",
- "GO:0015078" : "hydrogen ion transmembrane transporter activity"
- },
- "GO:1902585" : {
- "GO:0044763" : "single-organism cellular process",
- "name" : "single-organism intercellular transport",
- "GO:0010496" : "intercellular transport",
- "GO:0044765" : "single-organism transport"
- },
- "GO:0032830" : {
- "GO:0032829" : "regulation of CD4-positive, CD25-positive, alpha-beta regulatory T cell differentiation",
- "GO:0043371" : "negative regulation of CD4-positive, alpha-beta T cell differentiation",
- "name" : "negative regulation of CD4-positive, CD25-positive, alpha-beta regulatory T cell differentiation",
- "GO:0045590" : "negative regulation of regulatory T cell differentiation"
- },
- "GO:0097597" : {
- "GO:0043226" : "organelle",
- "name" : "ventral disc"
- },
- "GO:0021991" : {
- "GO:0002011" : "morphogenesis of an epithelial sheet",
- "name" : "neural plate thickening",
- "GO:0048598" : "embryonic morphogenesis"
- },
- "GO:0047342" : {
- "name" : "galactose-1-phosphate thymidylyltransferase activity",
- "GO:0016779" : "nucleotidyltransferase activity"
- },
- "GO:1903771" : {
- "name" : "positive regulation of beta-galactosidase activity",
- "GO:0051345" : "positive regulation of hydrolase activity"
- },
- "GO:0002787" : {
- "GO:0002786" : "regulation of antibacterial peptide production",
- "name" : "negative regulation of antibacterial peptide production",
- "GO:1900425" : "negative regulation of defense response to bacterium",
- "GO:0002785" : "negative regulation of antimicrobial peptide production"
- },
- "GO:0047017" : {
- "GO:0016616" : "oxidoreductase activity, acting on the CH-OH group of donors, NAD or NADP as acceptor",
- "name" : "prostaglandin-F synthase activity"
- },
- "GO:0047905" : {
- "name" : "fructose-6-phosphate phosphoketolase activity",
- "GO:0016832" : "aldehyde-lyase activity"
- },
- "GO:0019404" : {
- "GO:0019402" : "galactitol metabolic process",
- "name" : "galactitol catabolic process",
- "GO:0019407" : "hexitol catabolic process"
- },
- "GO:1903840" : {
- "GO:1903842" : "response to arsenite ion",
- "name" : "response to arsenite(3-)"
- },
- "GO:0016104" : {
- "GO:0006722" : "triterpenoid metabolic process",
- "name" : "triterpenoid biosynthetic process",
- "GO:0016114" : "terpenoid biosynthetic process"
- },
- "GO:0035816" : {
- "name" : "renal water absorption involved in negative regulation of urine volume",
- "GO:0070295" : "renal water absorption"
- },
- "GO:0019608" : {
- "name" : "nicotine catabolic process",
- "GO:0018933" : "nicotine metabolic process",
- "GO:0072526" : "pyridine-containing compound catabolic process",
- "GO:0009822" : "alkaloid catabolic process"
- },
- "GO:0002911" : {
- "name" : "regulation of lymphocyte anergy",
- "GO:0002643" : "regulation of tolerance induction"
- },
- "GO:0033349" : {
- "name" : "apiose metabolic process",
- "GO:0033347" : "tetrose metabolic process"
- },
- "GO:0072596" : {
- "GO:0072594" : "establishment of protein localization to organelle",
- "name" : "establishment of protein localization to chloroplast"
- },
- "GO:0002587" : {
- "GO:0002586" : "regulation of antigen processing and presentation of peptide antigen via MHC class II",
- "GO:0002584" : "negative regulation of antigen processing and presentation of peptide antigen",
- "name" : "negative regulation of antigen processing and presentation of peptide antigen via MHC class II",
- "GO:0002581" : "negative regulation of antigen processing and presentation of peptide or polysaccharide antigen via MHC class II"
- },
- "GO:1905085" : {
- "name" : "regulation of bioluminescence",
- "GO:0031323" : "regulation of cellular metabolic process"
- },
- "GO:2000443" : {
- "GO:0034121" : "regulation of toll-like receptor signaling pathway",
- "name" : "regulation of toll-like receptor 21 signaling pathway"
- },
- "GO:0044052" : {
- "name" : "interaction with host via substance released by membrane budding",
- "GO:0044046" : "interaction with host via substance released outside of symbiont"
- },
- "GO:0004042" : {
- "name" : "acetyl-CoA:L-glutamate N-acetyltransferase activity",
- "GO:0008080" : "N-acetyltransferase activity"
- },
- "GO:0031823" : {
- "GO:0031821" : "G-protein coupled serotonin receptor binding",
- "name" : "type 1D serotonin receptor binding"
- },
- "GO:0016197" : {
- "name" : "endosomal transport",
- "GO:0007034" : "vacuolar transport"
- },
- "GO:0002683" : {
- "GO:0002682" : "regulation of immune system process",
- "GO:0048519" : "negative regulation of biological process",
- "name" : "negative regulation of immune system process"
- },
- "GO:0004525" : {
- "GO:0032296" : "double-stranded RNA-specific ribonuclease activity",
- "GO:0016891" : "endoribonuclease activity, producing 5'-phosphomonoesters",
- "name" : "ribonuclease III activity"
- },
- "GO:0004435" : {
- "name" : "phosphatidylinositol phospholipase C activity",
- "GO:0004629" : "phospholipase C activity"
- },
- "GO:1905246" : {
- "GO:0010466" : "negative regulation of peptidase activity",
- "name" : "negative regulation of aspartic-type peptidase activity",
- "GO:1905245" : "regulation of aspartic-type peptidase activity"
- },
- "GO:0007058" : {
- "GO:0007056" : "spindle assembly involved in female meiosis",
- "name" : "spindle assembly involved in female meiosis II"
- },
- "GO:0048692" : {
- "GO:0030517" : "negative regulation of axon extension",
- "GO:0048690" : "regulation of axon extension involved in regeneration",
- "name" : "negative regulation of axon extension involved in regeneration",
- "GO:0048688" : "negative regulation of sprouting of injured axon"
- },
- "GO:1990122" : {
- "name" : "leucine import into cell",
- "GO:0060356" : "leucine import",
- "GO:1902837" : "amino acid import into cell"
- },
- "GO:0070795" : {
- "GO:0070793" : "regulation of conidiophore development",
- "name" : "positive regulation of conidiophore development",
- "GO:0075261" : "positive regulation of spore-bearing organ development"
- },
- "GO:0018859" : {
- "name" : "4-hydroxybenzoate-CoA ligase activity",
- "GO:0016405" : "CoA-ligase activity",
- "GO:0016878" : "acid-thiol ligase activity"
- },
- "GO:0009570" : {
- "GO:0009532" : "plastid stroma",
- "GO:0044434" : "chloroplast part",
- "name" : "chloroplast stroma"
- },
- "GO:0016688" : {
- "GO:0004601" : "peroxidase activity",
- "name" : "L-ascorbate peroxidase activity"
- },
- "GO:1990673" : {
- "name" : "intrinsic component of endoplasmic reticulum-Golgi intermediate compartment (ERGIC) membrane",
- "GO:0044444" : "cytoplasmic part",
- "GO:0031300" : "intrinsic component of organelle membrane"
- },
- "GO:0098954" : {
- "GO:0010008" : "endosome membrane",
- "GO:0097458" : "neuron part",
- "name" : "presynaptic endosome membrane",
- "GO:0044456" : "synapse part"
- },
- "GO:0006526" : {
- "GO:0006525" : "arginine metabolic process",
- "GO:0008652" : "cellular amino acid biosynthetic process",
- "name" : "arginine biosynthetic process",
- "GO:0009084" : "glutamine family amino acid biosynthetic process"
- },
- "GO:1903319" : {
- "GO:1903317" : "regulation of protein maturation",
- "GO:0051247" : "positive regulation of protein metabolic process",
- "name" : "positive regulation of protein maturation",
- "GO:0010628" : "positive regulation of gene expression"
- },
- "GO:0001536" : {
- "GO:0043234" : "protein complex",
- "name" : "radial spoke stalk",
- "GO:0044447" : "axoneme part"
- },
- "GO:0097158" : {
- "name" : "pre-mRNA intronic pyrimidine-rich binding",
- "GO:0097157" : "pre-mRNA intronic binding"
- },
- "GO:0070768" : {
- "name" : "synaptotagmin-synaptobrevin 2-SNAP-25-syntaxin-1a-syntaxin-1b-Unc13 complex",
- "GO:0031201" : "SNARE complex"
- },
- "GO:0072304" : {
- "name" : "regulation of mesenchymal cell apoptotic process involved in metanephric nephron morphogenesis",
- "GO:1900211" : "regulation of mesenchymal cell apoptotic process involved in metanephros development",
- "GO:0072039" : "regulation of mesenchymal cell apoptotic process involved in nephron morphogenesis"
- },
- "GO:2000052" : {
- "GO:0030177" : "positive regulation of Wnt signaling pathway",
- "GO:2000050" : "regulation of non-canonical Wnt signaling pathway",
- "name" : "positive regulation of non-canonical Wnt signaling pathway"
- },
- "GO:0002059" : {
- "GO:0002061" : "pyrimidine nucleobase binding",
- "name" : "thymine binding"
- },
- "GO:2000510" : {
- "GO:2000508" : "regulation of dendritic cell chemotaxis",
- "name" : "positive regulation of dendritic cell chemotaxis",
- "GO:0002690" : "positive regulation of leukocyte chemotaxis"
- },
- "GO:0044328" : {
- "GO:0060070" : "canonical Wnt signaling pathway",
- "name" : "canonical Wnt signaling pathway involved in positive regulation of endothelial cell migration"
- },
- "GO:0047268" : {
- "name" : "galactinol-raffinose galactosyltransferase activity",
- "GO:0008378" : "galactosyltransferase activity"
- },
- "GO:0047548" : {
- "name" : "2-methyleneglutarate mutase activity",
- "GO:0016866" : "intramolecular transferase activity"
- },
- "GO:0034672" : {
- "GO:0072098" : "anterior/posterior pattern specification involved in kidney development",
- "name" : "anterior/posterior pattern specification involved in pronephros development",
- "GO:0039017" : "pattern specification involved in pronephros development"
- },
- "GO:0043371" : {
- "GO:2000515" : "negative regulation of CD4-positive, alpha-beta T cell activation",
- "GO:0043370" : "regulation of CD4-positive, alpha-beta T cell differentiation",
- "GO:0046639" : "negative regulation of alpha-beta T cell differentiation",
- "name" : "negative regulation of CD4-positive, alpha-beta T cell differentiation"
- },
- "GO:0003218" : {
- "name" : "cardiac left ventricle formation",
- "GO:0003211" : "cardiac ventricle formation"
- },
- "GO:0018352" : {
- "name" : "protein-pyridoxal-5-phosphate linkage",
- "GO:0018065" : "protein-cofactor linkage"
- },
- "GO:0042277" : {
- "GO:0033218" : "amide binding",
- "name" : "peptide binding"
- },
- "GO:0018712" : {
- "name" : "3-hydroxybutyryl-CoA thiolase activity",
- "GO:0016747" : "transferase activity, transferring acyl groups other than amino-acyl groups"
- },
- "GO:0004310" : {
- "GO:0004311" : "farnesyltranstransferase activity",
- "name" : "farnesyl-diphosphate farnesyltransferase activity"
- },
- "GO:0033740" : {
- "GO:0016646" : "oxidoreductase activity, acting on the CH-NH group of donors, NAD or NADP as acceptor",
- "name" : "hydroxylamine oxidoreductase activity"
- },
- "GO:0021535" : {
- "GO:0016477" : "cell migration",
- "name" : "cell migration in hindbrain"
- },
- "GO:0001880" : {
- "GO:0060033" : "anatomical structure regression",
- "GO:0003006" : "developmental process involved in reproduction",
- "name" : "Mullerian duct regression",
- "GO:0044702" : "single organism reproductive process"
- },
- "GO:0021994" : {
- "GO:0016331" : "morphogenesis of embryonic epithelium",
- "name" : "progression of neural tube closure"
- },
- "GO:2001314" : {
- "GO:0046348" : "amino sugar catabolic process",
- "GO:2001313" : "UDP-4-deoxy-4-formamido-beta-L-arabinopyranose metabolic process",
- "name" : "UDP-4-deoxy-4-formamido-beta-L-arabinopyranose catabolic process",
- "GO:0009227" : "nucleotide-sugar catabolic process"
- },
- "GO:0071942" : {
- "name" : "XPC complex",
- "GO:0000109" : "nucleotide-excision repair complex"
- },
- "GO:0039545" : {
- "name" : "suppression by virus of host MAVS activity",
- "GO:0039507" : "suppression by virus of host molecular function",
- "GO:0039537" : "suppression by virus of host viral-induced cytoplasmic pattern recognition receptor signaling pathway"
- },
- "GO:0036289" : {
- "GO:0018105" : "peptidyl-serine phosphorylation",
- "name" : "peptidyl-serine autophosphorylation",
- "GO:0046777" : "protein autophosphorylation"
- },
- "GO:0046007" : {
- "GO:0046006" : "regulation of activated T cell proliferation",
- "GO:0042130" : "negative regulation of T cell proliferation",
- "name" : "negative regulation of activated T cell proliferation"
- },
- "GO:1903354" : {
- "GO:0030334" : "regulation of cell migration",
- "name" : "regulation of distal tip cell migration"
- },
- "GO:0047384" : {
- "name" : "[hydroxymethylglutaryl-CoA reductase (NADPH)]-phosphatase activity",
- "GO:0016791" : "phosphatase activity"
- },
- "GO:0061529" : {
- "GO:0007269" : "neurotransmitter secretion",
- "name" : "epinephrine secretion, neurotransmission",
- "GO:0048242" : "epinephrine secretion"
- },
- "GO:0031156" : {
- "GO:0032107" : "regulation of response to nutrient levels",
- "GO:1903664" : "regulation of asexual reproduction",
- "GO:0010646" : "regulation of cell communication",
- "GO:0080135" : "regulation of cellular response to stress",
- "name" : "regulation of sorocarp development",
- "GO:0031155" : "regulation of fruiting body development"
- },
- "GO:0047041" : {
- "GO:0016616" : "oxidoreductase activity, acting on the CH-OH group of donors, NAD or NADP as acceptor",
- "name" : "(S)-carnitine 3-dehydrogenase activity"
- },
- "GO:0030988" : {
- "name" : "high molecular weight kininogen receptor complex",
- "GO:0098802" : "plasma membrane receptor complex"
- },
- "GO:0004911" : {
- "name" : "interleukin-2 receptor activity",
- "GO:0004896" : "cytokine receptor activity"
- },
- "GO:0032119" : {
- "name" : "sequestering of zinc ion",
- "GO:0051238" : "sequestering of metal ion"
- },
- "GO:0051437" : {
- "GO:1904668" : "positive regulation of ubiquitin protein ligase activity",
- "GO:2000060" : "positive regulation of protein ubiquitination involved in ubiquitin-dependent protein catabolic process",
- "name" : "positive regulation of ubiquitin-protein ligase activity involved in regulation of mitotic cell cycle transition"
- },
- "GO:0061178" : {
- "name" : "regulation of insulin secretion involved in cellular response to glucose stimulus",
- "GO:0032844" : "regulation of homeostatic process",
- "GO:0050796" ...
[truncated message content] |
|
From: <rea...@us...> - 2025-01-18 07:27:57
|
Revision: 9455
http://sourceforge.net/p/sashimi/code/9455
Author: real_procopio
Date: 2025-01-18 07:27:54 +0000 (Sat, 18 Jan 2025)
Log Message:
-----------
[ShowXIC]
- add user input for mz tolerance when extracting PepXML hits
- add horizontal bar (html "<meter>") to depict probability of PepXML hits
- pass modified peptide (in TPP bracket notation) in link from PepXMLViewer
- display probability to 4 decimal places
- show "ISB spinner" when loading PepXML data
- style input elements and clean up layout a bit
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/ShowXIC.html
trunk/trans_proteomic_pipeline/html/js/showxic.js
trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl
trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/css/plot-msms.css
trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp
Modified: trunk/trans_proteomic_pipeline/html/ShowXIC.html
===================================================================
--- trunk/trans_proteomic_pipeline/html/ShowXIC.html 2025-01-13 08:59:36 UTC (rev 9454)
+++ trunk/trans_proteomic_pipeline/html/ShowXIC.html 2025-01-18 07:27:54 UTC (rev 9455)
@@ -39,25 +39,27 @@
<span title="Cancel" class="enter" onclick="tpp_dismissBox('newDataset');">Cancel</span><span title="Load Dataset" class="enter" onclick="loadXIC();">Load New</span>
</div>
- <div id="xic_settings" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:2;">
+ <div id="xic_settings" class="tppdatainputbox" style="min-width:400px;left:50px;z-index:2;">
<div class="title">XIC Extraction Options</div>
<div style="cursor:initial;" id="xicsettings_pane" onmousedown="event.stopPropagation();">
- <span>MZ:</span><span><input id="new_MZ" type='text' size="10"></span>
+ <span>MZ:</span><span><input id="new_MZ" type='text' class="tppbuttonlike" size="10"></span>
<!-- span>Isolation MZ:</span><span><input id="new_ISOLATION_MZ" type='text' size="5"></span -->
- <span>Start RT:</span><span><input id="new_START_RT" type='text' size="10"></span>
- <span>End RT:</span><span><input id="new_END_RT" type='text' size="10"></span>
- <span>MS Level:</span><span><input id="new_MSLEVEL" type='text' size="2" placeholder="1"></span>
- <span>Max PPM:</span><span><input id="new_PPM" type='text' size="5" placeholder="100"></span>
+ <span>Start RT:</span><span><input id="new_START_RT" type='text' class="tppbuttonlike" size="10"></span>
+ <span>End RT:</span><span><input id="new_END_RT" type='text' class="tppbuttonlike" size="10"></span>
+ <span>MS Level:</span><span><input id="new_MSLEVEL" type='text' class="tppbuttonlike" size="2" placeholder="1"></span>
+ <span>Max PPM:</span><span><input id="new_PPM" type='text' class="tppbuttonlike" size="5" placeholder="100"></span>
</div>
<span title="Close this Pop-Up" class="enter" onclick="toggle_window('xic_settings');">Dismiss</span><span title="Re-Load Dataset" class="enter" onclick="loadXIC();">Update XIC</span>
</div>
- <div id="pepx_settings" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:2;">
- <div class="title">PepXML Options</div>
+ <div id="pepx_settings" class="tppdatainputbox" style="left:200px;z-index:2;">
+ <div class="title">Overlay Search Hit Info from PepXML</div>
<div style="cursor:initial;" id="pepxsettings_pane" onmousedown="event.stopPropagation();">
- <span>PepXML File:</span><span><input id="new_PEPXML" type='text' size="80"></span>
- </div>
+ <span>File:</span><span><input id="qsir_PEPXML" type='text' class="tppbuttonlike" size="100" placeholder="PepXML path"></span>
+ <span>m/z:</span><span><input id="qsir_MZ" type='text' class="tppbuttonlike" size="12" value=""> Da</span>
+ <span>+/-:</span><span><input id="qsir_TOL" type='text' class="tppbuttonlike" size="12" value="0.01"> Da (tolerance)</span>
+ </div>
<span title="Close this Pop-Up" class="enter" onclick="toggle_window('pepx_settings');">Dismiss</span><span title="Overlay Info from PepXML" class="enter" onclick="loadPepXML();">Overlay XIC</span>
</div>
Modified: trunk/trans_proteomic_pipeline/html/js/showxic.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-01-13 08:59:36 UTC (rev 9454)
+++ trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-01-18 07:27:54 UTC (rev 9455)
@@ -1,6 +1,6 @@
var _showXIC_url = '/_TPP_BASEURL_/cgi-bin/ShowXIC.cgi?JSON=1&';
var _ParamsNumeric = ["MZ","START_RT","END_RT","MSLEVEL","PPM"]; // may eventually add ISOLATION_MZ
-var _ParamsPepHit = ["RT","SCAN","SEQ","PPMDIFF"]; // add more?
+var _ParamsPepHit = ["RT","SCAN","PEP","PPMDIFF"]; // add more?
var _hit_data = {};
var _XICchart = false;
@@ -32,7 +32,7 @@
}
if (params.has('PEPXML'))
- document.getElementById("new_PEPXML").value = params.get("PEPXML");
+ document.getElementById("qsir_PEPXML").value = params.get("PEPXML");
if (params.has('FILE')) {
document.getElementById("new_FILE").value = params.get("FILE");
@@ -42,7 +42,7 @@
function loadPepXML() {
- var pepx = document.getElementById("new_PEPXML").value.trim();
+ var pepx = document.getElementById("qsir_PEPXML").value.trim();
if (pepx == "")
return tpp_showAlerts("Please specify a valid path to a PepXML file!");
@@ -59,13 +59,48 @@
tpp_dismissBox("newDataset");
tpp_dismissBox("tppAlertBox");
+ var span;
+ if (!document.getElementById("pepxml_hits_table")) {
+ var pspan = document.createElement("span");
+ pspan.className = 'tppinfobox c3';
+ pspan.style.width = 'initial';
+ document.getElementById("xic_main").append(pspan);
+
+ span = document.createElement("h2");
+ span.className = 'tppinfoboxtitle';
+ span.style.marginBottom = 'inherit';
+ span.append("PepXML Info");
+ pspan.append(span);
+
+ span = document.createElement("table");
+ span.id = 'pepxml_hits_table';
+ span.className = 'tppsimpletable';
+ span.style.borderColor = '#82003b';
+ pspan.append(span);
+ }
+ else {
+ span = document.getElementById("pepxml_hits_table");
+ span.innerHTML = '';
+ }
+
+ var spinner = document.createElement("div");
+ spinner.id = "tppSpinner";
+ spinner.style.marginLeft = "10px";
+ spinner.append(document.createElement("br"));
+ for (var i of [4,5,6]) {
+ var div = document.createElement("div");
+ div.className = "tppspinner"+i;
+ spinner.append(div);
+ }
+ span.append(spinner);
+
var qsir_cgi = '/_TPP_BASEURL_/cgi-bin/qsir.pl';
- // add controls for all settings below --- ToDo
+ // add controls for scan settings?
var ss = 1;
var es = 1000000;
- var tol = 0.01;
- var mz = Number(document.getElementById("new_MZ").value.trim());
+ var tol = Number(document.getElementById("qsir_TOL").value.trim());
+ var mz = Number(document.getElementById("qsir_MZ").value.trim());
var mzml = document.getElementById("new_FILE").value.trim();
var url = qsir_cgi + '?mz=' + mz + '&sscan=' + ss + '&escan=' + es + '&mtol=' + tol + '&file=' + pepx + '&mzml=' + mzml;
@@ -75,6 +110,7 @@
document.body.style.cursor = "auto";
document.getElementById("banner_fname").innerHTML = title;
if (data.status.code != 'OK') {
+ tpp_clearElement("pepxml_hits_table",false);
tpp_showAlerts(data.status.message);
return;
}
@@ -86,17 +122,14 @@
if (!(hit["modified"] in peps)) {
var hitdataset = {};
hitdataset['label'] = hit["modified"];
- if (_hit_data["SEQ"] && _hit_data["SEQ"] == hit["modified"]) {
+ if (_hit_data["PEP"] && _hit_data["PEP"] == hit["modified"]) {
hitdataset['borderColor'] = '#20d6ff';
hitdataset['backgroundColor'] = '#20d6ff';
- //hitdataset['borderColor'] = 'rgb(34, 236, 235)';
- //hitdataset['backgroundColor'] = 'rgb(34, 236, 235)';
}
else {
hitdataset['borderColor'] = '#82003b';
hitdataset['backgroundColor'] = '#82003b';
}
- //hitdataset['order'] = 10;
hitdataset['showLine'] = true;
hitdataset['borderWidth'] = 1;
hitdataset['yAxisID'] = 'yabs';
@@ -104,7 +137,7 @@
peps[hit["modified"]] = hitdataset;
}
peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0});
- peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':1});
+ peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0.9});
peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0});
}
@@ -113,23 +146,8 @@
}
_XICchart.update();
+ tpp_clearElement("pepxml_hits_table",false);
- var pspan = document.createElement("span");
- pspan.className = 'tppinfobox c3';
- pspan.style.width = 'initial';
- document.getElementById("xic_main").append(pspan);
-
- var span = document.createElement("h2");
- span.className = 'tppinfoboxtitle';
- span.style.marginBottom = 'inherit';
- span.append("PepXML Info");
- pspan.append(span);
-
- var span = document.createElement("table");
- span.className = 'tppsimpletable';
- span.style.borderColor = '#82003b';
- pspan.append(span);
-
var fields1 = [ "rt","ppm" ];
var fields4 = [ "mz","diff","probability" ];
var fields = [ "rt","scan","mz","diff","ppm","charge","modified","probability" ];
@@ -138,9 +156,13 @@
for (var field of fields) {
td = document.createElement("th");
td.className = 'subhead';
+ if (field == 'probability')
+ td.colSpan = 2;
td.style.background = '#82003b';
td.style.borderColor = '#82003b';
td.append(field);
+ if (field == 'modified')
+ td.append(' peptide');
tr.appendChild(td);
}
span.appendChild(tr);
@@ -161,11 +183,23 @@
td.append(hit[field]);
tr.appendChild(td);
}
+
+ td = document.createElement("td");
+ var meter = document.createElement("meter");
+ meter.max = 1.0;
+ meter.optimum = 1.0;
+ meter.high = 0.9;
+ meter.low = 0.5;
+ meter.value = hit['probability'];
+ td.append(meter);
+ tr.appendChild(td);
+
span.appendChild(tr);
}
})
.catch(error => {
+ tpp_clearElement("pepxml_hits_table",false);
console.error(error);
tpp_showAlerts(error);
});
@@ -416,6 +450,8 @@
toggle_window("TPPchart_wrapper", true);
showInstructions(max_ppm, had_hit);
+
+ document.getElementById("qsir_MZ").value = mzval;
}
function new_chart(title, subtitle, xlabel) {
@@ -477,7 +513,6 @@
chart['options']['plugins']['zoom']['zoom'] = {};
chart['options']['plugins']['zoom']['zoom']['wheel'] = {'enabled':true, 'speed':0.1};
chart['options']['plugins']['zoom']['zoom']['mode'] = 'x';
- chart['options']['plugins']['zoom']['zoom']['scaleMode'] = 'y';
chart['options']['plugins']['zoom']['limits'] = {};
chart['options']['plugins']['zoom']['limits']['x'] = {'min': 'original', 'max':'original'};
chart['options']['plugins']['zoom']['limits']['y'] = {'min': 0, 'max':'original'};
Modified: trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl 2025-01-13 08:59:36 UTC (rev 9454)
+++ trunk/trans_proteomic_pipeline/perl/cgi-bin/qsir.pl 2025-01-18 07:27:54 UTC (rev 9455)
@@ -190,7 +190,7 @@
}
elsif ($element eq 'peptideprophet_result') {
- $results{$foundscan}{"prob"} = sprintf("%.3f", $atts{'probability'});
+ $results{$foundscan}{"prob"} = sprintf("%.4f", $atts{'probability'});
}
}
Modified: trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/css/plot-msms.css
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/css/plot-msms.css 2025-01-13 08:59:36 UTC (rev 9454)
+++ trunk/trans_proteomic_pipeline/src/Visualization/Comet/plot-msms/css/plot-msms.css 2025-01-18 07:27:54 UTC (rev 9455)
@@ -56,7 +56,7 @@
border-bottom: 1px solid #fff;
color: #eee;
}
-.plotinput input {
+.plotinput input, #MS1Scan_input {
padding: 2px 5px;
line-height: normal;
border: 2px solid #33658E;
Modified: trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp 2025-01-13 08:59:36 UTC (rev 9454)
+++ trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp 2025-01-18 07:27:54 UTC (rev 9455)
@@ -1418,11 +1418,24 @@
text += "&PPMDIFF=";
text += t;
}
- string pepText = node->
- findChild("search_result")->
- findChild("search_hit", "hit_rank", "1")->
- getAttrValue("peptide");
- text += "&SEQ="+pepText;
+
+ string pepText;
+ if (!node->
+ findChild("search_result")->
+ findChild("search_hit", "hit_rank", "1")->
+ findChild("modification_info")->isEmpty_ )
+ pepText = node->
+ findChild("search_result")->
+ findChild("search_hit", "hit_rank", "1")->
+ findChild("modification_info")->
+ getAttrValue("modified_peptide");
+ else
+ pepText = node->
+ findChild("search_result")->
+ findChild("search_hit", "hit_rank", "1")->
+ getAttrValue("peptide");
+ text += "&PEP="+pepText;
+
text += "&SCAN=";
text += node->getAttrValue("start_scan");
text += "&PEPXML=";
@@ -1478,12 +1491,24 @@
text += "&PPMDIFF=";
text += t;
}
- string pepText = node->
- findChild("search_result")->
- findChild("search_hit", "hit_rank", "1")->
- getAttrValue("peptide");
- text += "&SEQ="+pepText;
+ string pepText;
+ if (!node->
+ findChild("search_result")->
+ findChild("search_hit", "hit_rank", "1")->
+ findChild("modification_info")->isEmpty_ )
+ pepText = node->
+ findChild("search_result")->
+ findChild("search_hit", "hit_rank", "1")->
+ findChild("modification_info")->
+ getAttrValue("modified_peptide");
+ else
+ pepText = node->
+ findChild("search_result")->
+ findChild("search_hit", "hit_rank", "1")->
+ getAttrValue("peptide");
+ text += "&PEP="+pepText;
+
text += "&SCAN=";
text += node->getAttrValue("start_scan");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-01-13 08:59:39
|
Revision: 9454
http://sourceforge.net/p/sashimi/code/9454
Author: real_procopio
Date: 2025-01-13 08:59:36 +0000 (Mon, 13 Jan 2025)
Log Message:
-----------
[ShowXIC]
- Add ability to overlay PSM info from pepXML file
-- uses qsir to extract RT, scan#, prec m/z, mzdiff and ppm, charge, mod sequence, and probability for PSMs that fall within XIC range
-- displayed as a list on a table, with markings on the XIC
- Pass scan# and pepXML filepath from PepXMLViewer links
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/ShowXIC.html
trunk/trans_proteomic_pipeline/html/css/showxic.css
trunk/trans_proteomic_pipeline/html/js/showxic.js
trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp
Modified: trunk/trans_proteomic_pipeline/html/ShowXIC.html
===================================================================
--- trunk/trans_proteomic_pipeline/html/ShowXIC.html 2025-01-13 07:54:01 UTC (rev 9453)
+++ trunk/trans_proteomic_pipeline/html/ShowXIC.html 2025-01-13 08:59:36 UTC (rev 9454)
@@ -22,6 +22,7 @@
<br>
<input id="load_button" style="position:relative; left:50px;" title="Load mzML file to view XIC" onclick="tpp_showDataInput('newDataset');" type="button" value="Load New">
<input id="xic_settings_button" style="position:relative; left:50px;" title="XIC extraction options" onclick="toggle_window('xic_settings');" type="button" value="Options">
+ <input id="pepx_settings_button" style="position:relative; left:50px;" title="PepXML overlay options" onclick="toggle_window('pepx_settings');" type="button" value="Overlay Info">
<br>
</div>
@@ -43,14 +44,23 @@
<div style="cursor:initial;" id="xicsettings_pane" onmousedown="event.stopPropagation();">
<span>MZ:</span><span><input id="new_MZ" type='text' size="10"></span>
<!-- span>Isolation MZ:</span><span><input id="new_ISOLATION_MZ" type='text' size="5"></span -->
- <span>Start RT:</span><span><input id="new_START_RT" type='text' size="10"></span>
+ <span>Start RT:</span><span><input id="new_START_RT" type='text' size="10"></span>
<span>End RT:</span><span><input id="new_END_RT" type='text' size="10"></span>
<span>MS Level:</span><span><input id="new_MSLEVEL" type='text' size="2" placeholder="1"></span>
<span>Max PPM:</span><span><input id="new_PPM" type='text' size="5" placeholder="100"></span>
- </div>
+ </div>
<span title="Close this Pop-Up" class="enter" onclick="toggle_window('xic_settings');">Dismiss</span><span title="Re-Load Dataset" class="enter" onclick="loadXIC();">Update XIC</span>
</div>
+
+ <div id="pepx_settings" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:2;">
+ <div class="title">PepXML Options</div>
+ <div style="cursor:initial;" id="pepxsettings_pane" onmousedown="event.stopPropagation();">
+ <span>PepXML File:</span><span><input id="new_PEPXML" type='text' size="80"></span>
+ </div>
+ <span title="Close this Pop-Up" class="enter" onclick="toggle_window('pepx_settings');">Dismiss</span><span title="Overlay Info from PepXML" class="enter" onclick="loadPepXML();">Overlay XIC</span>
+ </div>
+
<div id="xic_main">
<h2>Load Data</h2>
<p>Open an <i>mzML</i> file to view its <strong>TIC</strong> (total Ion Current).</p>
Modified: trunk/trans_proteomic_pipeline/html/css/showxic.css
===================================================================
--- trunk/trans_proteomic_pipeline/html/css/showxic.css 2025-01-13 07:54:01 UTC (rev 9453)
+++ trunk/trans_proteomic_pipeline/html/css/showxic.css 2025-01-13 08:59:36 UTC (rev 9454)
@@ -18,7 +18,7 @@
padding: 10px;
}
-#xicsettings_pane {
+#xicsettings_pane, #pepxsettings_pane {
display: grid;
grid-gap: 5px;
grid-template-columns: auto auto;
@@ -25,14 +25,14 @@
max-height: 80vh;
overflow: auto;
}
-#xicsettings_pane span:nth-child(odd) {
+#xicsettings_pane span:nth-child(odd), #pepxsettings_pane span:nth-child(odd) {
text-align: right;
}
-#xicsettings_pane span:nth-child(even) {
+#xicsettings_pane span:nth-child(even), #pepxsettings_pane span:nth-child(even) {
text-align: left;
}
-#xicsettings_pane input {
+#xicsettings_pane input, #pepxsettings_pane input {
font-weight:bold;
padding:5px;
margin-bottom:5px;
Modified: trunk/trans_proteomic_pipeline/html/js/showxic.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-01-13 07:54:01 UTC (rev 9453)
+++ trunk/trans_proteomic_pipeline/html/js/showxic.js 2025-01-13 08:59:36 UTC (rev 9454)
@@ -1,6 +1,6 @@
var _showXIC_url = '/_TPP_BASEURL_/cgi-bin/ShowXIC.cgi?JSON=1&';
var _ParamsNumeric = ["MZ","START_RT","END_RT","MSLEVEL","PPM"]; // may eventually add ISOLATION_MZ
-var _ParamsPepHit = ["RT","SEQ","PPMDIFF"]; // add more?
+var _ParamsPepHit = ["RT","SCAN","SEQ","PPMDIFF"]; // add more?
var _hit_data = {};
var _XICchart = false;
@@ -31,6 +31,9 @@
_hit_data[param] = params.get(param);
}
+ if (params.has('PEPXML'))
+ document.getElementById("new_PEPXML").value = params.get("PEPXML");
+
if (params.has('FILE')) {
document.getElementById("new_FILE").value = params.get("FILE");
loadXIC();
@@ -38,6 +41,138 @@
}
+function loadPepXML() {
+ var pepx = document.getElementById("new_PEPXML").value.trim();
+ if (pepx == "")
+ return tpp_showAlerts("Please specify a valid path to a PepXML file!");
+
+ if (!_XICchart)
+ return tpp_showAlerts("Cannot overlay data from PepXML. Please load a XIC first!");
+
+
+ document.body.style.cursor = "wait";
+ var title = document.getElementById("banner_fname").innerHTML;
+ document.getElementById("banner_fname").innerHTML = 'loading...';
+ toggle_window("xic_settings", true);
+ toggle_window("xic_settings", false);
+ toggle_window("pepx_settings", true);
+ tpp_dismissBox("newDataset");
+ tpp_dismissBox("tppAlertBox");
+
+ var qsir_cgi = '/_TPP_BASEURL_/cgi-bin/qsir.pl';
+
+ // add controls for all settings below --- ToDo
+ var ss = 1;
+ var es = 1000000;
+ var tol = 0.01;
+ var mz = Number(document.getElementById("new_MZ").value.trim());
+ var mzml = document.getElementById("new_FILE").value.trim();
+
+ var url = qsir_cgi + '?mz=' + mz + '&sscan=' + ss + '&escan=' + es + '&mtol=' + tol + '&file=' + pepx + '&mzml=' + mzml;
+ fetch(url)
+ .then(response => response.json())
+ .then(data => {
+ document.body.style.cursor = "auto";
+ document.getElementById("banner_fname").innerHTML = title;
+ if (data.status.code != 'OK') {
+ tpp_showAlerts(data.status.message);
+ return;
+ }
+
+ toggle_window("pepx_settings", false);
+
+ var peps = {};
+ for (let hit of data.results) {
+ if (!(hit["modified"] in peps)) {
+ var hitdataset = {};
+ hitdataset['label'] = hit["modified"];
+ if (_hit_data["SEQ"] && _hit_data["SEQ"] == hit["modified"]) {
+ hitdataset['borderColor'] = '#20d6ff';
+ hitdataset['backgroundColor'] = '#20d6ff';
+ //hitdataset['borderColor'] = 'rgb(34, 236, 235)';
+ //hitdataset['backgroundColor'] = 'rgb(34, 236, 235)';
+ }
+ else {
+ hitdataset['borderColor'] = '#82003b';
+ hitdataset['backgroundColor'] = '#82003b';
+ }
+ //hitdataset['order'] = 10;
+ hitdataset['showLine'] = true;
+ hitdataset['borderWidth'] = 1;
+ hitdataset['yAxisID'] = 'yabs';
+ hitdataset['data'] = [];
+ peps[hit["modified"]] = hitdataset;
+ }
+ peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0});
+ peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':1});
+ peps[hit["modified"]]['data'].push({'x':hit["rt"], 'y':0});
+ }
+
+ for (let pep in peps) {
+ _XICchart['data']['datasets'].push(peps[pep]);
+ }
+ _XICchart.update();
+
+
+ var pspan = document.createElement("span");
+ pspan.className = 'tppinfobox c3';
+ pspan.style.width = 'initial';
+ document.getElementById("xic_main").append(pspan);
+
+ var span = document.createElement("h2");
+ span.className = 'tppinfoboxtitle';
+ span.style.marginBottom = 'inherit';
+ span.append("PepXML Info");
+ pspan.append(span);
+
+ var span = document.createElement("table");
+ span.className = 'tppsimpletable';
+ span.style.borderColor = '#82003b';
+ pspan.append(span);
+
+ var fields1 = [ "rt","ppm" ];
+ var fields4 = [ "mz","diff","probability" ];
+ var fields = [ "rt","scan","mz","diff","ppm","charge","modified","probability" ];
+ var tr = document.createElement("tr");
+ var td;
+ for (var field of fields) {
+ td = document.createElement("th");
+ td.className = 'subhead';
+ td.style.background = '#82003b';
+ td.style.borderColor = '#82003b';
+ td.append(field);
+ tr.appendChild(td);
+ }
+ span.appendChild(tr);
+
+ for (let hit of data.results) {
+ tr = document.createElement("tr");
+ tr.className = 'tpphov';
+ for (var field of fields) {
+ td = document.createElement("td");
+ td.className = 'value';
+ if (field == 'charge')
+ td.append("+");
+ if (fields1.includes(field))
+ td.append(Number(hit[field]).toFixed(1));
+ else if (fields4.includes(field))
+ td.append(Number(hit[field]).toFixed(4));
+ else
+ td.append(hit[field]);
+ tr.appendChild(td);
+ }
+ span.appendChild(tr);
+ }
+
+ })
+ .catch(error => {
+ console.error(error);
+ tpp_showAlerts(error);
+ });
+
+}
+
+
function loadXIC() {
var file = document.getElementById("new_FILE").value.trim();
if (file == "")
@@ -47,6 +182,8 @@
document.getElementById("banner_fname").innerHTML = 'loading...';
toggle_window("xic_settings", true);
toggle_window("xic_settings", false);
+ toggle_window("pepx_settings", true);
+ toggle_window("pepx_settings", false);
tpp_dismissBox("newDataset");
tpp_dismissBox("tppAlertBox");
@@ -258,11 +395,12 @@
if (_hit_data["RT"]) {
var hitdataset = {};
+ hitdataset['order'] = 10;
hitdataset['label'] = "Peptide RT";
hitdataset['borderColor'] = 'rgb(34, 236, 235)';
hitdataset['backgroundColor'] = 'rgb(34, 236, 235)';
hitdataset['showLine'] = true;
- hitdataset['borderWidth'] = 3;
+ hitdataset['borderWidth'] = 4;
hitdataset['yAxisID'] = 'yabs';
hitdataset['data'] = [];
hitdataset['data'].push({'x':_hit_data["RT"], 'y':0});
@@ -304,6 +442,9 @@
chart['options']['scales']['x']['title'] = {};
chart['options']['scales']['x']['title']['display'] = true;
chart['options']['scales']['x']['title']['text'] = xlabel;
+ chart['options']['scales']['x']['border'] = {};
+ chart['options']['scales']['x']['border']['color'] = '#999';
+ chart['options']['scales']['x']['border']['z'] = 3;
chart['options']['scales']['y'] = {};
chart['options']['scales']['y']['ticks'] = { callback: (val) => (val.toExponential()) };
chart['options']['scales']['yabs'] = {};
Modified: trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp
===================================================================
--- trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp 2025-01-13 07:54:01 UTC (rev 9453)
+++ trunk/trans_proteomic_pipeline/src/Visualization/PepXMLViewer/PepXField.cpp 2025-01-13 08:59:36 UTC (rev 9454)
@@ -1392,6 +1392,7 @@
double calc;// calculated mass
double Z; // assumed charge
double RT;// retention time
+ int scan;// scan number
// from: http://physics.nist.gov/cgi-bin/cuu/Value?mpu|search_for=proton+mass:
static double protonMass = 1.00727646688;
@@ -1422,6 +1423,10 @@
findChild("search_hit", "hit_rank", "1")->
getAttrValue("peptide");
text += "&SEQ="+pepText;
+ text += "&SCAN=";
+ text += node->getAttrValue("start_scan");
+ text += "&PEPXML=";
+ text += urlencode(infoMap["xmlFileName"]);
sprintf(t, "%.4f", (calc + Z*protonMass) / Z );
text += "&MZ=";
@@ -1447,6 +1452,7 @@
double calc;// calculated mass
double Z; // assumed charge
double RT;// retention time
+ int scan;// scan number
// from: http://physics.nist.gov/cgi-bin/cuu/Value?mpu|search_for=proton+mass:
static double protonMass = 1.00727646688;
@@ -1478,6 +1484,12 @@
getAttrValue("peptide");
text += "&SEQ="+pepText;
+ text += "&SCAN=";
+ text += node->getAttrValue("start_scan");
+
+ text += "&PEPXML=";
+ text += urlencode(infoMap["xmlFileName"]);
+
sprintf(t, "%.4f", (prec + Z*protonMass) / Z );
text += "&MZ=";
text += t;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-01-13 07:54:03
|
Revision: 9453
http://sourceforge.net/p/sashimi/code/9453
Author: real_procopio
Date: 2025-01-13 07:54:01 +0000 (Mon, 13 Jan 2025)
Log Message:
-----------
[CUVALibRe]
- auto-load file specified in URL params (as file=<filepath>)
- add static column headings
- enable labels, with toggle control
- place chart controls in a toolbar at bottom of plot window (in favor of movable "remote control")
- use local chart.js libraries
- layout adjustments
- remove old clustering functions
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/html/css/cuvalibre.css
trunk/trans_proteomic_pipeline/html/cuvalibre.html
trunk/trans_proteomic_pipeline/html/js/cuvalibre.js
Modified: trunk/trans_proteomic_pipeline/html/css/cuvalibre.css
===================================================================
--- trunk/trans_proteomic_pipeline/html/css/cuvalibre.css 2025-01-13 05:40:06 UTC (rev 9452)
+++ trunk/trans_proteomic_pipeline/html/css/cuvalibre.css 2025-01-13 07:54:01 UTC (rev 9453)
@@ -85,13 +85,10 @@
}
#TPPchart_controls {
- position:fixed;
- top:-200px;
- right:5px;
- border: 2px solid;
- background: rgba(0,0,0,0.4);
- padding: 10px 30px;
- box-shadow: 0 0px 10px rgb(0 0 0);
+ width: 100%;
+ padding: 0;
+ background-color: #002664;
+ text-align: center;
}
#TPPchart_wrapper {
top:70px;
@@ -99,7 +96,8 @@
background: white;
position:fixed;
left: 0px;
- border: 2px solid;
+ border-style: solid;
+ border-width: 0px 2px 2px 2px;
box-shadow: 0 0px 30px rgb(0 0 0);
transition: top 1s;
}
Modified: trunk/trans_proteomic_pipeline/html/cuvalibre.html
===================================================================
--- trunk/trans_proteomic_pipeline/html/cuvalibre.html 2025-01-13 05:40:06 UTC (rev 9452)
+++ trunk/trans_proteomic_pipeline/html/cuvalibre.html 2025-01-13 07:54:01 UTC (rev 9453)
@@ -1,96 +1,97 @@
<!DOCTYPE html>
<html>
-<head>
-<title>CUVALibRe :: TPP</title>
-<link rel="icon" type="text/x-icon" href="images/tpp.ico"/>
-<link rel="stylesheet" type="text/css" href="./css/tpp.css"/>
-<link rel="stylesheet" type="text/css" href="./css/cuvalibre.css"/>
+ <head>
+ <title>CUVALibRe :: TPP</title>
+ <link rel="icon" type="text/x-icon" href="images/tpp.ico"/>
+ <link rel="stylesheet" type="text/css" href="css/tpp.css"/>
+ <link rel="stylesheet" type="text/css" href="css/cuvalibre.css"/>
-<!-- script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.4/Chart.js"></script -->
-<script src="https://cdn.jsdelivr.net/npm/chart.js@4.0.0-release/dist/chart.umd.min.js"></script>
-<script src="https://hammerjs.github.io/dist/hammer.min.js"></script>
-<script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-zoom/2.0.0/chartjs-plugin-zoom.min.js"></script>
-<script src="./js/tpp.js"></script>
-<script src="./js/cuvalibre.js"></script>
-<!-- script src="./js/go_utils.js"></script -->
-</head>
-<body>
- <div id="tppWrapper">
- <div id="tppOverlay"></div>
+ <script src="js/chart.umd.min.js"></script>
+ <script src="js/hammer.min.js"></script>
+ <script src="js/chartjs-plugin-zoom.min.js"></script>
- <div id="pageBanner" class="tppbanner" banner-bg-text="CUVALibRe">Comprehensive Unified Visualization and Analysis of Libra Results::<span id="banner_fname" style="font-weight:bold;" class="tpporange"></span>
- <input id="load_button" style="position:relative; left:150px; top:25px;" title="Load (another) TPP/Libra json file to view" onclick="tpp_showDataInput('newDataset');" type="button" value="Load New">
- <br>
- <span style='margin-left:50px;' id='status1'></span>
- <span id='status2'></span>
+ <script src="js/tpp.js"></script>
+ <script src="js/cuvalibre.js"></script>
+ <!-- script src="./js/go_utils.js"></script -->
+ </head>
- </div>
+ <body>
+ <div id="tppWrapper">
+ <div id="tppOverlay"></div>
+ <div id="pageBanner" class="tppbanner" banner-bg-text="CUVALibRe">Comprehensive Unified Visualization and Analysis of Libra Results::<span id="banner_fname" style="font-weight:bold;" class="tpporange"></span>
+ <input id="load_button" style="position:relative; left:150px; top:25px;" title="Load (another) TPP/Libra json file to view" onclick="tpp_showDataInput('newDataset');" type="button" value="Load New">
+ <br>
+ <span style='margin-left:50px; vertical-align: sub;' id='status1'></span>
+ <span id='status2'></span>
+ </div>
- <div id="newDataset" class="tppdatainputbox"><span class="title">Enter URL of TPP Libra file</span>
- <input id="newDatasetURL" size="100" type="text" class="tppbuttonlike" title="Load TPP/Libra json data file"><br>
- <span>Browse:
- <input title="Browse filesystem" onclick="tpp_selectFile(this.parentNode,'newDatasetURL',null,'.*json$');" type="button" value="JSON">
- <input title="Browse filesystem" onclick="tpp_selectFile(this.parentNode,'newDatasetURL',null,'');" type="button" value="All">
- <input title="Browse recent files" onclick="tpp_selectFile(this.parentNode,'newDatasetURL',null,'_RECENT');" type="button" value="Recent">
- </span>
- <br clear="all">
- <div id="tppFilesDiv" style="position:unset;" class="tppfilediv"></div>
- <br clear="all">
- <span title="Cancel" class="enter" onclick="tpp_dismissBox('newDataset');">Cancel</span><span title="Load Dataset" class="enter" onclick="intake();">Load New</span>
- </div>
+ <div id="newDataset" class="tppdatainputbox"><span class="title">Enter URL of TPP Libra file</span>
+ <input id="newDatasetURL" size="100" type="text" class="tppbuttonlike" title="Load TPP/Libra json data file"><br>
+ <span>Browse:
+ <input title="Browse filesystem" onclick="tpp_selectFile(this.parentNode,'newDatasetURL',null,'.*json$');" type="button" value="JSON">
+ <input title="Browse filesystem" onclick="tpp_selectFile(this.parentNode,'newDatasetURL',null,'');" type="button" value="All">
+ <input title="Browse recent files" onclick="tpp_selectFile(this.parentNode,'newDatasetURL',null,'_RECENT');" type="button" value="Recent">
+ </span>
+ <br clear="all">
+ <div id="tppFilesDiv" style="position:unset;" class="tppfilediv"></div>
+ <br clear="all">
+ <span title="Cancel" class="enter" onclick="tpp_dismissBox('newDataset');">Cancel</span><span title="Load Dataset" class="enter" onclick="intake();">Load New</span>
+ </div>
- <div id="TPPchart_wrapper">
- <canvas id='TPPchart'></canvas>
- </div>
- <div id="TPPchart_controls">
- <span class="rectbuttonlike" title="View entire MS2 scan" id="fullms2_control">↞ Full ↠</span>
- <span class="rectbuttonlike" title="Set Y-axis scale" onclick="loglinear_y();" id="ms2yscale_control">↕ Y: Linear</span>
- <span class="rectbuttonlike" title="Adjust zoom speed" onclick="fastslow_zoom('zoom');" id="ms2zoom_control">◫ Zoom Speed</span>
- <span class="rectbuttonlike" title="Reset Zoom and axes to intial settings" onclick="plot_x('zoom');">↺ Reset</span>
- <span class="rectbuttonlike" title="Plot all protein-level data" onclick="plot_all_proteins(false);">∀ All Proteins</span> <!-- 128200 -->
- <span class="rectbuttonlike" title="Show/Hide Spectrum Window" id="shms2_control" onclick="plot_sh(false);">Hide</span>
- <span class="rectbuttonlike" title="help/show instructions" onclick="show_instructions(true);"> ? </span>
- </div>
+ <div id="TPPchart_wrapper" style="z-index:2;">
+ <canvas id='TPPchart'></canvas>
+ <div id="TPPchart_controls">
+ <span class="rectbuttonlike" title="View entire MS2 scan" id="fullms2_control">↞ Full ↠</span>
+ <span class="rectbuttonlike" title="Set Y-axis scale" onclick="loglinear_y();" id="ms2yscale_control">↕ Y: Linear</span>
+ <span class="rectbuttonlike" title="Adjust zoom speed" onclick="fastslow_zoom('zoom');" id="ms2zoom_control">◫ Zoom Speed</span>
+ <span class="rectbuttonlike" title="Reset Zoom and axes to intial settings" onclick="plot_x('zoom');">↺ Reset</span>
+ <span class="rectbuttonlike" title="Show/hide clickable data labels" onclick="plot_x('labels');">✓ Labels</span>
+ <span class="rectbuttonlike" title="Plot all protein-level data" onclick="plot_all_proteins(false);">∀ All Proteins</span> <!-- 128200 -->
+ <span class="rectbuttonlike" title="Show/Hide Spectrum Window" id="shms2_control" onclick="plot_sh(false);">Hide</span>
+ <span class="rectbuttonlike" title="help/show instructions" onclick="show_instructions(true);"> ? </span>
+ </div>
+ </div>
- <div id='cuva_main' style="transition: margin-top 1s;"></div>
- <div id='cuva_summary' style="transition: margin-top 1s;"></div>
- <div id="tppAlertBox" class="tppalert"><span class="title">Error!</span><br/>
- <span id="tppAlertList"></span>
- <span title="dismiss" class="dismiss" onclick="tpp_dismissBox('tppAlertBox');">Dismiss</span>
- </div>
+ <div id='cuva_main' style="transition: margin-top 1s;"></div>
+ <div id='cuva_summary' style="transition: margin-top 1s;"></div>
- <div id="cuva_diagnostics" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:2;">
- <div class="title">DIAGNOSTICS and ANALYSIS</div>
- <div style="padding:0px 50px; cursor:initial;" onmousedown="event.stopPropagation();" id="cuvadiagnostics_pane"></div>
- <span title="Close this Pop-Up" class="enter" onclick="tpp_dismissBox('cuva_diagnostics');">Dismiss</span>
- </div>
+ <div id="tppAlertBox" class="tppalert"><span class="title">Error!</span><br/>
+ <span id="tppAlertList"></span>
+ <span title="dismiss" class="dismiss" onclick="tpp_dismissBox('tppAlertBox');">Dismiss</span>
+ </div>
- <div id="cuva_settings" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:2;">
- <div class="title">FILTER AND SORT</div>
- <div style="cursor:initial;" id="cuvasettings_pane" onmousedown="event.stopPropagation();">
- Filter Proteins:
- <input type='text' size="20" style="font-weight:bold; padding:5px; margin-bottom:5px;" onkeypress="if (event.key == 'Enter') {plot_all_proteins(null,this.value); event.preventDefault()};"/>
- <!-- br>
- Filter Peptides:
- <input type='text' size="20" style="font-weight:bold; padding:5px; margin-bottom:5px;" onkeypress="if (event.key == 'Enter') {filter(this.value); event.preventDefault()};"/ -->
- </div>
- <span title="Close this Pop-Up" class="enter" onclick="tpp_dismissBox('cuva_settings');">Dismiss</span>
- </div>
+ <div id="cuva_diagnostics" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:80;">
+ <div class="title">DIAGNOSTICS and ANALYSIS</div>
+ <div style="padding:0px 50px; cursor:initial;" onmousedown="event.stopPropagation();" id="cuvadiagnostics_pane"></div>
+ <span title="Close this Pop-Up" class="enter" onclick="toggle_window('cuva_diagnostics');">Dismiss</span>
+ </div>
- <div id="cuva_info" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:2;">
- <div class="title">LIBRA/TPP ANALYSIS INFO</div>
- <div style="cursor:initial;" onmousedown="event.stopPropagation();" id="cuvainfo_pane"></div>
- <span title="Close this Pop-Up" class="enter" onclick="tpp_dismissBox('cuva_info');">Dismiss</span>
- </div>
+ <div id="cuva_settings" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:80;">
+ <div class="title">FILTER AND SORT</div>
+ <div style="cursor:initial;" id="cuvasettings_pane" onmousedown="event.stopPropagation();">
+ Filter Proteins:
+ <input type='text' size="20" style="font-weight:bold; padding:5px; margin-bottom:5px;" onkeypress="if (event.key == 'Enter') {plot_all_proteins(null,this.value); event.preventDefault()};"/>
+ <!-- br>
+ Filter Peptides:
+ <input type='text' size="20" style="font-weight:bold; padding:5px; margin-bottom:5px;" onkeypress="if (event.key == 'Enter') {filter(this.value); event.preventDefault()};"/ -->
+ </div>
+ <span title="Close this Pop-Up" class="enter" onclick="toggle_window('cuva_settings');">Dismiss</span>
+ </div>
- <br style='clear:both'>
+ <div id="cuva_info" class="tppdatainputbox" style="visibility:hidden;position:fixed;min-width:500px;z-index:80;">
+ <div class="title">LIBRA/TPP ANALYSIS INFO</div>
+ <div style="cursor:initial;" onmousedown="event.stopPropagation();" id="cuvainfo_pane"></div>
+ <span title="Close this Pop-Up" class="enter" onclick="toggle_window('cuva_info');">Dismiss</span>
+ </div>
- <br/><br/><br/><br/>
- <footer id="tppPageFooter"><b>CUVALibRe</b>: Visualize and Analyze Libra Results<br/>_TPP_BUILDID_<br/></footer>
- </div>
-</body>
+ <br style='clear:both'>
+
+ <br/><br/><br/><br/>
+ <footer id="tppPageFooter"><b>CUVALibRe</b>: Visualize and Analyze Libra Results<br/>_TPP_BUILDID_<br/></footer>
+ </div>
+ </body>
</html>
Modified: trunk/trans_proteomic_pipeline/html/js/cuvalibre.js
===================================================================
--- trunk/trans_proteomic_pipeline/html/js/cuvalibre.js 2025-01-13 05:40:06 UTC (rev 9452)
+++ trunk/trans_proteomic_pipeline/html/js/cuvalibre.js 2025-01-13 07:54:01 UTC (rev 9453)
@@ -9,9 +9,17 @@
var _selected = 'null'; // keep it a string!
var _useropts = {};
-async function intake(file) {
+function initLoad() {
+ const params = new URLSearchParams(window.location.search);
+ if (params.has('file')) {
+ document.getElementById("newDatasetURL").value = params.get("file");
+ intake();
+ }
+}
+
+async function intake(file=null) {
if (!file)
- file = document.getElementById("newDatasetURL").value;
+ file = document.getElementById("newDatasetURL").value.trim();
if (file == "") return;
document.body.style.cursor = "progress";
@@ -54,8 +62,6 @@
return;
}
- //cluster_prots_haha(Object.keys(_proteins),1.8);
- //cluster_escape_haha(Object.keys(_proteins),3.0);
cluster_kMeans(Object.keys(_proteins));
// /////
@@ -63,6 +69,7 @@
// /////
document.body.style.cursor = "default";
+ window.history.replaceState(null, null, "//"+ window.location.hostname + window.location.pathname + '?file='+file);
var chart = {};
chart['type'] = 'scatter';
@@ -74,12 +81,9 @@
//show_instructions(false);
- //document.getElementById("TPPchart_wrapper").style.top = (document.getElementById("pageBanner").getBoundingClientRect().bottom) + 'px';
document.getElementById("TPPchart_wrapper").style.top = -parseInt(document.getElementById("TPPchart").style.height,10) + 'px'; //'-1000px';
-
document.getElementById("cuva_main").style.marginTop = (document.getElementById("TPPchart_wrapper").getBoundingClientRect().bottom) + 'px';
document.getElementById("cuva_main").style.display = "none";
- document.getElementById("TPPchart_controls").style.top = (document.getElementById("pageBanner").getBoundingClientRect().bottom) + 'px';
document.getElementById("cuva_settings").style.top = (document.getElementById("pageBanner").getBoundingClientRect().bottom) + 'px';
document.getElementById("cuva_settings").style.visibility = "hidden";
document.getElementById("cuva_diagnostics").style.top = (document.getElementById("pageBanner").getBoundingClientRect().bottom) + 'px';
@@ -254,7 +258,8 @@
document.getElementById("prot:"+prot).style.borderTopWidth = '3px';
document.getElementById("prot:"+prot).style.borderRight = '16px solid';
document.getElementById("prot:"+prot).style.borderBottom = '1px solid #aaa';
- window.scrollTo({top:document.getElementById("prot:"+prot).offsetTop - document.getElementById("cuva_main").offsetTop - 5, behavior: 'smooth' });
+ window.scrollTo({top:document.getElementById("prot:"+prot).offsetTop - document.getElementById("header:").offsetTop - document.getElementById("header:").offsetHeight, behavior: 'smooth' });
+
_show[prot] = true;
document.body.style.cursor = "default";
}
@@ -364,6 +369,13 @@
return;
}
+ if (what == 'labels') {
+ _ms2chart['options']['plugins']['legend']['display'] = !_ms2chart['options']['plugins']['legend']['display'];
+ _ms2chart.update();
+ return;
+ }
+
+
dx1 = 0.5;
dx2 = -0.5;
if (what == 'right')
@@ -423,8 +435,11 @@
else if (protext)
title = 'Proteins that match: '+protext;
var chart = new_chart(title, '', 'Quant Channel');
- chart['options']['scales']['x']['max'] = _nchannels + 1;
- chart['options']['scales']['x']['ticks'] = {'stepSize':1};
+ chart['options']['scales']['x']['min'] = 1;//.8;
+ chart['options']['scales']['x']['max'] = _nchannels;// + .2;
+ chart['options']['scales']['x']['ticks'] = {};
+ chart['options']['scales']['x']['ticks']['stepSize'] = 1;
+ //chart['options']['scales']['x']['ticks']['callback'] = function (value) { if (value > 0 && Number.isInteger(value)) { return value; } };
chart['options']['plugins']['zoom'] = {};
chart['options']['plugins']['zoom']['pan'] = {};
@@ -495,8 +510,11 @@
var chartitle = keptonly?'Filtered for Libra':'All spectra';
chartitle += msrun != null ? ' from MS Run '+ _msruns[msrun] : '';
var chart = new_chart(pep?pep:prot, chartitle, 'Quant Channel');
- chart['options']['scales']['x']['max'] = _nchannels + 1;
- chart['options']['scales']['x']['ticks'] = {'stepSize':1};
+ chart['options']['scales']['x']['min'] = 1;//.8;
+ chart['options']['scales']['x']['max'] = _nchannels;// + .2;
+ chart['options']['scales']['x']['ticks'] = {};
+ chart['options']['scales']['x']['ticks']['stepSize'] = 1;
+ //chart['options']['scales']['x']['ticks']['callback'] = function (value) { if (value > 0 && Number.isInteger(value)) { return value; } };
chart['options']['plugins']['zoom'] = {};
chart['options']['plugins']['zoom']['pan'] = {};
@@ -509,6 +527,13 @@
chart['options']['plugins']['zoom']['limits'] = {};
chart['options']['plugins']['zoom']['limits']['y'] = {'min': 0, 'max':'original'};
+ chart['options']['plugins']['legend'] = {}
+ chart['options']['plugins']['legend']['display'] = true;
+ chart['options']['plugins']['legend']['position'] = 'bottom';
+ chart['options']['plugins']['legend']['labels'] = {};
+ chart['options']['plugins']['legend']['labels']['color'] = '#000';
+ chart['options']['plugins']['legend']['labels']['usePointStyle'] = true;
+
document.getElementById("ms2zoom_control").innerHTML = '\u25A1 Zoom: slow';
var all_data = [];
@@ -534,6 +559,7 @@
continue;
datapoint = {};
+ datapoint['label'] = sequence;
datapoint['showLine'] = true;
datapoint['pointRadius'] = 0;
datapoint['borderColor'] = kept ? pepcolor : '#ccc';
@@ -553,6 +579,7 @@
}
datapoint = {};
+ datapoint['label'] = prot;
datapoint['showLine'] = true;
datapoint['pointRadius'] = 2;
datapoint['borderColor'] = (pep||msrun)?'#666':'#82003b';
@@ -697,10 +724,10 @@
-function plot_sh(forceshow) {
+function plot_sh(forceshow=false) {
if (forceshow || parseInt(document.getElementById("TPPchart_wrapper").style.top,10) < 0) {
document.getElementById("TPPchart_wrapper").style.top = (document.getElementById("pageBanner").getBoundingClientRect().bottom) + 'px';
- document.getElementById("cuva_main").style.marginTop = (3+document.getElementById("pageBanner").getBoundingClientRect().bottom + parseInt(document.getElementById("TPPchart").style.height,10)) + 'px';
+ document.getElementById("cuva_main").style.marginTop = (40+document.getElementById("pageBanner").getBoundingClientRect().bottom + parseInt(document.getElementById("TPPchart").style.height,10)) + 'px';
document.getElementById("shms2_control").innerHTML = '\u2B9D Hide';
}
else {
@@ -733,7 +760,7 @@
span.innerHTML = content;
if (title)
span.title = title;
- document.getElementById(pdiv).appendChild(span);
+ document.getElementById(pdiv).append(span);
return span;
}
@@ -753,13 +780,6 @@
ctx.fillText("\u2190 Place mouse over y-axis to enable zoom/drag of vertical scale", 40, 80);
ctx.fillText("Open a protein section and click on peptide to examine reporter ion peaks", 30, canh-40);
- ctx.textAlign = "right";
- ctx.fillText("Controls can be moved anywhere", canw - 40, 95);
- ctx.beginPath();
- ctx.moveTo(canw - 400, 110);
- ctx.bezierCurveTo(canw - 400-30, 110+50, canw - 400-90, 110+10, canw - 400-60, 110-50);
- ctx.stroke();
-
//ctx.fillText("Click on a peptide sequence to filter by that sequence", canw-40, canh-60);
ctx.textAlign = "center";
@@ -784,9 +804,9 @@
ctx.fillStyle = "#fff";
ctx.textAlign = "center";
ctx.font = "bold 15px Barlow";
- ctx.fillText("1", 20, canh-65);
- ctx.fillText("2", 320, canh-65);
- ctx.fillText("3", (canw-t3w)/2 - 9, 91+canh/2);
+ ctx.fillText("1", 20, canh-62);
+ ctx.fillText("2", 320, canh-62);
+ ctx.fillText("3", (canw-t3w)/2 - 9, 90+canh/2);
ctx.font = "800 25px Barlow";
ctx.fillStyle = "#000";
@@ -840,6 +860,25 @@
_msruns = data['msruns'];
_peptides = data['peptides'];
_proteins = data['proteins'];
+
+ // column header
+ var div = document.createElement("div");
+ div.id ="header:";
+ div.className = 'gridtemplate';
+ //div.style.zIndex = '5';
+ div.style.position = 'fixed';
+ div.style.borderBottom = '2px solid black';
+ document.getElementById("cuva_main").appendChild(div);
+ var sp = add_span(div.id, 'Entry', 'prothead num', 'ProtXML entry');
+ add_span(div.id, 'Protein(s) // Peptide', 'prothead num','Protein Accession (+num indistinguishable) OR peptide sequence (mods highlighted in orange)');
+ sp = add_span(div.id, 'PSM info', 'prothead num', 'Total number of PSMs assigned to this entry OR num_mappings, NTT, and relative TIC of individual spectrum');
+ sp.style.gridColumn = '3/span 3';
+ for (let ch = 1; ch <= _nchannels; ch++)
+ add_span(div.id, 'ch'+ch, 'prothead num');
+ add_span(div.id, 'Libra', 'prothead num','Number of spectra used in Libra quantitation for this entry');
+ add_span(div.id, 'Prob', 'prothead num','Prophet probability');
+ add_generic_prot('_',"_"); // phantom spacer
+
for (var protein in _proteins) {
nprot++;
numspec[protein] = '[ '+_proteins[protein]['tot_peps']+' ]';
@@ -862,6 +901,7 @@
}
}
+ // remove this..?
add_generic_prot("F",'Filtered');
_maxint = data['info']['maxint'];
@@ -904,25 +944,27 @@
document.getElementById("cuvadiagnostics_pane").append(input);
document.getElementById("status1").innerHTML = '';
- var input = document.createElement("input");
+ input = document.createElement("span");
input.id = 'button_summary';
- input.type = 'button';
+ input.className = 'tppnavtab';
input.title = 'Show Summary View';
- input.value = 'Summary';
input.onclick = function() { window_view('summary'); }
+ input.append('Summary');
document.getElementById("status1").append(input);
- input = document.createElement("input");
+ input = document.createElement("span");
input.id = 'button_details';
- input.type = 'button';
+ input.className = 'tppnavtab';
+ input.style.marginLeft = '10px';
input.title = 'Show Detailed View';
- input.value = 'Details';
input.onclick = function() { window_view('details'); }
+ input.append('Details');
document.getElementById("status1").append(input);
document.getElementById("status2").style.marginLeft = '50px';
document.getElementById("status2").innerHTML = '';
input = document.createElement("input");
+ input.id = 'cuva_diagnostics_button';
input.type = 'button';
input.title = 'Show/Hide Diagnostics Interface';
input.value = 'Diagnostics';
@@ -930,6 +972,7 @@
document.getElementById("status2").append(input);
input = document.createElement("input");
+ input.id = 'cuva_settings_button';
input.type = 'button';
input.title = 'Show/Hide Filter and Sort Settings';
input.value = 'Settings';
@@ -937,6 +980,7 @@
document.getElementById("status2").append(input);
input = document.createElement("input");
+ input.id = 'cuva_info_button';
input.type = 'button';
input.title = 'Show/Hide Libra/TPP Analysis Information';
input.value = 'Info';
@@ -945,13 +989,12 @@
input = document.createElement("input");
input.type = 'button';
- input.title = 'Show/Hide Plot Controls';
- input.value = 'Plot Controls';
- input.onclick = function() { toggle_window('TPPchart_controls'); }
+ input.title = 'Show/Hide Plot Window';
+ input.value = 'Plot Window';
+ input.onclick = function() { plot_sh(false); }
document.getElementById("status2").append(input);
add_info(data['info'], nprot);
- tpp_dragElement(document.getElementById('TPPchart_controls'));
tpp_dragElement(document.getElementById('cuva_settings'));
tpp_dragElement(document.getElementById('cuva_diagnostics'));
tpp_dragElement(document.getElementById('cuva_info'));
@@ -1233,23 +1276,29 @@
plot_sh(false);
document.getElementById("cuva_main").style.display = 'none';
document.getElementById("cuva_summary").style.display = '';
- document.getElementById("button_summary").disabled = true;
- document.getElementById("button_details").disabled = false;
+ document.getElementById("button_summary").classList.add('on');
+ document.getElementById("button_details").classList.remove('on');
}
else {
plot_sh(true);
document.getElementById("cuva_main").style.display = '';
document.getElementById("cuva_summary").style.display = 'none';
- document.getElementById("button_summary").disabled = false;
- document.getElementById("button_details").disabled = true;
+ document.getElementById("button_summary").classList.remove('on');
+ document.getElementById("button_details").classList.add('on');
}
}
function toggle_window(who) {
- if (document.getElementById(who).style.visibility == "hidden")
+ if (document.getElementById(who).style.visibility == "hidden") {
document.getElementById(who).style.visibility = "visible";
- else
+ if (document.getElementById(who+"_button"))
+ document.getElementById(who+"_button").style.borderColor = '#ff5f00';
+ }
+ else {
document.getElementById(who).style.visibility = "hidden";
+ if (document.getElementById(who+"_button"))
+ document.getElementById(who+"_button").style.borderColor = '';
+ }
}
@@ -1301,127 +1350,7 @@
return 'rgb(' + [color.r, color.g, color.b].join(',') + ')';
};
-// recursive!
-function cluster_prots_haha(who,similar) {
- if (similar < 1.03)
- return; // seriously
- let cluster_scores = {};
- var had_score = 0;
-
- for (var prot of who) {
- var protobj = _proteins[prot];
- if (!protobj['_cluster'])
- protobj['_cluster'] = [];
-
- if (protobj['libra_npeps'] < 1)
- continue;
-
- var score = ''; // 1 = no/small change; 2 = up; 0 = down
- if (protobj['libra']) {
- for (let ch = 1; ch <= _nchannels; ch++) {
- var next = (ch == _nchannels) ? 1 : ch + 1;
- if (protobj['libra'][next]['ratio'] / protobj['libra'][ch]['ratio'] > similar)
- score += '2';
- else if (protobj['libra'][ch]['ratio'] / protobj['libra'][next]['ratio'] > similar)
- score += '0';
- else
- score += '1';
- }
- }
- if (score) {
- score += ' ['+similar+']';
- had_score++;
- if (cluster_scores[score])
- cluster_scores[score].push(prot);
- else
- cluster_scores[score] = [ prot ];
- }
- protobj['_cluster'].push(score);
- }
-
- if (!had_score) {
- document.getElementById("status1").innerHTML = '(No clusters found) ';
- document.getElementById("status1").className = 'na';
- return;
- }
-
- var input = add_cluster_controls(had_score);
-
- for (var sc in cluster_scores) {
- var opt = document.createElement("option");
- opt.value = sc;
- opt.innerHTML = sc + ' ['+cluster_scores[sc].length + ']';
- if (cluster_scores[sc].length > 1)
- input.append(opt);
- if (cluster_scores[sc].length > 20)
- cluster_prots_haha(cluster_scores[sc],(0.9*similar).toFixed(2));
- }
-}
-
-
-function cluster_escape_haha(who, scale) {
- var force = false;
- if (scale < 0.2)
- force = true;
-
- let cluster_scores = {};
- var had_score = 0;
-
- for (var prot of who) {
- var protobj = _proteins[prot];
- if (!protobj['_cluster'])
- protobj['_cluster'] = [];
-
- if (protobj['libra_npeps'] < 1)
- continue;
-
- var score = ''; // 5 = no/small change; 9 = way up; 1 = way down
- if (protobj['libra']) {
- for (let ch = 1; ch <= _nchannels; ch++) {
- var next = (ch == _nchannels) ? 1 : ch + 1;
- var ratio = Math.trunc(5 + Math.log(protobj['libra'][next]['ratio'] / protobj['libra'][ch]['ratio'])*scale );
- if (ratio>5)
- ratio = 5;
- else if (ratio<1)
- ratio = 1;
- score += ratio;
- }
- }
- if (score) {
- score += ' ['+scale+']';
- had_score++;
- if (cluster_scores[score])
- cluster_scores[score].push(prot);
- else
- cluster_scores[score] = [ prot ];
- }
- protobj['_cluster'].push(score);
- }
-
- if (!had_score) {
- document.getElementById("status1").innerHTML = '(No clusters found) ';
- document.getElementById("status1").className = 'na';
- return;
- }
-
- var input = add_cluster_controls(had_score);
-
- if (!force && Object.keys(cluster_scores).length > had_score / 5)
- cluster_escape_haha(who,(0.7*scale).toFixed(1));
- else {
- for (var sc in cluster_scores) {
- var opt = document.createElement("option");
- opt.value = sc;
- opt.innerHTML = sc + ' ['+cluster_scores[sc].length + ']';
- if (cluster_scores[sc].length > 1) // skip singles...
- input.append(opt);
- }
- }
-
-}
-
-
function cluster_kMeans(who, numk=0, show=true) {
var cursor = document.body.style.cursor;
document.body.style.cursor = "progress";
@@ -1574,3 +1503,5 @@
return input;
}
+
+window.onload = initLoad;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <rea...@us...> - 2025-01-13 05:40:12
|
Revision: 9452
http://sourceforge.net/p/sashimi/code/9452
Author: real_procopio
Date: 2025-01-13 05:40:06 +0000 (Mon, 13 Jan 2025)
Log Message:
-----------
[Petunia]
- Add full comet params file option
- Add RumAndCoke (generates JSON file for CUVALibRe)
- Add link to CUVALibRe (for *.prot.xml.json files)
- Remove obsolete dta2mzxml from menu (code removal TBD)
- Rebalance main menu items
- Use simpler call to set HOST when running q* scripts locally
- Do not buffer rumandcoke output so it can be seen by Petunia
Modified Paths:
--------------
trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.js
trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
trunk/trans_proteomic_pipeline/python/rumandcoke.py
Modified: trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.js
===================================================================
--- trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.js 2025-01-13 05:24:55 UTC (rev 9451)
+++ trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.js 2025-01-13 05:40:06 UTC (rev 9452)
@@ -497,7 +497,8 @@
var allftypes = [];
allftypes.push({type:"textfile", text:"Empty Text File (to edit later)", meh:"meh"});
- allftypes.push({type:"cometparams", text:"Comet Params", meh:"meh"});
+ allftypes.push({type:"cometparams", text:"Comet Params (basic)", meh:"meh"});
+ allftypes.push({type:"cometparamsfull", text:"Comet Params (full)", meh:"meh"});
allftypes.push({type:"tandemparams", text:"X!Tandem Params: k-score / ISB", meh:"meh"});
allftypes.push({type:"magnumparams", text:"Magnum Default Params", meh:"meh"});
allftypes.push({type:"kojakparams", text:"Kojak Default Params", meh:"meh"});
@@ -562,7 +563,7 @@
var value = '';
if (type == 'textfile')
value = 'empty.txt';
- else if (type == 'cometparams')
+ else if (type.startsWith('cometparams'))
value = 'comet.params';
else if (type == 'tandemparams')
value = 'tandem_params.xml';
Modified: trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl
===================================================================
--- trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl 2025-01-13 05:24:55 UTC (rev 9451)
+++ trunk/trans_proteomic_pipeline/perl/tpp_gui/tpp_gui.pl 2025-01-13 05:40:06 UTC (rev 9452)
@@ -7,7 +7,7 @@
# #
# Front-end to SPC Analysis Tools (TPP) #
# #
-# Copyright (C) 2005-2024 Luis Mendoza #
+# Copyright (C) 2005-2025 Luis Mendoza #
# #
# This library is free software; you can redistribute it and/or #
# modify it under the terms of the GNU Lesser General Public #
@@ -174,6 +174,7 @@
'xpresspep' => "${tpp_bin}XPressPeptideParser",
'asappep' => "${tpp_bin}ASAPRatioPeptideParser",
'librapep' => "${tpp_bin}LibraPeptideParser",
+ 'rumandcoke' => "${tpp_bin}/rumandcoke.py",
'stpeter' => "${tpp_bin}StPeter",
'spacepro' => "${tpp_bin}SPACEPro",
'quantic' => "${tpp_bin}QuanticParser",
@@ -245,7 +246,8 @@
'DecoyValProts' , 'Decoy Protein Validation',
'runMayu' , 'Run Mayu',
'genLibraCond' , 'Generate Condition File',
- 'calcRetTime' , 'Run RTCalc',
+ 'runRumAndCoke' , 'Generate JSON File',
+ 'calcRetTime' , 'Run RTCalc',
'trainRetTime' , 'Create RTCalc Model',
'runMMMShrinker', 'Run mzML Shrinker',
'runDidIScan' , 'Run DidIScanThat',
@@ -348,12 +350,13 @@
'decoyfasta' , \&pageDecoyFasta,
'mayu' , \&pageMayu,
'conditionxml', \&pageLibraCondition,
- 'rtcalc', \&pageRTCalc,
- 'rttrain', \&pageRTTrain,
- 'seq2mspred', \&pageSeq2MSPredict,
+ 'rumandcoke' , \&pageRumAndCoke,
+ 'rtcalc' , \&pageRTCalc,
+ 'rttrain' , \&pageRTTrain,
+ 'seq2mspred' , \&pageSeq2MSPredict,
'seq2mstrain', \&pageSeq2MSTrain,
'mzmlshrinker', \&pageMMMShrinker,
- 'didiscan', \&pageDidIScanThat,
+ 'didiscan' , \&pageDidIScanThat,
'mzxml2search', \&pageMzXml2Other,
'dta2mzxml' , \&pageDta2MzXml,
'indexmzxml' , \&pageIndexMzXml,
@@ -416,12 +419,13 @@
'proc:specmods' , 'SpectraSTMods',
'proc:speclib' , 'SpectralLibrary',
'proc:speclibimport' , 'SpecLibImport',
+ 'proc:xmlfile' , 'XMLFile',
'proc:textfile' , 'TextFile',
'proc:tsvfile' , 'TsvFile',
'proc:trainfile' , 'TrainFile',
'proc:testfile' , 'TestFile',
- 'proc:trainfile_rt' , 'RtTrainFile',
- 'proc:testfile_rt' , 'RtTestFile',
+ 'proc:trainfile_rt' , 'RtTrainFile',
+ 'proc:testfile_rt' , 'RtTestFile',
'proc:dir' , 'Directory',
'proc:updatefiles' , 'UpdatePaths',
'lastdir' , 'LastDirectory',
@@ -745,7 +749,9 @@
} elsif ( $action eq $web_actions{'filterdat'} ) {
$page = &filterMascotFile();
} elsif ( $action eq $web_actions{'genLibraCond'} ) {
- $page = &generateLibraConditionFile();
+ $page = &generateLibraConditionFile();
+ } elsif ( $action eq $web_actions{'runRumAndCoke'} ) {
+ $page = &runRumAndCoke();
} elsif ( $action eq $web_actions{'runDidIScan'} ) {
$page = &runDidIScan();
} elsif ( $action eq $web_actions{'runMMMShrinker'} ) {
@@ -1812,8 +1818,9 @@
$created++;
}
}
- elsif ($ftype eq 'cometparams') {
- my $command = &safe_chdir($tmp_dir) . "$command{comet} -p $command_sep $command{mv} -v comet.params.new $fname";
+ elsif ($ftype eq 'cometparams' || $ftype eq 'cometparamsfull') {
+ my $opt = $ftype eq 'cometparamsfull' ? '-q' : '-p';
+ my $command = &safe_chdir($tmp_dir) . "$command{comet} $opt $command_sep $command{mv} -v comet.params.new $fname";
chomp(my $out = `$command 2>&1`);
if ($?) {
push @messages, "Error creating params file!";
@@ -6918,7 +6925,46 @@
return 'conditionxml';
}
+########################################################################
+# runRumAndCoke
+#
+# Generate JSON file with data necessary to launch in CUVALibRe
+########################################################################
+sub runRumAndCoke() {
+ my $prot_file;
+ my $cond_file;
+ # Retrieve Files
+ for (@session_data) {
+ chomp;
+ $prot_file = $' if (/^$proc_types{'proc:protxml'}:/); #'
+ $cond_file = $' if (/^$proc_types{'proc:xmlfile'}:/); #'
+ }
+
+ if (!$prot_file || !$cond_file) {
+ push @messages, "Input files missing!";
+ push @messages, "Please 'Select' protXML and a Libra condition file.";
+ return 'rumandcoke';
+ }
+
+ # Perform Basic Validation -- None at the moment...
+ return 'rumandcoke' if ($errors);
+
+ # Build command
+ #
+ # rumandcoke.py -p <protXML file> <condition file>
+ my @commands;
+
+ my $out_file = $prot_file . '.json';
+ my $fdir = dirname($prot_file);
+ my $command = &safe_chdir($fdir) . "$command{rumandcoke} -p $prot_file $cond_file";
+
+ push @commands, ($command, $out_file);
+
+ return &prepareCommands('rumandcoke',@commands);
+}
+
+
########################################################################
# runMMMShrinker
#
@@ -7910,10 +7956,11 @@
mayu => ['Mayu','Determine peptide and/or protein FDRs using Mayu'],
dna2aa => ['DNA to AA','Generate an amino acid database from a genomic database via 6-frame translation'],
conditionxml => ['Libra Conditions','Generate a Libra condition file for TMT/iTRAQ/etc analysis'],
+ rumandcoke => ['Libra JSON','Generate a JSON file suitable for visualization in CUVALibRe','RumAndCoke'],
rtcalc => ['RT Prediction','Retention Time Prediction tool'],
rttrain => ['RT Training','Retention Time Training tool'],
- seq2mspred => ['Predict Peptide Spectra','Predict tandem mass spectra for given peptide sequences using neural networks','Seq2MS'],
- seq2mstrain => ['Train Models','Train neural network models for predicting tandem mass spectra in Seq2MS','Seq2MS Models'],
+ seq2mspred => ['Predict Peptide Spectra','Predict tandem mass spectra for given peptide sequences using neural networks','Seq2MS'],
+ seq2mstrain => ['Train Models','Train neural network models for predicting tandem mass spectra in Seq2MS','Seq2MS Models'],
spectrastlib => ['SpectraST Library Import','Generate and manipulate spectral libraries'],
getspeclibs => ['Download Spectral Libraries','...from the PeptideAtlas Spectrum Library Central'],
lib2html => ['Convert Libraries to HTML','Convert SpectraST libs to user-browsable HTML using Lib2HTML','Lib2HTML'],
@@ -7990,9 +8037,9 @@
{ name => 'Files', pages=> 'filebrowser'},
{ name => 'TPP Tools', pages=>
"H:Analysis_Pipeline,$pipeline_steps,,respect,quantic,stpeter,qualscore,$pipeline_comma".
- 'H:Utilities,tpp2mzid,fetchdataset,compareprots,conditionxml,rtcalc,rttrain,spacepro,updatepaths,h:Spectral_Prediction,seq2mspred,seq2mstrain,'.
- 'H:Databases,refreshdb,indexpeff,decoyfasta,dna2aa,h:Decoy,decoyvalpeps,decoyvalprots,h:DIA,disco,dialibqc,'.
- 'H:mz[X]ML_Utilities,mzxml2search,didiscan,mzmlshrinker,indexmzxml,dta2mzxml,,h:SpectraST_Tools,spectrastlib,getspeclibs,lib2html'
+ 'H:Utilities,tpp2mzid,fetchdataset,compareprots,conditionxml,rumandcoke,spacepro,updatepaths,,h:Retention Time,rtcalc,rttrain,'.
+ 'H:Databases,refreshdb,indexpeff,decoyfasta,dna2aa,h:Decoy,decoyvalpeps,decoyvalprots,,h:DIA,disco,dialibqc,'.
+ 'H:mz[X]ML_Utilities,mzxml2search,didiscan,mzmlshrinker,indexmzxml,h:SpectraST_Tools,spectrastlib,getspeclibs,lib2html,h:Spectral_Prediction,seq2mspred,seq2mstrain'
},
{ name => 'External Tools', pages=> 'mayu,percolator,trfp,tdf2mzml'},
{ name => 'Account', pages=> "account,sessions,clusters"},
@@ -10863,7 +10910,52 @@
}
+########################################################################
+# pageRumAndCoke
+#
+# Generate JSON file for examination of Libra/Quant results with CUVALibRe
+#
+########################################################################
+sub pageRumAndCoke {
+ # protxml files (from session)
+ my $prot_file_there = &showFiles(
+ proc_type => 'proc:protxml',
+ ref_page => 'rumandcoke',
+ file_ext => 'prot.xml',
+ max_count => 1,
+ sect_title => 'Choose ProteinProphet ProtXML Files');
+
+ Delete('file_ext');
+ Delete('proc_type');
+
+ my $cond_file_there = &showFiles(
+ proc_type => 'proc:xmlfile',
+ ref_page => 'rumandcoke',
+ file_ext => 'xml',
+ max_count => 1,
+ sect_title => 'Choose Libra Condition File');
+
+
+ print
+ br,
+ &printTitle(title=>'Generate JSON file for CUVALibRe'),
+ start_form('POST',$tpp_gui_url),
+ "<div class='formentry'>";
+
+ if ($prot_file_there && $cond_file_there) {
+ print &printSubmitOptions('runRumAndCoke');
+ } else {
+ print h2('No files selected yet.');
+ }
+
+ print
+ br,
+ "</div>\n",
+ end_form;
+}
+
+
########################################################################
# pageMMMShrinker
#
@@ -16772,6 +16864,8 @@
$html_link = "[ <a target=\"main\" href=\"${tpp_cgi_url}plot-msms-js.cgi?Dta=$file_loc\">spectrum</a> ]";
} elsif ($file_loc =~ /\.gz$/i) {
$html_link = "---";
+ } elsif ($file_loc =~ /\.prot\.xml\.json$/i) {
+ $html_link = "[ <a target=\"cuvawin\" href=\"${tpp_html_url}cuvalibre.html?file=$file_url\"> CUVALibRe </a> ]";
} elsif ($file_loc =~ /\.prot\.json$/i) {
$html_link = "[ <a target=\"pgwin\" href=\"${tpp_html_url}PG.html?file=$file_url\"> ProteoGrapher </a> |";
$html_link.= " <a href=\"javascript:tppcellink('$file_url')\">TPPcel</a> ]";
@@ -17405,7 +17499,7 @@
print SHCMD "export PERL5LIB=/proteomics/sw/perl-u20/share/perl:/proteomics/sw/perl-u20/lib/perl5:/proteomics/sw/perl-u20/lib/x86_64-linux-gnu/perl\n";
print SHCMD "export PATH=/proteomics/sw/bin:\$PATH\n";
print SHCMD "#echo PATH == \$PATH\n";
- print SHCMD "export HOST=`/bin/uname -n | /bin/awk -F. '{print $1}'`\n";
+ print SHCMD "export HOST=`/bin/hostname -s`\n";
print SHCMD "#echo HOST == \$HOST\n";
while ($cmds =~ /(export .*?);/g) {
Modified: trunk/trans_proteomic_pipeline/python/rumandcoke.py
===================================================================
--- trunk/trans_proteomic_pipeline/python/rumandcoke.py 2025-01-13 05:24:55 UTC (rev 9451)
+++ trunk/trans_proteomic_pipeline/python/rumandcoke.py 2025-01-13 05:40:06 UTC (rev 9452)
@@ -1,4 +1,4 @@
-#!__TPP_PYTHON__
+#!__TPP_PYTHON__ -u
#############################################################################
# Program : rumandcoke.py #
# Author : Luis Mendoza <lmendoza at systems biology> #
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|