Esempio n. 1
0
//  ----------------------------------------------------------------------------
bool CUCSCRegionReader::xParseFeature(
    const vector<string>& fields,
    CRef<CSeq_annot>& annot,
    ILineErrorListener* pEC)
{
    //  assign
    string str_line_number = NStr::IntToString(m_uLineNumber);
    CSeq_annot::C_Data::TFtable& ftable = annot->SetData().SetFtable();
    CRef<CSeq_feat> feature;
    feature.Reset( new CSeq_feat );
    try {
        x_SetFeatureLocation(feature, fields);
        feature->SetData().SetRegion() = "region: "+ str_line_number;
        if(!feature->CanGetTitle())
            feature->SetTitle() = "Line:" + str_line_number;
    }
    catch(CObjReaderLineException& err) {
        ProcessError(err, pEC);
        return false;
    }
    ftable.push_back( feature );
    return true;
}