void init() { workunitWriteLimit = getOptInt(THOROPT_OUTPUTLIMIT, DEFAULT_WUIDWRITE_LIMIT); if (workunitWriteLimit>DALI_RESULT_OUTPUTMAX) throw MakeActivityException(this, 0, "Dali result outputs are restricted to a maximum of %d MB, the default limit is %d MB. A huge dali result usually indicates the ECL needs altering.", DALI_RESULT_OUTPUTMAX, DEFAULT_WUIDWRITE_LIMIT); assertex(workunitWriteLimit<=0x1000); // 32bit limit because MemoryBuffer/CMessageBuffers involved etc. workunitWriteLimit *= 0x100000; }
virtual void init() { CMasterActivity::init(); workunitWriteLimit = activityMaxSize ? activityMaxSize : getOptInt(THOROPT_OUTPUTLIMIT, DEFAULT_WUIDWRITE_LIMIT); if (workunitWriteLimit>DALI_RESULT_OUTPUTMAX) throw MakeActivityException(this, 0, "Configured max result size, %d MB, exceeds absolute max limit of %d MB. A huge Dali result usually indicates the ECL needs altering.", workunitWriteLimit, DALI_RESULT_OUTPUTMAX); assertex(workunitWriteLimit<=0x1000); // 32bit limit because MemoryBuffer/CMessageBuffers involved etc. workunitWriteLimit *= 0x100000; }
virtual void init() { CMasterActivity::init(); // In absense of OPT_OUTPUTLIMIT check pre 5.2 legacy name OPT_OUTPUTLIMIT_LEGACY workunitWriteLimit = activityMaxSize ? activityMaxSize : getOptInt(OPT_OUTPUTLIMIT, getOptInt(OPT_OUTPUTLIMIT_LEGACY, defaultDaliResultLimit)); if (workunitWriteLimit>defaultDaliResultOutputMax) throw MakeActivityException(this, 0, "Configured max result size, %d MB, exceeds absolute max limit of %d MB. A huge Dali result usually indicates the ECL needs altering.", workunitWriteLimit, defaultDaliResultOutputMax); assertex(workunitWriteLimit<=0x1000); // 32bit limit because MemoryBuffer/CMessageBuffers involved etc. workunitWriteLimit *= 0x100000; }
CWorkUnitWriteActivityMaster(CMasterGraphElement * info) : CWorkUnitWriteGlobalMasterBase(info) { helper = (IHThorWorkUnitWriteArg *)queryHelper(); appendOutput = 0 != (POFextend & helper->getFlags()); flushThreshold = getOptInt(THOROPT_OUTPUT_FLUSH_THRESHOLD, -1); resultName.set(helper->queryName()); resultSeq = helper->getSequence(); if (POFmaxsize & helper->getFlags()) activityMaxSize = helper->getMaxSize(); }
/** * Compute genotypes */ void DmetEngine::computeGenotypes() { ProbesetGenotypeEngine engine; vector<string> celFiles = getOptVector("cels"); engine.setOpt("cels",celFiles); vector<string> chipTypes = getOptVector("chip-type"); if(chipTypes.size() > 0) engine.setOpt("chip-type",chipTypes); engine.setOpt("cdf-file",getOpt("cdf-file")); engine.setOpt("spf-file",getOpt("spf-file")); string analysis; if(getOpt("gt-analysis") != "") { analysis = getOpt("gt-analysis"); } else { ///@todo If we have a reference, set analysis and qmethod-spec based on /// what was used to build the reference if(getOpt("reference-output") != "") { analysis = "quant-norm.sketch=50000,pm-only,brlmm-p-multi.CM=1.bins=100.mix=1.bic=2.lambda=1.0.HARD=3.SB=0.75.KX=0.3.KH=0.3.KXX=0.1.KAH=-0.1.KHB=-0.1.KYAH=-0.05.KYHB=-0.05.KYAB=-0.1.transform=MVA.AAM=2.8.BBM=-2.8.AAV=0.10.BBV=0.10.ABV=0.10.V=1.AAY=10.7.ABY=11.3.BBY=10.7.copyqc=0.00000.wobble=0.05.MS=0.1.copytype=-1.clustertype=2.CSepPen=0.5.ocean=0.0000001"; } else { analysis = "quant-norm.sketch=50000,pm-only,brlmm-p-multi.CM=2.bins=100.mix=1.bic=2.lambda=1.0.HARD=3.SB=0.75.KX=0.3.KH=0.3.KXX=0.1.KAH=-0.1.KHB=-0.1.KYAH=-0.05.KYHB=-0.05.KYAB=-0.1.transform=MVA.AAM=2.8.BBM=-2.8.AAV=0.10.BBV=0.10.ABV=0.10.V=1.AAY=10.7.ABY=11.3.BBY=10.7.copyqc=0.00000.wobble=0.05.MS=0.1.copytype=-1.clustertype=2.CSepPen=0.5.ocean=0.0000001"; } analysis += ".cc-alleles=6"; analysis += ".cc-type=UCHAR"; analysis += ".cc-version=1.0"; } if(getOpt("gt-qmethod-spec") != "") engine.setOpt("qmethod-spec",getOpt("gt-qmethod-spec")); else engine.setOpt("qmethod-spec","plier.optmethod=1.FixFeatureEffect=true"); analysis = setPra(analysis,getOptInt("pra-thresh")); engine.setOpt("analysis",analysis); engine.setOpt("out-dir",Fs::join(getOpt("out-dir"),"apg")); engine.setOpt("verbose",getOpt("verbose")); engine.setOpt("force",getOpt("force")); engine.setOpt("cc-chp-output","false"); engine.setOpt("probeset-ids-reported",getOpt("probeset-ids-reported")); engine.setOpt("probeset-ids",getOpt("probeset-ids")); engine.setOpt("temp-dir", getOpt("temp-dir")); engine.setOpt("use-disk", getOpt("use-disk")); engine.setOpt("disk-cache", getOpt("disk-cache")); engine.setOpt("set-analysis-name", getOpt("set-analysis-name")); engine.setOpt("call-coder-max-alleles", getOpt("call-coder-max-alleles")); engine.setOpt("call-coder-type", getOpt("call-coder-type")); engine.setOpt("call-coder-version", getOpt("call-coder-version")); engine.setOpt("command-line", getOpt("command-line")); engine.setOpt("exec-guid", getOpt("exec-guid")); engine.setOpt("program-name", getOpt("program-name")); engine.setOpt("program-company", getOpt("program-company")); engine.setOpt("program-version", getOpt("program-version")); engine.setOpt("program-cvs-id", getOpt("program-cvs-id")); engine.setOpt("version-to-report", getOpt("version-to-report")); engine.setOpt("prior-size", "1"); engine.setOpt("special-snps", getOpt("special-snps")); engine.setOpt("em-gender", "false"); if(getOpt("chrX-probes") != "") { engine.setOpt("chrX-probes", getOpt("chrX-probes")); engine.setOpt("chrY-probes", getOpt("chrY-probes")); engine.setOpt("set-gender-method", "cn-probe-chrXY-ratio"); engine.setOpt("no-gender-force", "false"); } else { engine.setOpt("set-gender-method", "none"); engine.setOpt("no-gender-force", "true"); } engine.setOpt("female-thresh", getOpt("female-thresh")); engine.setOpt("male-thresh", getOpt("male-thresh")); engine.setOpt("table-output", "false"); engine.setOpt("output-context", "true"); engine.setOpt("output-forced-calls", "true"); if (getOptBool("run-cn-engine") && getOpt("cn-region-gt-probeset-file") != "") { /// @todo perhaps we should use state to track the file name /// as it is we need to keep this in sync with the cn engine call engine.setOpt("genotype-markers-cn-file", Fs::join(getOpt("out-dir"), "adc", getOpt("set-analysis-name") + ".gt.markers.cn.call.a5")); } engine.setOpt("a5-global-file",getOpt("reference-output")); engine.setOpt("a5-global-file-no-replace","true"); engine.setOpt("a5-group","ProbesetGenotypeEngine"); engine.setOpt("a5-calls","true"); engine.setOpt("a5-summaries","true"); engine.setOpt("a5-feature-effects","true"); engine.setOpt("a5-sketch","true"); engine.setOpt("a5-write-models","true"); if(getOpt("reference-output") != "") { engine.setOpt("a5-sketch-use-global","true"); engine.setOpt("a5-feature-effects-use-global","true"); engine.setOpt("a5-write-models-use-global","true"); } engine.setOpt("a5-global-input-file",getOpt("reference-input")); engine.setOpt("a5-input-group","ProbesetGenotypeEngine"); if(getOpt("reference-input") != "") { engine.setOpt("a5-sketch-input-global","true"); engine.setOpt("a5-feature-effects-input-global","true"); engine.setOpt("a5-models-input-global","true"); } if(m_ArgvPosAPG > 0) engine.parseArgv(m_argv, m_ArgvPosAPG); engine.run(); }