All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.monarchinitiative.phenol.cli.cmd.PairwisePhenoCommand Maven / Gradle / Ivy

package org.monarchinitiative.phenol.cli.cmd;

import org.monarchinitiative.phenol.cli.demo.PairwisePhenotypicSimilarityCalculator;
import picocli.CommandLine;

import java.io.IOException;
import java.nio.file.Path;
import java.util.concurrent.Callable;

@CommandLine.Command(name = "pairwise",
  mixinStandardHelpOptions = true,
  description = "Pairwise phenotype enrichment")
public class PairwisePhenoCommand implements Callable {


  @CommandLine.Option(names = {"-h"}, description = "path to hp.obo file", required = true)
  public Path hpoPath;
  @CommandLine.Option(names = "-a", description = "path to phenotype.hpoa file", required = true)
  public Path phenotypeDotHpoaPath;
  @CommandLine.Option(names = "-o", description = "output file name")
  public Path outname = Path.of("pairwise_disease_similarity.tsv");
  @CommandLine.Option(names = "--geneinfo", description = "path to downloaded file ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/GENE_INFO/Mammalia/Homo_sapiens.gene_info.gz")
  public Path geneInfoPath;
  @CommandLine.Option(names = "--mimgene2medgen", description = "path to downloaded file from ftp://ftp.ncbi.nlm.nih.gov/gene/DATA/mim2gene_medgen")
  public Path mim2genMedgenPath;


  @Override
  public Integer call() throws IOException {
    PairwisePhenotypicSimilarityCalculator pairwise = new PairwisePhenotypicSimilarityCalculator(hpoPath,
      phenotypeDotHpoaPath,
      outname,
      geneInfoPath,
      mim2genMedgenPath);
    pairwise.run();
    return 0;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy