Example usage for java.lang Double NaN

List of usage examples for java.lang Double NaN

Introduction

In this page you can find the example usage for java.lang Double NaN.

Prototype

double NaN

To view the source code for java.lang Double NaN.

Click Source Link

Document

A constant holding a Not-a-Number (NaN) value of type double .

Usage

From source file:com.itemanalysis.psychometrics.polycor.PolyserialPlugin.java

public double value() {
    double[] thresholds = null;
    thresholds = getThresholds();//from   w  w  w .ja  v a  2  s .co  m
    double thresholdProbSum = 0.0;
    for (int i = 0; i < thresholds.length; i++) {
        thresholdProbSum += norm.density(thresholds[i]);
    }
    if (thresholdProbSum == 0.0)
        return Double.NaN;
    double n = (double) freqY.getSumFreq();
    double psr = Math.sqrt((n - 1.0) / n) * sdY.getResult() * r.value() / thresholdProbSum;
    return psr;
}

From source file:dr.math.distributions.NegativeBinomialDistribution.java

public double quantile(double y) {
    // TB - I'm having trouble implementing this
    // LM - A first stab using simple minimisation to invert the function (under absolute loss)
    // Implementation based on the qnbinom.c function used in R
    final double stdev = Math.sqrt(mean + (mean * mean * alpha));
    final double r = -1 * (mean * mean) / (mean - stdev * stdev);
    final double p = mean / (stdev * stdev);
    final double prob = y;

    final double Q = 1.0 / p;
    final double P = (1.0 - p) * Q;
    final double gamma = (Q + P) / stdev;
    final double z = Math.sqrt(2.0) * ErrorFunction.inverseErf(2.0 * y - 1.0);
    final double crudeY = mean + stdev * (z + gamma * (z * z - 1) / 6);

    UnivariateFunction f = new UnivariateFunction() {
        double tent = Double.NaN;

        public double evaluate(final double argument) {
            try {
                tent = Beta.regularizedBeta(p, r, argument + 1);
            } catch (MathException e) {
                return Double.NaN;
            }//from   ww  w  . ja  v a  2s.  c o  m
            double score = Math.abs(tent - prob);
            return score;
        }

        public int getNumArguments() {
            return 1;
        }

        public double getLowerBound() { // 20% window should cut it. Probably too large even...
            return Math.min(crudeY - .2 * crudeY, 0);
        }

        public double getUpperBound() {
            return crudeY + .2 * crudeY;
        }
    };
    UnivariateMinimum minimum = new UnivariateMinimum();
    double q = minimum.findMinimum(f);
    return Math.ceil(q);
}

From source file:eqtlmappingpipeline.util.ModuleEqtlNeutrophilReplication.java

/**
 * @param args the command line arguments
 *///from  ww  w  .j a  v  a 2 s.co  m
public static void main(String[] args) throws IOException, LdCalculatorException {

    System.out.println(HEADER);
    System.out.println();
    System.out.flush(); //flush to make sure header is before errors
    try {
        Thread.sleep(25); //Allows flush to complete
    } catch (InterruptedException ex) {
    }

    CommandLineParser parser = new PosixParser();
    final CommandLine commandLine;
    try {
        commandLine = parser.parse(OPTIONS, args, true);
    } catch (ParseException ex) {
        System.err.println("Invalid command line arguments: " + ex.getMessage());
        System.err.println();
        new HelpFormatter().printHelp(" ", OPTIONS);
        System.exit(1);
        return;
    }

    final String[] genotypesBasePaths = commandLine.getOptionValues("g");
    final RandomAccessGenotypeDataReaderFormats genotypeDataType;
    final String replicationQtlFilePath = commandLine.getOptionValue("e");
    final String interactionQtlFilePath = commandLine.getOptionValue("i");
    final String outputFilePath = commandLine.getOptionValue("o");
    final double ldCutoff = Double.parseDouble(commandLine.getOptionValue("ld"));
    final int window = Integer.parseInt(commandLine.getOptionValue("w"));

    System.out.println("Genotype: " + Arrays.toString(genotypesBasePaths));
    System.out.println("Interaction file: " + interactionQtlFilePath);
    System.out.println("Replication file: " + replicationQtlFilePath);
    System.out.println("Output: " + outputFilePath);
    System.out.println("LD: " + ldCutoff);
    System.out.println("Window: " + window);

    try {
        if (commandLine.hasOption("G")) {
            genotypeDataType = RandomAccessGenotypeDataReaderFormats
                    .valueOf(commandLine.getOptionValue("G").toUpperCase());
        } else {
            if (genotypesBasePaths[0].endsWith(".vcf")) {
                System.err.println(
                        "Only vcf.gz is supported. Please see manual on how to do create a vcf.gz file.");
                System.exit(1);
                return;
            }
            try {
                genotypeDataType = RandomAccessGenotypeDataReaderFormats
                        .matchFormatToPath(genotypesBasePaths[0]);
            } catch (GenotypeDataException e) {
                System.err
                        .println("Unable to determine input 1 type based on specified path. Please specify -G");
                System.exit(1);
                return;
            }
        }
    } catch (IllegalArgumentException e) {
        System.err.println("Error parsing --genotypesFormat \"" + commandLine.getOptionValue("G")
                + "\" is not a valid input data format");
        System.exit(1);
        return;
    }

    final RandomAccessGenotypeData genotypeData;

    try {
        genotypeData = genotypeDataType.createFilteredGenotypeData(genotypesBasePaths, 100, null, null, null,
                0.8);
    } catch (TabixFileNotFoundException e) {
        LOGGER.fatal("Tabix file not found for input data at: " + e.getPath() + "\n"
                + "Please see README on how to create a tabix file");
        System.exit(1);
        return;
    } catch (IOException e) {
        LOGGER.fatal("Error reading input data: " + e.getMessage(), e);
        System.exit(1);
        return;
    } catch (IncompatibleMultiPartGenotypeDataException e) {
        LOGGER.fatal("Error combining the impute genotype data files: " + e.getMessage(), e);
        System.exit(1);
        return;
    } catch (GenotypeDataException e) {
        LOGGER.fatal("Error reading input data: " + e.getMessage(), e);
        System.exit(1);
        return;
    }

    ChrPosTreeMap<ArrayList<ReplicationQtl>> replicationQtls = new ChrPosTreeMap<>();

    CSVReader replicationQtlReader = new CSVReader(new FileReader(replicationQtlFilePath), '\t');
    replicationQtlReader.readNext();//skip header
    String[] replicationLine;
    while ((replicationLine = replicationQtlReader.readNext()) != null) {

        try {

            GeneticVariant variant = genotypeData.getSnpVariantByPos(replicationLine[REPLICATION_SNP_CHR_COL],
                    Integer.parseInt(replicationLine[REPLICATION_SNP_POS_COL]));
            if (variant == null) {
                continue;
            }

            ReplicationQtl replicationQtl = new ReplicationQtl(replicationLine[REPLICATION_SNP_CHR_COL],
                    Integer.parseInt(replicationLine[REPLICATION_SNP_POS_COL]),
                    replicationLine[REPLICATION_GENE_COL],
                    Double.parseDouble(replicationLine[REPLICATION_BETA_COL]),
                    variant.getAlternativeAlleles().get(0).getAlleleAsString());
            ArrayList<ReplicationQtl> posReplicationQtls = replicationQtls.get(replicationQtl.getChr(),
                    replicationQtl.getPos());
            if (posReplicationQtls == null) {
                posReplicationQtls = new ArrayList<>();
                replicationQtls.put(replicationQtl.getChr(), replicationQtl.getPos(), posReplicationQtls);
            }
            posReplicationQtls.add(replicationQtl);

        } catch (Exception e) {
            System.out.println(Arrays.toString(replicationLine));
            throw e;
        }
    }

    int interactionSnpNotInGenotypeData = 0;
    int noReplicationQtlsInWindow = 0;
    int noReplicationQtlsInLd = 0;
    int multipleReplicationQtlsInLd = 0;
    int replicationTopSnpNotInGenotypeData = 0;

    final CSVWriter outputWriter = new CSVWriter(new FileWriter(new File(outputFilePath)), '\t', '\0');
    final String[] outputLine = new String[14];
    int c = 0;
    outputLine[c++] = "Chr";
    outputLine[c++] = "Pos";
    outputLine[c++] = "SNP";
    outputLine[c++] = "Gene";
    outputLine[c++] = "Module";
    outputLine[c++] = "DiscoveryZ";
    outputLine[c++] = "ReplicationZ";
    outputLine[c++] = "DiscoveryZCorrected";
    outputLine[c++] = "ReplicationZCorrected";
    outputLine[c++] = "DiscoveryAlleleAssessed";
    outputLine[c++] = "ReplicationAlleleAssessed";
    outputLine[c++] = "bestLd";
    outputLine[c++] = "bestLd_dist";
    outputLine[c++] = "nextLd";
    outputWriter.writeNext(outputLine);

    HashSet<String> notFound = new HashSet<>();

    CSVReader interactionQtlReader = new CSVReader(new FileReader(interactionQtlFilePath), '\t');
    interactionQtlReader.readNext();//skip header
    String[] interactionQtlLine;
    while ((interactionQtlLine = interactionQtlReader.readNext()) != null) {

        String snp = interactionQtlLine[1];
        String chr = interactionQtlLine[2];
        int pos = Integer.parseInt(interactionQtlLine[3]);
        String gene = interactionQtlLine[4];
        String alleleAssessed = interactionQtlLine[9];
        String module = interactionQtlLine[12];
        double discoveryZ = Double.parseDouble(interactionQtlLine[10]);

        GeneticVariant interactionQtlVariant = genotypeData.getSnpVariantByPos(chr, pos);

        if (interactionQtlVariant == null) {
            System.err.println("Interaction QTL SNP not found in genotype data: " + chr + ":" + pos);
            ++interactionSnpNotInGenotypeData;
            continue;
        }

        ReplicationQtl bestMatch = null;
        double bestMatchR2 = Double.NaN;
        Ld bestMatchLd = null;
        double nextBestR2 = Double.NaN;

        ArrayList<ReplicationQtl> sameSnpQtls = replicationQtls.get(chr, pos);

        if (sameSnpQtls != null) {
            for (ReplicationQtl sameSnpQtl : sameSnpQtls) {
                if (sameSnpQtl.getGene().equals(gene)) {
                    bestMatch = sameSnpQtl;
                    bestMatchR2 = 1;
                }
            }
        }

        NavigableMap<Integer, ArrayList<ReplicationQtl>> potentionalReplicationQtls = replicationQtls
                .getChrRange(chr, pos - window, true, pos + window, true);

        for (ArrayList<ReplicationQtl> potentialReplicationQtls : potentionalReplicationQtls.values()) {

            for (ReplicationQtl potentialReplicationQtl : potentialReplicationQtls) {

                if (!potentialReplicationQtl.getGene().equals(gene)) {
                    continue;
                }

                GeneticVariant potentialReplicationQtlVariant = genotypeData
                        .getSnpVariantByPos(potentialReplicationQtl.getChr(), potentialReplicationQtl.getPos());

                if (potentialReplicationQtlVariant == null) {
                    notFound.add(potentialReplicationQtl.getChr() + ":" + potentialReplicationQtl.getPos());
                    ++replicationTopSnpNotInGenotypeData;
                    continue;
                }

                Ld ld = interactionQtlVariant.calculateLd(potentialReplicationQtlVariant);
                double r2 = ld.getR2();

                if (r2 > 1) {
                    r2 = 1;
                }

                if (bestMatch == null) {
                    bestMatch = potentialReplicationQtl;
                    bestMatchR2 = r2;
                    bestMatchLd = ld;
                } else if (r2 > bestMatchR2) {
                    bestMatch = potentialReplicationQtl;
                    nextBestR2 = bestMatchR2;
                    bestMatchR2 = r2;
                    bestMatchLd = ld;
                }

            }
        }

        double replicationZ = Double.NaN;
        double replicationZCorrected = Double.NaN;
        double discoveryZCorrected = Double.NaN;

        String replicationAlleleAssessed = null;

        if (bestMatch != null) {
            replicationZ = bestMatch.getBeta();
            replicationAlleleAssessed = bestMatch.getAssessedAllele();

            if (pos != bestMatch.getPos()) {

                String commonHap = null;
                double commonHapFreq = -1;
                for (Map.Entry<String, Double> hapFreq : bestMatchLd.getHaplotypesFreq().entrySet()) {

                    double f = hapFreq.getValue();

                    if (f > commonHapFreq) {
                        commonHapFreq = f;
                        commonHap = hapFreq.getKey();
                    }

                }

                String[] commonHapAlleles = StringUtils.split(commonHap, '/');

                discoveryZCorrected = commonHapAlleles[0].equals(alleleAssessed) ? discoveryZ : discoveryZ * -1;
                replicationZCorrected = commonHapAlleles[1].equals(replicationAlleleAssessed) ? replicationZ
                        : replicationZ * -1;

            } else {

                discoveryZCorrected = discoveryZ;
                replicationZCorrected = alleleAssessed.equals(replicationAlleleAssessed) ? replicationZ
                        : replicationZ * -1;

            }

        }

        c = 0;
        outputLine[c++] = chr;
        outputLine[c++] = String.valueOf(pos);
        outputLine[c++] = snp;
        outputLine[c++] = gene;
        outputLine[c++] = module;
        outputLine[c++] = String.valueOf(discoveryZ);
        outputLine[c++] = bestMatch == null ? "NA" : String.valueOf(replicationZ);
        outputLine[c++] = bestMatch == null ? "NA" : String.valueOf(discoveryZCorrected);
        outputLine[c++] = bestMatch == null ? "NA" : String.valueOf(replicationZCorrected);
        outputLine[c++] = alleleAssessed;
        outputLine[c++] = bestMatch == null ? "NA" : String.valueOf(bestMatch.getAssessedAllele());
        outputLine[c++] = String.valueOf(bestMatchR2);
        outputLine[c++] = bestMatch == null ? "NA" : String.valueOf(Math.abs(pos - bestMatch.getPos()));
        outputLine[c++] = String.valueOf(nextBestR2);
        outputWriter.writeNext(outputLine);

    }

    outputWriter.close();

    for (String e : notFound) {
        System.err.println("Not found: " + e);
    }

    System.out.println("interactionSnpNotInGenotypeData: " + interactionSnpNotInGenotypeData);
    System.out.println("noReplicationQtlsInWindow: " + noReplicationQtlsInWindow);
    System.out.println("noReplicationQtlsInLd: " + noReplicationQtlsInLd);
    System.out.println("multipleReplicationQtlsInLd: " + multipleReplicationQtlsInLd);
    System.out.println("replicationTopSnpNotInGenotypeData: " + replicationTopSnpNotInGenotypeData);

}

From source file:at.jku.traces.json.UserTrace.java

@Override
public double getStartTime() {
    sort();/*ww w .jav a2s.c o m*/
    if (trace.length > 0) {
        return trace[0].getTime();
    }
    return Double.NaN;
}

From source file:org.jfree.data.xy.AbstractXYDataset.java

/**
 * Returns the x-value (as a double primitive) for an item within a series.
 *
 * @param series  the series index (zero-based).
 * @param item  the item index (zero-based).
 *
 * @return The value./*from w  w w  . ja va 2s.  co m*/
 */
public double getXValue(int series, int item) {
    double result = Double.NaN;
    Number x = getX(series, item);
    if (x != null) {
        result = x.doubleValue();
    }
    return result;
}

From source file:com.fusesource.forge.jmstest.persistence.rrd.Rrd4jSamplePersistenceAdapter.java

private void createRrdDatabase() {
    File dbFile = new File(getFileName());
    log().debug("Creating RRD database: " + dbFile.getAbsolutePath());

    RrdDef rrdDef = new RrdDef(dbFile.getAbsolutePath(), getStartTime(), 1);

    for (ProbeDescriptor pd : getDataSources().keySet()) {
        log().debug("Adding Data Source to RRD: " + pd + "," + getDataSources().get(pd));

        DsType type = null;/*  w  ww.j  a va  2 s. c o m*/

        switch (pd.getValueType()) {
        case COUNTER:
            type = DsType.COUNTER;
            break;
        default:
            type = DsType.GAUGE;
            break;
        }
        rrdDef.addDatasource(getDataSources().get(pd), type, 1, Double.NaN, Double.NaN);
    }

    rrdDef.setStartTime(getStartTime());
    rrdDef.addArchive(ConsolFun.AVERAGE, 0.5, 1, getArchiveLength());

    try {
        database = new RrdDb(rrdDef);
        database.close();
    } catch (IOException e) {
        log().error("Error creating RRD4J storage: ", e);
    }
}

From source file:com.mapr.synth.samplers.GammaSampler.java

@SuppressWarnings("UnusedDeclaration")
public void setDof(double dof) {
    alpha = Double.NaN;
    beta = Double.NaN;/*  ww w . j a v a2 s.c o m*/

    this.dof = dof;
    init();
}

From source file:com.cti.vpx.controls.graph.utilities.ui.graphs.waterfallGraph.ArithmeticMean.java

/**
 * Create a FirstMoment instance
 */
public ArithmeticMean() {
    n = 0;
    m1 = Double.NaN;
    dev = Double.NaN;
    nDev = Double.NaN;
}

From source file:net.recommenders.rival.evaluation.statistics.EffectSize.java

/**
 * Computes the effect size according to different methods: d and dLS are
 * adequate for not paired samples, whereas pairedT is better for paired
 * samples./*from w  ww.java2  s  .  co m*/
 *
 * @param method one of "d", "dLS", "pairedT"
 * @return the effect size
 */
public double getEffectSize(final String method) {
    if ("d".equals(method)) {
        return getCohenD(baselineMetricPerDimension, testMetricPerDimension, false);
    } else if ("dLS".equals(method)) {
        return getCohenD(baselineMetricPerDimension, testMetricPerDimension, true);
    } else if ("pairedT".equals(method)) {
        return getEffectSizePairedT(baselineMetricPerDimension, testMetricPerDimension);
    }
    return Double.NaN;
}

From source file:io.sidecar.notification.NotificationRule.java

public NotificationRule(UUID ruleId, String name, String description, UUID appId, UUID userId, String stream,
        String key, double min, double max) {

    this.ruleId = checkNotNull(ruleId);

    checkArgument(StringUtils.isNotBlank(name) && name.length() <= 100);
    this.name = name.trim();

    checkArgument(StringUtils.isBlank(description) || description.length() <= 140);
    this.description = (description == null) ? "" : description.trim();

    this.appId = checkNotNull(appId);

    this.userId = checkNotNull(userId);

    Preconditions.checkArgument(ModelUtils.isValidStreamId(stream));
    this.stream = checkNotNull(stream);

    checkArgument(ModelUtils.isValidReadingKey(key));
    this.key = key;

    this.min = (min == Double.NEGATIVE_INFINITY || min == Double.NaN) ? Double.MIN_VALUE : min;
    this.max = (max == Double.POSITIVE_INFINITY || max == Double.NaN) ? Double.MAX_VALUE : max;
}