Package au.org.intersect.samifier

Source Code of au.org.intersect.samifier.VirtualProteinMerger

package au.org.intersect.samifier;

import java.io.File;
import java.io.FileWriter;
import java.io.Writer;
import java.math.BigDecimal;

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.GnuParser;
import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.OptionBuilder;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;

import au.org.intersect.samifier.runner.VirtualProteinMergerRunner;

public class VirtualProteinMerger implements Version {
    public static void main(String[] args) {
        if (args.length == 1 && args[0].equalsIgnoreCase("-v")) {
            System.out.println("Version = " + VERSION);
            System.exit(0);
        }
        OptionBuilder.hasArgs();
        OptionBuilder
                .withDescription("Mascot search results file in txt format");
        OptionBuilder.withArgName("searchResultsFile");
        OptionBuilder.isRequired();
        Option resultsFile = OptionBuilder.create("r");

        OptionBuilder.hasArg();
        OptionBuilder.withArgName("Translation Table File");
        OptionBuilder
                .withDescription("File containing a mapping of codons to amino acids, in the format used by NCBI.");
        Option translationTableOpt = OptionBuilder.create("t");

        OptionBuilder.hasArg();
        OptionBuilder
                .withDescription("Directory containing the chromosome files in FASTA format for the given genome");
        OptionBuilder.withArgName("chromosomeDir");
        OptionBuilder.isRequired();
        Option chrDirOpt = OptionBuilder.create("c");

        OptionBuilder.hasArg();
        OptionBuilder.withDescription("Genome file in gff format");
        OptionBuilder.withArgName("genomeFile");
        OptionBuilder.isRequired();
        Option genomeFileOpt = OptionBuilder.create("g");

        OptionBuilder.hasArg();
        OptionBuilder.withDescription("Filename to write the gff file to");
        OptionBuilder.withArgName("outputFile");
        OptionBuilder.isRequired();
        Option outputFile = OptionBuilder.create("o");
       
        OptionBuilder.withType(Number.class);
        OptionBuilder.hasArg();
        OptionBuilder.isRequired(false);
        OptionBuilder.withArgName("Confidence Score thresold");
        OptionBuilder.withDescription("Minimum confidence score for peptides to be included");
        Option score = OptionBuilder.create("s");

        Options options = new Options();
        options.addOption(resultsFile);
        options.addOption(translationTableOpt);
        options.addOption(chrDirOpt);
        options.addOption(genomeFileOpt);
        options.addOption(outputFile);
        options.addOption(score);

        CommandLineParser parser = new GnuParser();
        try {
            CommandLine line = parser.parse(options, args);
            String[] searchResultsPaths = line.getOptionValues("r");
            File translationTableFile = new File(line.getOptionValue("t"));
            File genomeFile = new File(line.getOptionValue("g"));
            File chromosomeDir = new File(line.getOptionValue("c"));
            File outfile = new File(line.getOptionValue("o"));
            Writer outputWriter = new FileWriter(outfile);
            String confidenceScoreOption = line.getOptionValue("s");
            BigDecimal confidenceScore = null;
            if (confidenceScoreOption != null) {
                confidenceScore = new BigDecimal(confidenceScoreOption);
            }
           
            VirtualProteinMergerRunner virtualProteinMergerRunner = new VirtualProteinMergerRunner(
                    searchResultsPaths, translationTableFile, genomeFile,
                    chromosomeDir, outputWriter, confidenceScore);
            virtualProteinMergerRunner.run();
        } catch (ParseException pe) {
            System.err.println("Version = " + VERSION);
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("virtual_protein_merger", options, true);
            System.exit(1);
        } catch (Exception e) {
            System.err.println(e);
            System.err.println("Version = " + VERSION);
            HelpFormatter formatter = new HelpFormatter();
            formatter.printHelp("virtual_protein_merger", options, true);
            e.printStackTrace();
            System.exit(1);
        }
    }
}
TOP

Related Classes of au.org.intersect.samifier.VirtualProteinMerger

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.