예제 #1
0
bool isHeaderLine(const QuickString &line) {
	if (line[0] == '>') {
		return true;
	}
	if (line[0] == '!') {
		return true;
	}
	if (line[0] == '#') {
		return true;
	}
	//GFF file headers can also start with the words "browser" or "track", followed by a whitespace character.
	if (memcmp(line.c_str(), "browser", 7) == 0 && isspace(line[7])) {
		return true;
	}
	if (memcmp(line.c_str(), "track", 5) == 0 && isspace(line[5])) {
		return true;
	}
	if (memcmp(line.c_str(), "visibility", 10) == 0) {
		return true;
	}
	return false;
}
예제 #2
0
bool BufferedStreamMgr::getTypeData()
{
    QuickString currScanBuffer;
    _inputStreamMgr->getSavedData(currScanBuffer);
    do {
        if (!_typeChecker.scanBuffer(currScanBuffer.c_str(), currScanBuffer.size()) && !_typeChecker.needsMoreData()) {
            return false;
        } else if (_typeChecker.needsMoreData()) {
            _inputStreamMgr->populateScanBuffer();
            currScanBuffer.clear();
            _inputStreamMgr->getSavedData(currScanBuffer);
        }
    } while (_typeChecker.needsMoreData());
    _inputStreamMgr->reset();
    return true;
}
예제 #3
0
int str2chrPos(const QuickString &str) {
	return str2chrPos(str.c_str(), str.size());
}
예제 #4
0
void ContextBase::openGenomeFile(const QuickString &genomeFilename)
{
	_genomeFile = new NewGenomeFile(genomeFilename.c_str());
}