CalculationThread( int i, LinkedBlockingQueue<WorkPackage> packageQueue, LinkedBlockingQueue<WorkPackage> resultQueue, TriTyperExpressionData[] expressiondata, DoubleMatrixDataset<String, String>[] covariates, IntMatrix2D probeTranslationTable, int[][] expressionToGenotypeIds, Settings settings, EQTLPlotter plotter, boolean binaryoutput, boolean useAbsoluteZScores, boolean testSNPsPresentInBothDatasets) { // m_binaryoutput = binaryoutput; m_name = i; m_workpackage_queue = packageQueue; m_result_queue = resultQueue; m_probeTranslation = probeTranslationTable; m_expressiondata = expressiondata; boolean m_cis = settings.cisAnalysis; boolean m_trans = settings.transAnalysis; metaAnalyseInteractionTerms = settings.metaAnalyseInteractionTerms; metaAnalyseModelCorrelationYHat = settings.metaAnalyseModelCorrelationYHat; m_useAbsoluteZScores = useAbsoluteZScores; m_name = i; m_numProbes = m_probeTranslation.columns(); m_numDatasets = m_probeTranslation.rows(); m_expressionToGenotypeIds = expressionToGenotypeIds; // probeVariance = new double[m_numDatasets][0]; // probeMean = new double[m_numDatasets][0]; // probeName = new String[m_numDatasets][0]; // for (int d = 0; d < m_numDatasets; d++) { // probeVariance[d] = expressiondata[d].getProbeVariance(); // probeMean[d] = expressiondata[d].getProbeMean(); // probeName[d] = expressiondata[d].getProbes(); // } m_covariates = covariates; this.testSNPsPresentInBothDatasets = testSNPsPresentInBothDatasets; cisOnly = false; // cisTrans = false; transOnly = false; determinebeta = settings.provideBetasAndStandardErrors; determinefoldchange = settings.provideFoldChangeData; if (m_cis && !m_trans) { cisOnly = true; } else if (!m_cis && m_trans) { transOnly = true; } // else if (m_cis && m_trans) { // cisTrans = true; // } m_eQTLPlotter = plotter; m_pvaluePlotThreshold = settings.plotOutputPValueCutOff; // if (covariates != null) { // try { // rConnection = new RConnection(); // REXP x = rConnection.eval("R.version.string"); // System.out.println("Thread made R Connection: " + x.asString()); //// rConnection.voidEval("install.packages('sandwich')"); // rConnection.voidEval("library(sandwich)"); // } catch (RserveException ex) { // Logger.getLogger(CalculationThread.class.getName()).log(Level.SEVERE, null, // ex); // rConnection = null; // } catch (REXPMismatchException ex) { // Logger.getLogger(CalculationThread.class.getName()).log(Level.SEVERE, null, // ex); // rConnection = null; // } // } }