void CLI::run() { bool worktime = true; while (worktime) { m_qout << "----------------" << endl << "1 - Enter array" << endl << "2 - Enter string" << endl << "3 - Quit" << endl << "Enter command: " << flush; switch (m_qin.readLine().toInt()) { case 1: processArray(); break; case 2: processString(); break; case 3: worktime = false; printMsg("See you later..." ); break; default: printMsg("Undefined command"); } m_qout << endl << flush; } }
virtual void processQString(unsigned len, const char *value, const RtlFieldInfo * field) { size32_t charCount; rtlDataAttr text; rtlQStrToStrX(charCount, text.refstr(), len, value); processString(charCount, text.getstr(), field); }
QDomElement OOoReportBuilder::parseRow(QDomNode row) { QDomElement lastElement = row.toElement(); if (reportBand(row) == Detail) { lastElement = processDetail(row.toElement()); } else { QDomNode child = row.firstChild(); while (!child.isNull()) { if (child.nodeName() == "table:table-cell") { QString str = processString(cellText(child.toElement())); bool ok; double value = str.toDouble(&ok); if (ok) { setText(child.toElement(), value); } else setText(child.toElement(), str); } child = child.nextSibling(); } } return lastElement; }
void IntlParametersBlock::processParametersBlock(ProcessString* processString, ClumpletWriter& pb) { for (pb.rewind(); !pb.isEof(); pb.moveNext()) { UCHAR tag = pb.getClumpTag(); string s; switch (checkTag(tag)) { case TAG_SKIP: break; case TAG_STRING: pb.getString(s); processString(s); pb.deleteClumplet(); pb.insertString(tag, s); break; case TAG_COMMAND_LINE: pb.getString(s); processCommandLine(processString, s); pb.deleteClumplet(); pb.insertString(tag, s); break; } } }
Token(const TokenTypes Type, std::list<char>& DataIn) : Bytes(NULL), _Type(Type) { if (_Type == MODE_CHANGES) { Bytes = processModeChange(DataIn); } else if (_Type == STRING) { Bytes = processString(DataIn); } }
void IntlParametersBlock::processParametersBlock(ProcessString* processString, ClumpletWriter& pb) { const char* tagName = NULL; try { for (pb.rewind(); !pb.isEof(); ) { UCHAR tag = pb.getClumpTag(); string s; tagName = NULL; switch (checkTag(tag, &tagName)) { case TAG_SKIP: pb.moveNext(); break; case TAG_STRING: pb.getString(s); processString(s); pb.deleteClumplet(); pb.insertString(tag, s); break; case TAG_COMMAND_LINE: pb.getString(s); processCommandLine(processString, s); pb.deleteClumplet(); pb.insertString(tag, s); break; } } } catch (const Firebird::status_exception& st) { LocalStatus ls; CheckStatusWrapper l(&ls); st.stuffException(&l); if ((l.getState() & IStatus::STATE_ERRORS) && (l.getErrors()[1] == isc_bad_conn_str) && tagName) { Arg::Gds newErrors(isc_intl_char); newErrors << tagName; const ISC_STATUS* errors = l.getErrors(); newErrors << Arg::StatusVector(errors + 2); // skip isc_bad_conn_str l.setErrors(newErrors.value()); status_exception::raise(&l); } // other case leave exception as is throw; } }
/** Return the string used by SireError to identify the process */ QString SIREERROR_EXPORT getProcessString() { QString *s = processString(); if (s->isEmpty()) { return *s = QObject::tr("master"); } return *s; }
void TUIGame::play() { handleCommand("new"); while (true) { // Print last move if (currentMove > 0) { Position prevPos(getPos()); prevPos.unMakeMove(moveList[currentMove - 1], uiInfoList[currentMove - 1]); std::string moveStr= TextIO::moveToString(prevPos, moveList[currentMove - 1], false); if (haveDrawOffer()) moveStr += " (offer draw)"; std::cout << "Last move: " << prevPos.getFullMoveCounter() << (prevPos.isWhiteMove() ? "." : "...") << ' ' << moveStr << std::endl; } /* { std::stringstream ss; ss << "Hash: " << std::hex << std::setw(16) << std::setfill('0') << pos.zobristHash(); std::cout << ss.str() << std::endl; } */ { auto et = Evaluate::getEvalHashTables(); Evaluate eval(*et); int evScore = eval.evalPos(getPos()) * (getPos().isWhiteMove() ? 1 : -1); std::stringstream ss; ss.precision(2); ss << std::fixed << "Eval: " << (evScore / 100.0); std::cout << ss.str() << std::endl; } // Check game state std::cout << TextIO::asciiBoard(getPos()); std::string stateStr = getGameStateString(); if (stateStr.length() > 0) std::cout << stateStr << std::endl; if (getGameState() != Game::ALIVE) activateHumanPlayer(); // Get command from current player and act on it Player& pl = getPos().isWhiteMove() ? *whitePlayer : *blackPlayer; std::vector<Position> posList; getHistory(posList); std::string moveStr = pl.getCommand(getPos(), haveDrawOffer(), posList); if (moveStr == "quit") return; bool ok = processString(moveStr); if (!ok) std::cout << "Invalid move: " << moveStr << std::endl; } }
int KSDBHandler::getId(const QString& name) { KSResult temp = processString("SELECT id_phrase FROM phrases WHERE name='"+name+"';"); QString output = temp["id_phrase"]; if(output.isNull()) { return -1; } else { return output.toInt(); } }
int main() { char* string; string = getString(); processString(string); printf("%s\n", string); free(string); return 0; }
int main(){ char *chunk, *delim = ";"; //can be replaced with scanf for input. char *tmp = "x+=3;y+=5;x*=y;"; char *str = strdup(tmp); chunk = strtok(str, delim); while(chunk){ processString(chunk); chunk = strtok(NULL, delim); } printValues(); return 0; }
bool GwfTranslator::translateImpl() { // open file and read data bool result = true; std::ifstream ifs(mParams.fileName.c_str()); if (ifs.is_open()) { String data((std::istreambuf_iterator<char>(ifs)), std::istreambuf_iterator<char>()); result = processString(data); } else return false; ifs.close(); return result; }
int MessageState::nextMessage(reg_t buf) { MessageRecord record; if (!buf.isNull()) { if (getRecord(_cursorStack, true, record)) { outputString(buf, processString(record.string)); _lastReturned = record.tuple; _lastReturnedModule = _cursorStack.getModule(); _cursorStack.top().seq++; return record.talker; } else { MessageTuple &t = _cursorStack.top(); outputString(buf, Common::String::format("Msg %d: %d %d %d %d not found", _cursorStack.getModule(), t.noun, t.verb, t.cond, t.seq)); return 0; } } else { CursorStack stack = _cursorStack; if (getRecord(stack, true, record)) return record.talker; else return 0; } }
int main (int argc, char *argv[]) { FILE* ftmp = NULL; if ((Conf = confp_open(getenv("FUSIONSEQ_CONFPATH"))) == NULL) return EXIT_FAILURE; cgiInit(); cgiHeader("text/html"); if (argc == 3) { GfrEntry *currGE; Stringa buffer; GfrPairCount *currGEPC; GfrInterRead *currGIR; int i; puts ("<html>"); puts ("<head>"); html_printGenericStyleSheet (12); puts ("<title>geneFusions Details</title>\n"); puts ("</head>"); puts ("<body>"); buffer = stringCreate (100); stringPrintf (buffer, "%s/%s.gfr", confp_get(Conf, "WEB_DATA_DIR"),argv[1]); gfr_init (string (buffer)); while (currGE = gfr_nextEntry ()){ fflush( stdout ); if (!strEqual (currGE->id,argv[2])) { continue; } printf ("<h1>Detailed summary for potential gene fusion candidate</h1><br>"); puts ("<table border=0 cellpadding=10>"); puts ("<tr align=left valign=top>"); puts ("<td width=400>"); puts ("<h2>Summary information</h2><br>"); printf ("<b>Identifier</b>: %s<br><br>\n",currGE->id); printf ("<b>Number of inter paired-end reads</b>: %d<br><br>\n",currGE->numInter); printf ("<b>Type</b>: %s<br><br>\n",currGE->fusionType); stringPrintf(buffer, "%s/GFF/%s.gff", confp_get(Conf, "WEB_DATA_DIR"),currGE->id); ftmp = fopen( string(buffer), "r" ); // displaying this only if data are present if (ftmp) { printf("<b>Connected Reads</b>: <a href=%s&hgt.customText=%s/GFF/%s.gff target=blank>UCSC connectivity graph</a><br>\n", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript1, currGE->startTranscript1 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript2 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"),currGE->id); fclose( ftmp ); } puts ("</td>"); puts ("<td>"); puts ("<h2>Transcript connectivity graph</h2>"); printf ("<img src=%s/IMAGES/%s.jpg alt=geneFusionImage>\n", confp_get(Conf, "WEB_DATA_LINK"), currGE->id); puts ("</td>"); puts ("<td>"); puts ("<h2>Transcript connectivity table</h2><br>"); puts ("<table border=0>"); puts ("<tr align=left>"); puts ("<th width=200>Pair Type</th>"); puts ("<th width=200>Entry transcript 1</th>"); puts ("<th width=200>Entry transcript 2</th>"); puts ("<th width=200>Counts</th>"); puts ("</tr>"); fflush( stdout ); for (i = 0; i < arrayMax (currGE->pairCounts); i++) { currGEPC = arrp (currGE->pairCounts,i,GfrPairCount); printf ("<tr><td>%s</td><td>%s</td><td>%s</td><td>%.2f</td></tr>\n", getPairTypeName(currGEPC->pairType), getEntryNumber(currGEPC->number1, currGEPC->pairType, 1), getEntryNumber(currGEPC->number2, currGEPC->pairType, 2), currGEPC->count); } puts ("</table>"); puts ("</td>"); puts ("</tr>"); puts ("</table>"); puts ("<br>"); puts ("<h2>Transcript information</h2><br>"); puts ("<table border=1 cellpadding=10 width=\"80%\">"); puts ("<tr align=left>"); puts ("<th width=\"20%\"></th>"); puts ("<th><font color='blue'>Transcript 1</font></th>"); puts ("<th><font color='orange'>Transcript 2</font></th>"); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Gene symbol(s)</b></td>"); printf ("<td width=\"30%%\"><font color='blue'>%s</font></td>\n",processString (currGE->geneSymbolTranscript1)); printf ("<td width=\"30%%\"><font color='orange'>%s</font></td>\n",processString (currGE->geneSymbolTranscript2)); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Coordinates</b></td>"); printf ("<td width=\"30%%\">%s:%d-%d</td>\n",currGE->chromosomeTranscript1,currGE->startTranscript1,currGE->endTranscript1); printf ("<td width=\"30%%\">%s:%d-%d</td>\n",currGE->chromosomeTranscript2,currGE->startTranscript2,currGE->endTranscript2); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Strand</b></td>"); printf ("<td width=\"30%%\">%c</td>\n",currGE->strandTranscript1); printf ("<td width=\"30%%\">%c</td>\n",currGE->strandTranscript2); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Gene description(s)</b></td>"); printf ("<td width=\"30%%\">%s</td>\n",processString (currGE->descriptionTranscript1)); printf ("<td width=\"30%%\">%s</td>\n",processString (currGE->descriptionTranscript2)); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Number of exons</b></td>"); printf ("<td width=\"30%%\">%d</td>\n",currGE->numExonsTranscript1); printf ("<td width=\"30%%\">%d</td>\n",currGE->numExonsTranscript2); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Number of intra paired-end reads</b></td>"); printf ("<td width=\"30%%\">%d</td>\n",currGE->numIntra1); printf ("<td width=\"30%%\">%d</td>\n",currGE->numIntra2); puts ("</tr>"); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Links</b></td>"); printf ("<td width=\"30%%\">[<a href=%s&hgt.customText=%s/BED/%s_1.bed target=blank>UCSC genome browser</a>] [<a href=%s/FASTA/%s_1.fasta>FASTA file</a>]<br></td>\n", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript1, currGE->startTranscript1 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript1 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), currGE->id, confp_get(Conf, "WEB_DATA_LINK"), currGE->id); printf ("<td width=\"30%%\">[<a href=%s&hgt.customText=%s/BED/%s_2.bed target=blank>UCSC genome browser</a>] [<a href=%s/FASTA/%s_2.fasta>FASTA file</a>]<br></td></tr>\n", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript2, currGE->startTranscript2 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript2 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), currGE->id, confp_get(Conf, "WEB_DATA_LINK"), currGE->id); puts ("<tr align=left>"); puts ("<td width=\"20%\"><b>Expression</b></td>"); stringPrintf(buffer, "%s/BGRS/%s_%s.bgr.gz", confp_get(Conf, "WEB_DATA_DIR"), argv[1], currGE->chromosomeTranscript1); ftmp = fopen( string(buffer), "r" ); // displaying this only if data are present puts("<td width=\"30%\">"); if( ftmp ) { printf ("[<a href=%s&hgt.customText=%s/BGRS/%s_%s.bgr.gz target=blank>Expression %s</a>]", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript1, currGE->startTranscript1 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript1 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), argv[1], currGE->chromosomeTranscript1, currGE->chromosomeTranscript1); fclose(ftmp); } puts("</td>"); stringPrintf(buffer, "%s/BGRS/%s_%s.bgr.gz", confp_get(Conf, "WEB_DATA_DIR"),argv[1],currGE->chromosomeTranscript2); ftmp = fopen( string(buffer), "r" ); // displaying this only if data are present puts("<td width=\"30%\">"); if( ftmp ) { printf ("[<a href=%s&hgt.customText=%s/BGRS/%s_%s.bgr.gz target=blank>Expression %s</a>]", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript2, currGE->startTranscript2 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript2 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), argv[1], currGE->chromosomeTranscript2, currGE->chromosomeTranscript2); fclose(ftmp); } puts("</td>"); puts("</tr>"); puts ("</table><br><br>"); puts ("<h2>Breakpoint analysis</h2><br>"); puts ("<table border=1 width=\"80%\" cellpadding=10><thead><tr><th>Orientation</th><th>Alignments</th><th colspan=2>Breakpoints</th></tr></thead><tbody>"); puts ("<tr><td>Orientation AB</td>"); if (currGE->strandTranscript1=='+') { currGE->strandTranscript2=='+' ? stringPrintf(buffer, "AB_trans1F_trans2F") : stringPrintf(buffer, "AB_trans1F_trans2R"); } else if( currGE->strandTranscript1 == '-') { currGE->strandTranscript2=='+' ? stringPrintf(buffer, "AB_trans1R_trans2F") : stringPrintf(buffer, "AB_trans1R_trans2R"); } else { die("Strand informatation is not correct (transcript 1): %c", currGE->strandTranscript1); } printf ("<td align=center><a href=%s/ALIGNMENTS/%s_AB_breakPointAlignments.txt><img src=%s/IMAGES/%s.png></img> AB</a></td>", confp_get(Conf, "WEB_DATA_LINK"), currGE->id, confp_get(Conf, "WEB_DATA_LINK"), string(buffer)); printf ("<td align=center><a href=%s&hgt.customText=%s/WIGS/%s_AB_breakPointsTranscript1.wig target=blank>Breakpoints transcript 1 UCSC Genome Browser</a></td>", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript1, currGE->startTranscript1 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript1 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), currGE->id); printf ("<td align=center><a href=%s&hgt.customText=%s/WIGS/%s_AB_breakPointsTranscript2.wig target=blank>Breakpoints transcript 2 UCSC Genome Browser</a></td></tr>", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript2, currGE->startTranscript2 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript2 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), currGE->id); fflush(stdout); puts ("<tr><td>Orientation BA</td>"); if (currGE->strandTranscript1 == '+') { currGE->strandTranscript2=='+' ? stringPrintf(buffer, "BA_trans1F_trans2F") : stringPrintf(buffer, "BA_trans1F_trans2R"); } else if( currGE->strandTranscript1 == '-') { currGE->strandTranscript2=='+' ? stringPrintf(buffer, "BA_trans1R_trans2F") : stringPrintf(buffer, "BA_trans1R_trans2R"); } else { die("Strand informatation is not correct (transcript2): %c", currGE->strandTranscript2); } printf ("<td align=center><a href=%s/ALIGNMENTS/%s_BA_breakPointAlignments.txt><img src=%s/IMAGES/%s.png></img> BA</a></td>", confp_get(Conf, "WEB_DATA_LINK"), currGE->id, confp_get(Conf, "WEB_DATA_LINK"), string(buffer)); printf ("<td align=center><a href=%s&hgt.customText=%s/WIGS/%s_BA_breakPointsTranscript2.wig target=blank>Breakpoints transcript 2 UCSC Genome Browser</a></td>", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript2, currGE->startTranscript2 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript2 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), currGE->id); printf ("<td align=center><a href=%s&hgt.customText=%s/WIGS/%s_BA_breakPointsTranscript1.wig target=blank>Breakpoints transcript 1 UCSC Genome Browser</a></td></tr>", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript1, currGE->startTranscript1 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript1 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), confp_get(Conf, "WEB_DATA_LINK"), currGE->id); puts ("</tbody></table>"); puts ("<br><br><br>"); fflush(stdout); puts ("<h2>Read coordinates</h2><br>"); puts ("<table border=0>"); puts ("<tr align=left>"); puts ("<th width=\"10%\">Pair Type</th>"); puts ("<th width=\"10%\">Entry Transcript 1</th>"); puts ("<th width=\"10%\">Read start transcript 1</th>"); puts ("<th width=\"10%\">Read end transcript 1</th>"); puts ("<th width=\"10%\">Entry Transcript 2</th>"); puts ("<th width=\"10%\">Read start transcript 2</th>"); puts ("<th width=\"10%\">Read end transcript 2</th>"); puts ("</tr>"); for (i = 0; i < arrayMax (currGE->interReads); i++) { currGIR = arrp (currGE->interReads,i,GfrInterRead); printf ("<tr><td>%s</td><td>%s</td><td>%d</td><td>%d</td><td>%s</td><td>%d</td><td>%d</td></tr>\n", getPairTypeName(currGIR->pairType), getEntryNumber(currGIR->number1, currGIR->pairType, 1), currGIR->readStart1,currGIR->readEnd1, getEntryNumber(currGIR->number2,currGIR->pairType, 2), currGIR->readStart2, currGIR->readEnd2); } puts ("</table><br><br><br>"); puts ("</body>"); puts ("</html>"); fflush (stdout); } } confp_close(Conf); return EXIT_SUCCESS; }
/** Set the string that SireError will use to identify this process */ void SIREERROR_EXPORT setProcessString(const QString &s) { *(processString()) = s; }
static void generateOutput (char* prefix, char* typeSelected, int minNum) { GfrEntry *currGE; Stringa buffer; char *pos; puts ("<html>"); puts ("<head>"); puts ("<title>Results - Gene Fusions</title>"); html_printGenericStyleSheet (12); puts ("</head>"); puts ("<body>"); if (prefix[0] == '\0') { die ("Invalid prefix"); } printf ("<h1>Results - %s</h1><br><br><br>",prefix); buffer = stringCreate(50); //Chromosome expression, if present LineStream ls; char* chrSignal=NULL; stringPrintf(buffer, "ls -1 %s/BGRS/%s_chr*.bgr.gz 2> /dev/null", confp_get(Conf, "WEB_DATA_DIR"), prefix); ls = ls_createFromPipe(string(buffer)); int countCol = 0; puts ("Expression signal: "); fflush(stdout); while( chrSignal = ls_nextLine(ls)) { char* chrTmp = stringBetween( prefix, ".bgr.gz", chrSignal ); chrTmp++; printf ("[<a href=%s&hgt.customText=%s/BGRS/%s_%s.bgr.gz target='blank'>%s</a>] ", htmlLinker_generateLinkToGenomeBrowserAtUCSC("hg18","vertebrate","human", chrTmp, confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"), 50000000 + confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), confp_get(Conf, "WEB_DATA_LINK"), prefix, chrTmp, chrTmp); if (countCol > 10) { puts( "<BR>" ); countCol=0; } countCol++; } if( countCol==0) puts( "No data available yet" ); ls_destroy(ls); puts ("<br><br>"); puts ("For a definition of SPER, DASPER and RESPER see <a href=http://rnaseq.gersteinlab.org/fusionseq/>FusionSeq</a>"); puts ("<br><br>"); puts ("<br><table border=0 width=100% align=center cellpadding=10>"); puts ("<tr align=left>"); puts ("<th>SPER</th>"); puts ("<th>DASPER</th>"); puts ("<th>RESPER</th>"); puts ("<th>Number of inter paired-end reads</th>"); puts ("<th>Type</th>"); puts ("<th>Genomic coordinates</th>"); puts ("<th>Gene symbol</th>"); puts ("<th>Description</th>"); puts ("<th>Genomic coordinates</th>"); puts ("<th>Gene symbol</th>"); puts ("<th>Description</th>"); puts ("<th></th>"); puts ("</tr>"); fflush(stdout); stringPrintf (buffer,"%s/%s.gfr", confp_get(Conf, "WEB_DATA_DIR"), prefix); gfr_init (string (buffer)); int countElements = 0; while (currGE = gfr_nextEntry ()) { if (currGE->numInter < minNum) { continue; } if (strEqual (typeSelected,"all") || strEqual (currGE->fusionType,typeSelected) || ( strEqual(currGE->fusionType,"cis") && strEqual( typeSelected,"same") ) || ( strEqual(currGE->fusionType,"read-through") && strEqual( typeSelected,"same") ) ) { if (pos = strchr (currGE->descriptionTranscript1,'|')) { *pos = '\0'; } if (pos = strchr (currGE->descriptionTranscript2,'|')) { *pos = '\0'; } puts ("<tr>"); printf ("<td align=left>%1.3f</td>\n",currGE->SPER); printf ("<td align=left>%1.3f</td>\n",currGE->DASPER); printf ("<td align=left>%1.3f</td>\n",currGE->RESPER); printf ("<td align=left>%d</td>\n",currGE->numInter); printf ("<td align=left>%s</td>\n",currGE->fusionType); printf ("<td align=left><a href=%s target=blank>%s:%d-%d</a></td>\n", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript1, currGE->startTranscript1 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript1 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), currGE->chromosomeTranscript1,currGE->startTranscript1,currGE->endTranscript1); printf ("<td align=left>%s</td>\n",processString (currGE->geneSymbolTranscript1)); printf ("<td align=left>%s</td>\n",currGE->descriptionTranscript1); printf ("<td align=left><a href=%s target=blank>%s:%d-%d</a></td>\n", htmlLinker_generateLinkToGenomeBrowserAtUCSC ("hg18","vertebrate","human", currGE->chromosomeTranscript2, currGE->startTranscript2 - atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION")), currGE->endTranscript2 + atoi(confp_get(Conf, "UCSC_GENOME_BROWSER_FLANKING_REGION"))), currGE->chromosomeTranscript2,currGE->startTranscript2,currGE->endTranscript2); printf ("<td align=left>%s</td>\n",processString (currGE->geneSymbolTranscript2)); printf ("<td align=left>%s</td>\n",currGE->descriptionTranscript2); printf ("<td align=left><a href=%s/showDetails_cgi?%s+%s>Details</a></td>\n", confp_get(Conf, "WEB_URL_CGI"), prefix,currGE->id); puts ("</tr>"); countElements++; } } gfr_deInit (); stringDestroy (buffer); puts ("</table><br><br>"); if( countElements == 0) puts("No fusion candidates can be found satisfying all specified criteria."); puts ("</body>"); puts ("</html>"); fflush (stdout); }
void Telos2101Driver::textData(int type,int line,const QString &str) { processString((BusDriver::Element)type,line,str); }
bool tokenise(std::string::const_iterator& s, std::string::const_iterator& e, Token& tok) { std::string::const_iterator t = s; // Hand constructed state machine recogniser enum { START, REJECT, IDENTIFIER, ZERO, DIGIT, HEXDIGIT_START, HEXDIGIT, OCTDIGIT, BINDIGIT_START, BINDIGIT, DECIMAL_START, DECIMAL, EXPONENT_SIGN, EXPONENT_START, EXPONENT, ACCEPT_IDENTIFIER, ACCEPT_INC, ACCEPT_NOINC } state = START; TokenType tokType = T_EOS; while (true) switch (state) { case START: if (t==e) {tok = Token(T_EOS, s, "<END>"); return true;} else if (std::isspace(*t)) {++t; ++s; continue;} else switch (*t) { case '(': tokType = T_LPAREN; state = ACCEPT_INC; continue; case ')': tokType = T_RPAREN; state = ACCEPT_INC; continue; case ',': tokType = T_COMMA; state = ACCEPT_INC; continue; case '+': tokType = T_PLUS; state = ACCEPT_INC; continue; case '-': tokType = T_MINUS; state = ACCEPT_INC; continue; case '*': tokType = T_MULT; state = ACCEPT_INC; continue; case '/': tokType = T_DIV; state = ACCEPT_INC; continue; case '=': tokType = T_EQUAL; state = ACCEPT_INC; continue; case '<': ++t; if (t==e || (*t!='>' && *t!='=')) {tokType = T_LESS; state = ACCEPT_NOINC; continue; } else {tokType = (*t=='>') ? T_NEQ : T_LSEQ; state = ACCEPT_INC; continue; } case '>': ++t; if (t==e || *t!='=') {tokType = T_GRT; state = ACCEPT_NOINC; continue;} else {tokType = T_GREQ; state = ACCEPT_INC; continue;} default: break; } if (isIdentifierStart(*t)) {++t; state = IDENTIFIER;} else if (*t=='\'') {return processString(s, e, '\'', T_STRING, tok);} else if (*t=='\"') {return processString(s, e, '\"', T_IDENTIFIER, tok);} else if (*t=='0') {++t; state = ZERO;} else if (std::isdigit(*t)) {++t; state = DIGIT;} else if (*t=='.') {++t; state = DECIMAL_START;} else state = REJECT; continue; case IDENTIFIER: if (t==e) {state = ACCEPT_IDENTIFIER;} else if (isIdentifierPart(*t)) {++t; state = IDENTIFIER;} else state = ACCEPT_IDENTIFIER; continue; case DECIMAL_START: if (t==e) {state = REJECT;} else if (std::isdigit(*t)) {++t; state = DECIMAL;} else state = REJECT; continue; case EXPONENT_SIGN: if (t==e) {state = REJECT;} else if (*t=='-' || *t=='+') {++t; state = EXPONENT_START;} else if (std::isdigit(*t)) {++t; state = EXPONENT;} else state = REJECT; continue; case EXPONENT_START: if (t==e) {state = REJECT;} else if (std::isdigit(*t)) {++t; state = EXPONENT;} else state = REJECT; continue; case ZERO: if (t==e) {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} else if (*t=='.') {++t; state = DECIMAL;} else if (*t=='x' || *t=='X') {++t; state = HEXDIGIT_START;} else if (*t=='b' || *t=='B') {++t; state = BINDIGIT_START;} else state = OCTDIGIT; continue; case HEXDIGIT_START: if (t==e) {state = REJECT;} else if (std::isxdigit(*t)) {++t; state = HEXDIGIT;} else state = REJECT; continue; case HEXDIGIT: if (t==e) {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} else if (*t=='l' || *t=='L') {tokType = T_NUMERIC_EXACT; state = ACCEPT_INC;} else if (std::isxdigit(*t) || *t=='_') {++t; state = HEXDIGIT;} else if (*t=='p' || *t=='P') {++t; state = EXPONENT_SIGN;} else {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} continue; case BINDIGIT_START: if (t==e) {state = REJECT;} else if (*t=='0' || *t=='1') {++t; state = BINDIGIT;} else state = REJECT; continue; case BINDIGIT: if (t==e) {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} else if (*t=='l' || *t=='L') {tokType = T_NUMERIC_EXACT; state = ACCEPT_INC;} else if (*t=='0' || *t=='1' || *t=='_') {++t; state = BINDIGIT;} else {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} continue; case OCTDIGIT: if (t==e) {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} else if (*t=='l' || *t=='L') {tokType = T_NUMERIC_EXACT; state = ACCEPT_INC;} else if ((std::isdigit(*t) && *t<'8') || *t=='_') {++t; state = OCTDIGIT;} else {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} continue; case DIGIT: if (t==e) {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} else if (*t=='l' || *t=='L') {tokType = T_NUMERIC_EXACT; state = ACCEPT_INC;} else if (*t=='f' || *t=='F' || *t=='d' || *t=='D') {tokType = T_NUMERIC_APPROX; state = ACCEPT_INC;} else if (std::isdigit(*t) || *t=='_') {++t; state = DIGIT;} else if (*t=='.') {++t; state = DECIMAL;} else if (*t=='e' || *t=='E') {++t; state = EXPONENT_SIGN;} else {tokType = T_NUMERIC_EXACT; state = ACCEPT_NOINC;} continue; case DECIMAL: if (t==e) {tokType = T_NUMERIC_APPROX; state = ACCEPT_NOINC;} else if (std::isdigit(*t) || *t=='_') {++t; state = DECIMAL;} else if (*t=='e' || *t=='E') {++t; state = EXPONENT_SIGN;} else if (*t=='f' || *t=='F' || *t=='d' || *t=='D') {tokType = T_NUMERIC_APPROX; state = ACCEPT_INC;} else {tokType = T_NUMERIC_APPROX; state = ACCEPT_NOINC;} continue; case EXPONENT: if (t==e) {tokType = T_NUMERIC_APPROX; state = ACCEPT_NOINC;} else if (std::isdigit(*t)) {++t; state = EXPONENT;} else if (*t=='f' || *t=='F' || *t=='d' || *t=='D') {tokType = T_NUMERIC_APPROX; state = ACCEPT_INC;} else {tokType = T_NUMERIC_APPROX; state = ACCEPT_NOINC;} continue; case ACCEPT_INC: ++t; case ACCEPT_NOINC: tok = Token(tokType, s, t); s = t; return true; case ACCEPT_IDENTIFIER: tok = Token(T_IDENTIFIER, s, t); s = t; tokeniseReservedWord(tok); return true; case REJECT: return false; }; }