Ejemplo n.º 1
0
    def titer_model(self, **kwargs):
        '''
        estimate a titer tree and substitution model using titers in titer_fname.
        '''
        from base.titer_model import tree_model, substitution_model
        ## TREE MODEL
        self.titer_tree = tree_model(self.tree.tree, titer_fname = self.titer_fname, **kwargs)
        self.titer_tree.prepare(**kwargs) # make training set, find subtree with titer measurements, and make_treegraph
        self.titer_tree.train(**kwargs) # pick longest branch on path between each (test, ref) pair, assign titer drops to this branch
                                 # then calculate a cumulative antigenic evolution score for each node
        # add tree attributes to the list of attributes that are saved in intermediate files
        for n in self.tree.tree.find_clades():
            n.attr['cTiter'] = n.cTiter
            n.attr['dTiter'] = n.dTiter

        # SUBSTITUTION MODEL
        self.titer_subs = substitution_model(self.tree.tree, titer_fname = self.titer_fname,**kwargs)
        self.titer_subs.prepare(**kwargs)
        self.titer_subs.train(**kwargs)

        if kwargs['training_fraction'] != 1.0:
            self.titer_tree.validate() #(plot=True, fname='treeModel_%s.png'%lineage)
            self.titer_subs.validate() #(plot=True, fname='subModel_%s.png'%lineage)
            logfile = open('params_log.tsv', 'a')
            logfile.write('\t'.join(['substitution_model', lineage, '%.3f'%kwargs['lam_pot'], '%.3f'%kwargs['lam_avi'], '%.3f'%kwargs['lam_drop'], '%.3f'%self.titer_subs.abs_error, '%.3f'%self.titer_subs.rms_error, '%.3f'%self.titer_subs.r2])+'\n')
            logfile.write('\t'.join(['tree_model', lineage, '%.3f'%kwargs['lam_pot'], '%.3f'%kwargs['lam_avi'], '%.3f'%kwargs['lam_drop'], '%.3f'%self.titer_tree.abs_error, '%.3f'%self.titer_tree.rms_error, '%.3f'%self.titer_tree.r2])+'\n')
            logfile.close()
Ejemplo n.º 2
0
def HI_model(self):
    '''
    estimate a tree and substitution model using titers titer_fname.
    '''
    from base.titer_model import tree_model, substitution_model
    ## define the filenames here
    fname = str(self.config["titers"]["fname"].replace("<LINEAGE>",
                                                       self.info["lineage"]))

    ## define the kwargs explicitly
    kwargs = {}
    if "criterium" in self.config["titers"]:
        kwargs["criterium"] = self.config["titers"]["criterium"]

    ## TREE MODEL
    self.HI_tree = tree_model(self.tree.tree, titer_fname=fname, **kwargs)
    self.HI_tree.prepare(**kwargs)
    self.HI_tree.train(**kwargs)
    # add tree attributes to the list of attributes that are saved in intermediate files
    for n in self.tree.tree.find_clades():
        n.attr['cTiter'] = n.cTiter
        n.attr['dTiter'] = n.dTiter
        # print("cumulative: {} delta: {}".format(n.cTiter, n.dTiter))
    self.config["auspice"]["color_options"]["cTiter"] = {
        "menuItem": "antigenic advance",
        "type": "continuous",
        "legendTitle": "Antigenic Advance",
        "key": "cTiter"
    }
Ejemplo n.º 3
0
    def HI_model(self, titer_fname, **kwargs):
        '''
        estimate a tree and substitution model using titers titer_fname.
        '''
        from base.titer_model import tree_model, substitution_model
        ## TREE MODEL
        self.HI_tree = tree_model(self.tree.tree, titer_fname = titer_fname, **kwargs)
        self.HI_tree.prepare(**kwargs)
        self.HI_tree.train(**kwargs)
        # add tree attributes to the list of attributes that are saved in intermediate files
        self.tree.dump_attr.extend(['cTiter', 'dTiter'])

        # SUBSTITION MODEL
        self.HI_subs = substitution_model(self.tree.tree, titer_fname = titer_fname,**kwargs)
        self.HI_subs.prepare(**kwargs)
        self.HI_subs.train(**kwargs)
Ejemplo n.º 4
0
    def HI_model(self, **kwargs):
        '''
        estimate a tree and substitution model using titers titer_fname.
        '''
        from base.titer_model import tree_model, substitution_model
        ## TREE MODEL
        self.HI_tree = tree_model(self.tree.tree, titer_fname = self.HI_titer_fname, **kwargs)
        self.HI_tree.prepare(**kwargs)
        self.HI_tree.train(**kwargs)
        # add tree attributes to the list of attributes that are saved in intermediate files
        for n in self.tree.tree.find_clades():
            n.attr['cTiter'] = n.cTiter
            n.attr['dTiter'] = n.dTiter

        # SUBSTITUTION MODEL
        self.HI_subs = substitution_model(self.tree.tree, titer_fname = self.HI_titer_fname,**kwargs)
        self.HI_subs.prepare(**kwargs)
        self.HI_subs.train(**kwargs)