ContextMap::ContextMap() { // map requires sorted input setSortedInput(true); setLeftJoin(true); setColumnOpsMethods(true); }
ContextMerge::ContextMerge() { setSortedInput(true); setUseMergedIntervals(true); setColumnOpsMethods(true); setExplicitBedOutput(true); //merge has no default columnOps the way map does, so we'll need to clear those. _keyListOps->setColumns(""); _keyListOps->setOperations(""); }
ContextGroupBy::ContextGroupBy() : _printFullCols(false), _ignoreCase(false) { setSortedInput(true); _noEnforceCoordSort = true; setColumnOpsMethods(true); setExplicitBedOutput(true); //For columnOps, groupBy has default operation sum but no default column, ///so we have to clear that. // _keyListOps->setColumns(""); }
bool ContextMerge::isValidState() { // Special: The merge program does not have default //column operations, so if none were entered, disable column ops. if (_keyListOps->getColumns().empty() && _keyListOps->getOperations().empty()) { setColumnOpsMethods(false); delete _keyListOps; _keyListOps = NULL; } //default to stdin if (getNumInputFiles() == 0) { addInputFile("-"); } if (!ContextBase::isValidState()) { return false; } // // Tests for stranded merge // if (_desiredStrand != FileRecordMergeMgr::ANY_STRAND) { // requested stranded merge // make sure file has strand. if (!getFile(0)->recordsHaveStrand()) { _errorMsg = "\n***** ERROR: stranded merge requested, but input file records do not have strand. *****"; return false; } //make sure file is not VCF. if (getFile(0)->getFileType() == FileRecordTypeChecker::VCF_FILE_TYPE) { _errorMsg = "\n***** ERROR: stranded merge not supported for VCF files. *****"; return false; } } return true; }