本文整理汇总了C++中ExternalTool::getName方法的典型用法代码示例。如果您正苦于以下问题:C++ ExternalTool::getName方法的具体用法?C++ ExternalTool::getName怎么用?C++ ExternalTool::getName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExternalTool
的用法示例。
在下文中一共展示了ExternalTool::getName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: resultFile
QList<Task *> SpideyAlignmentTask::onSubTaskFinished(Task *subTask) {
QList<Task *> res;
propagateSubtaskError();
if (hasError() || isCanceled()) {
return res;
}
if (subTask == prepareDataForSpideyTask) {
SAFE_POINT(!prepareDataForSpideyTask->getResultPath().isEmpty(), "Invalid result path!",
res);
tmpOutputUrl = prepareDataForSpideyTask->getResultPath();
const QStringList &arguments = prepareDataForSpideyTask->getArgumentsList();
spideyTask = new ExternalToolRunTask(ET_SPIDEY, arguments, new SpideyLogParser());
spideyTask->setSubtaskProgressWeight(95);
res.append(spideyTask);
} else if (subTask == spideyTask) {
if (!QFile::exists(tmpOutputUrl)) {
if (AppContext::getExternalToolRegistry()->getByName(ET_SPIDEY)->isValid()) {
stateInfo.setError(tr("Output file not found"));
} else {
ExternalTool *spideyTool = AppContext::getExternalToolRegistry()->getByName(ET_SPIDEY);
SAFE_POINT(NULL != spideyTool, "Invalid Spidey tool!", res);
stateInfo.setError(
tr("Output file not found. May be %1 tool path '%2' not valid?")
.arg(spideyTool->getName()).arg(spideyTool->getPath()));
}
return res;
}
// parse result
QFile resultFile(tmpOutputUrl);
if (!resultFile.open(QFile::ReadOnly)) {
setError(tr("Failed to open result file %1").arg(tmpOutputUrl));
return res;
}
QTextStream inStream(&resultFile);
bool strandDirect = true;
U2Location location;
location->op = U2LocationOperator_Join;
while (!inStream.atEnd()) {
QByteArray buf = inStream.readLine().toLatin1();
if (buf.startsWith("Strand")) {
strandDirect = buf.contains("plus");
}
if (buf.startsWith("Exon")) {
// TODO: better to use reg exp here
int startPos = buf.indexOf(":") + 1;
int endPos = buf.indexOf("(gen)");
if (startPos == -1 || endPos == -1) {
continue;
}
QByteArray loc = buf.mid(startPos, endPos - startPos).trimmed();
QList<QByteArray> loci = loc.split('-');
if (loci.size() < 2) {
continue;
}
int start = QString(loci.at(0)).toInt();
int finish = QString(loci.at(1)).toInt();
if (start == finish) {
continue;
}
location->regions.append(U2Region(start - 1, finish - start + 1));
}
}
if (!location->isEmpty()) {
SharedAnnotationData data(new AnnotationData);
data->location = location;
data->setStrand(U2Strand(strandDirect ? U2Strand::Direct : U2Strand::Complementary));
data->type = U2FeatureTypes::Exon;
data->name = "exon";
U1AnnotationUtils::addDescriptionQualifier(data, annDescription);
resultAnnotations.append(data);
}
}
return res;
}