コード例 #1
0
 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;
 }
コード例 #2
0
 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;
 }
コード例 #3
0
 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;
 }
コード例 #4
0
 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();
 }
コード例 #5
0
/**
 * 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();
}