def __init__(self, extra):
        """Initializes the model"""
        CostModel.__init__(self, extra)

        self.VERSION = "1.0.1"
        self.mincost = 0

        parser = optparse.OptionParser(prog="DupLossModel")
        parser.add_option(
            "-D",
            "--dupcost",
            dest="dupcost",
            metavar="<dup cost>",
            default=1.0,
            type="float",
            help="duplication cost (default: 1.0)",
        )
        parser.add_option(
            "-L",
            "--losscost",
            dest="losscost",
            metavar="<loss cost>",
            default=1.0,
            type="float",
            help="loss cost (default: 1.0)",
        )
        self.parser = parser

        CostModel._parse_args(self, extra)
Exemple #2
0
    def __init__(self, extra):
        """Initializes the model"""
        CostModel.__init__(self, extra)

        self.VERSION = "0.1.0"
        self.mincost = 0

        parser = optparse.OptionParser(prog="DTLModel")
        parser.add_option("-D", "--dupcost", dest="dupcost",
                          metavar="<dup cost>",
                          default=2, type="int",
                          help="duplication cost (default: 2)")
        parser.add_option("-T", "--transfercost", dest="transfercost",
                          metavar="<transfer cost>",
                          default=3, type="int",
                          help="transfer cost (default: 3)")
        parser.add_option("-L", "--losscost", dest="losscost",
                          metavar="<loss cost>",
                          default=1, type="int",
                          help="loss cost (default: 1)")
        self.parser = parser

        CostModel._parse_args(self, extra)

        # make temporary file
        fd, self.treefile = tempfile.mkstemp()
        os.close(fd)
Exemple #3
0
    def __init__(self, extra):
        """Initializes the model"""
        CostModel.__init__(self, extra)

        self.VERSION = "0.1.0"
        self.mincost = 0

        CostModel._parse_args(self, extra)

        # make temporary file
        fd, self.treefile = tempfile.mkstemp()
        os.close(fd)
Exemple #4
0
    def __init__(self, extra):
        """Initializes the model"""
        CostModel.__init__(self, extra)

        self.VERSION = "0.1.2"
        self.mincost = 0

        parser = optparse.OptionParser(prog="DTLModel")
        parser.add_option("--cmd", dest="cmd",
                          metavar="<ranger-dtl-U command>",
                          default="ranger-dtl-U",
                          help="ranger-dtl-U command (default: \"ranger-dtl-U\")")
        parser.add_option("-D", "--dupcost", dest="dupcost",
                          metavar="<duplication cost>",
                          default=2, type="int",
                          help="duplication cost, integer only (default: 2)")
        parser.add_option("-T", "--transcost", "--transfercost", dest="transcost",
                          metavar="<transfer cost>",
                          default=3, type="int",
                          help="transfer cost, integer only (default: 3)")
        parser.add_option("-L", "--losscost", dest="losscost",
                          metavar="<loss cost>",
                          default=1, type="int",
                          help="loss cost, integer only (default: 1)")
        parser.add_option("--seed", dest="seed",
                          metavar="<seed>",
                          type="int",
                          help="user defined random number generator seed")
        parser.add_option("--tmp", dest="tmp",
                          metavar="<tmp directory>",
                          help="directory for temporary files (must exist)")

        self.parser = parser

        CostModel._parse_args(self, extra)

        # check temporary directory
        if self.tmp:
            if not os.path.exists(os.path.realpath(self.tmp)):
                raise Exception("--tmp directory does not exist")

        # make temporary file
        fd, self.treefile = tempfile.mkstemp(dir=self.tmp)
        os.close(fd)

        # hack for cygwin (ranger-dtl-U cannot handle system files)
        if sys.platform == 'cygwin':
            cwd = os.getcwd()
            if self.treefile.startswith(cwd):
                # remove working path (and backslash)
                self.treefile = self.treefile[len(cwd)+1:]
            else:
                raise Exception("--tmp must be a relative path when using cygwin")
Exemple #5
0
    def __init__(self, extra):
        """Initializes the model"""
        CostModel.__init__(self, extra)

        self.VERSION = "0.1.0"
        self.mincost = -util.INF

        parser = optparse.OptionParser(prog="SpimapModel")
        parser.add_option("-a", "--align", dest="align",
                          metavar="<alignment fasta>",
                          help="sequence alignment in fasta format")
        parser.add_option("-p", "--param", dest="params",
                          metavar="<params file>",
                          help="substitution rate parameters file")
        parser.add_option("--simplereroot", dest="simplereroot",
                          metavar="<simple reroot>",
                          default=False, action="store_true",
                          help="set to reroot using dup/loss cost")

        grp_seq = optparse.OptionGroup(parser, "Sequence evolution model")
        grp_seq.add_option("-k", "--kappa", dest="kappa",
                           metavar="<transition/transversion estimate>",
                           default=-1.0, type="float",
                           help="used for HKY model (default: estimate)")
        grp_seq.add_option("-f", "--bgfreq", dest="bgfreq",
                           metavar="<A freq>,<C freq>,<G freq>,<T freq>",
                           help="background frequencies (default: estimate)")
        parser.add_option_group(grp_seq)

        grp_duploss = optparse.OptionGroup(parser, "Dup/loss evolution model")
        grp_duploss.add_option("-D", "--duprate", dest="duprate",
                               metavar="<duplication rate>",
                               default=0.1, type="float",
                               help="rate of gene duplication (default: 0.1)")
        grp_duploss.add_option("-L", "--lossrate", dest="lossrate",
                               metavar="<loss rate>",
                               default=0.1, type="float",
                               help="rate of gene loss (default: 0.1)")
        grp_duploss.add_option("-P", "--pretime", dest="pretime",
                               metavar="<pre-speciation time parameter>",
                               default=1.0, type="float",
                               help="lambda param of pre-speciation distribution (default: 1.0)")
        parser.add_option_group(grp_duploss)

        self.parser = parser

        CostModel._parse_args(self, extra)
Exemple #6
0
    def __init__(self, extra):
        """Initializes the model"""
        CostModel.__init__(self, extra)

        self.VERSION = "0.1.0"
        self.mincost = 0

        parser = optparse.OptionParser(prog="DLCModel")
        parser.add_option("-D", "--dupcost", dest="dupcost",
                          metavar="<dup cost>",
                          default=1.0, type="float",
                          help="duplication cost (default: 1.0)")
        parser.add_option("-L", "--losscost", dest="losscost",
                          metavar="<loss cost>",
                          default=1.0, type="float",
                          help="loss cost (default: 1.0)")
        parser.add_option("-C", "--coalcost", dest="coalcost",
                          metavar="<(deep) coalescence cost>",
                          default=1.0, type="float",
                          help="deep coalescence cost (default: 1.0)")
        parser.add_option("-o", "--output", dest="output",
                          metavar="<locus tree output file>",
                          help="locus tree output file")

        grp_search = optparse.OptionGroup(parser, "Search Options")
        grp_search.add_option("--dcs", dest="dcs",
                              metavar="<DCS threshold>",
                              default=0.25, type="float",
                              help="duplication consistency score threshold: " +
                              "DCS >/<= thr resolves to DUP/ILS (default: 0)")
        grp_search.add_option("--switch", dest="switch",
                              default=False, action="store_true",
                              help="switches equality assignment for DCS threshold, " +
                              "i.e. DCS >=/< thr resolves to DUP/ILS")
        parser.add_option_group(grp_search)

        self.parser = parser

        CostModel._parse_args(self, extra)

        self.locustree = None