Exemplo n.º 1
0
bool GffRecord::initFromFile(SingleLineDelimTextFileReader *fileReader)
{
	setFileIdx(fileReader->getFileIdx());
	fileReader->getField(0, _chrName);
	fileReader->getField(3, _startPosStr);
	_startPos = str2chrPos(_startPosStr);
	_startPos--; // VCF is one-based. Here we intentionally don't decrement the string version,
	//because we'll still want to output the one-based number in the print methods, even though
	//internally we decrement the integer to comply with the 0-based format common to other records.
	fileReader->getField(4, _endPosStr);
	//endPos is just the startPos plus the length of the variant
	_endPos = str2chrPos(_endPosStr);

	fileReader->getField(2, _name);
	fileReader->getField(1, _source);
	fileReader->getField(5, _score);

	//GFF allows a '.' for the strandChar, signifying it is not known.
	fileReader->getField(6, _strand);
	adjustStrandVal();

	fileReader->getField(7, _frame);
	_numFields = fileReader->getNumFields();
	if (_numFields == 9) {
		fileReader->getField(8, _group);
	}


	return true;
}
Exemplo n.º 2
0
bool BedPlusInterval::initFromFile(SingleLineDelimTextFileReader *fileReader)
{
	bool baseRetFlag = Bed3Interval::initFromFile(fileReader);

	if (_numFixedFields != defaultNumFixedFields) {
		fileReader->getField(3, _name);
		fileReader->getField(4, _score);
		fileReader->getField(5, _strand);
		adjustStrandVal();
	}
	_plusFields.initFromFile(fileReader);
	return baseRetFlag;

}