当前位置: 首页>>代码示例>>Python>>正文


Python MotifConfig.get_seqlogo方法代码示例

本文整理汇总了Python中gimmemotifs.config.MotifConfig.get_seqlogo方法的典型用法代码示例。如果您正苦于以下问题:Python MotifConfig.get_seqlogo方法的具体用法?Python MotifConfig.get_seqlogo怎么用?Python MotifConfig.get_seqlogo使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在gimmemotifs.config.MotifConfig的用法示例。


在下文中一共展示了MotifConfig.get_seqlogo方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: run

# 需要导入模块: from gimmemotifs.config import MotifConfig [as 别名]
# 或者: from gimmemotifs.config.MotifConfig import get_seqlogo [as 别名]
    def run(self):
        from gimmemotifs.config import MotifConfig
        
        cfg = MotifConfig(use_config=self.build_cfg)

        data_dir = self.remove_nonsense(os.path.abspath(self.install_dir))
        
        cfg.set_template_dir(os.path.join(data_dir, 'gimmemotifs/templates'))
        cfg.set_gene_dir(os.path.join(data_dir, 'gimmemotifs/genes'))
        cfg.set_score_dir(os.path.join(data_dir, 'gimmemotifs/score_dists'))
        cfg.set_index_dir(os.path.join(data_dir, 'gimmemotifs/genome_index'))
        cfg.set_motif_dir(os.path.join(data_dir, 'gimmemotifs/motif_databases'))
        cfg.set_bg_dir(os.path.join(data_dir, 'gimmemotifs/bg'))
        cfg.set_tools_dir(os.path.join(data_dir, 'gimmemotifs/tools'))
        
        final_tools_dir = self.remove_nonsense(self.install_tools_dir)
        for program in MOTIF_CLASSES:
            m = eval(program)()
            if cfg.is_configured(m.name):
                bin = cfg.bin(m.name).replace(self.build_tools_dir, final_tools_dir) 
                dir = cfg.dir(m.name)
                if dir:
                    dir = dir.replace(self.build_tools_dir, final_tools_dir)
                cfg.set_program(m.name, {"bin":bin, "dir":dir})
            
        dir = cfg.get_seqlogo()
        dir = dir.replace(self.build_tools_dir, final_tools_dir)
        cfg.set_seqlogo(dir)

        # Use a user-specific configfile if any other installation scheme is used
#        if os.path.abspath(self.install_dir) == "/usr/share":
        config_file = os.path.join(self.install_dir, "gimmemotifs/%s" % CONFIG_NAME)
        self.outfiles = [config_file] 


        if os.path.exists(config_file):
            new_config = config_file + ".tmp"
            dlog.info("INFO: Configfile %s already exists!" % config_file)
            dlog.info("INFO: Will create %s, which contains the new config." % new_config)
            dlog.info("INFO: If you want to use the newly generated config you can move %s to %s, otherwise you can delete %s.\n" % (new_config, config_file, new_config))

            f =  open(new_config, "wb")
            cfg.write(f)
        else: 
            dlog.info("writing configuration file %s" % config_file)
            f =  open(config_file, "wb")
            cfg.write(f)
        
        if os.path.abspath(self.install_dir) != "/usr/share":
            dlog.info("PLEASE NOTE: GimmeMotifs is installed in a non-standard location.")
            dlog.info("PLEASE NOTE: This is fine, but then every user should have a file called ~/.gimmemotifs.cfg")
            dlog.info("PLEASE NOTE: The file %s is fully configured during install and can be used for that purpose." % config_file)
开发者ID:georgeg9,项目名称:gimmemotifs,代码行数:54,代码来源:setup.py

示例2: run

# 需要导入模块: from gimmemotifs.config import MotifConfig [as 别名]
# 或者: from gimmemotifs.config.MotifConfig import get_seqlogo [as 别名]
    def run(self):
        from gimmemotifs.config import MotifConfig
        
        cfg = MotifConfig(use_config=self.build_cfg)

        data_dir = self.remove_nonsense(os.path.abspath(self.install_dir))
        
        cfg.set_template_dir(os.path.join(data_dir, 'gimmemotifs/templates'))
        cfg.set_gene_dir(os.path.join(data_dir, 'gimmemotifs/genes'))
        cfg.set_score_dir(os.path.join(data_dir, 'gimmemotifs/score_dists'))
        cfg.set_index_dir(os.path.join(data_dir, 'gimmemotifs/genome_index'))
        cfg.set_motif_dir(os.path.join(data_dir, 'gimmemotifs/motif_databases'))
        cfg.set_bg_dir(os.path.join(data_dir, 'gimmemotifs/bg'))
        cfg.set_tools_dir(os.path.join(data_dir, 'gimmemotifs/tools'))
        
        final_tools_dir = self.remove_nonsense(self.install_tools_dir)
        for program in MOTIF_CLASSES:
            m = eval(program)()
            if cfg.is_configured(m.name):
                bin = cfg.bin(m.name).replace(self.build_tools_dir, final_tools_dir) 
                dir = cfg.dir(m.name)
                if dir:
                    dir = dir.replace(self.build_tools_dir, final_tools_dir)
                cfg.set_program(m.name, {"bin":bin, "dir":dir})
            
        dir = cfg.get_seqlogo()
        dir = dir.replace(self.build_tools_dir, final_tools_dir)
        cfg.set_seqlogo(dir)

        # Use a user-specific configfile if any other installation scheme is used
#        if os.path.abspath(self.install_dir) == "/usr/share":
        config_file = os.path.join(self.install_dir, "gimmemotifs/%s" % CONFIG_NAME)
        self.outfiles = [config_file] 

        if os.path.exists(config_file):
            timestr = time.strftime("%Y%m%d-%H%M%S")        
            old_config = "{}.{}".format(config_file, timestr)
            shutil.move(config_file, old_config)
            dlog.info("INFO: Configfile %s already existed!", config_file)
            dlog.info("INFO: This config has been saved as %s", old_config)
         
        dlog.info("writing configuration file %s" % config_file)
        f =  open(config_file, "wb")
        cfg.write(f)
开发者ID:YichaoOU,项目名称:gimmemotifs,代码行数:46,代码来源:setup.py

示例3: Motif

# 需要导入模块: from gimmemotifs.config import MotifConfig [as 别名]
# 或者: from gimmemotifs.config.MotifConfig import get_seqlogo [as 别名]
class Motif(object):
    PSEUDO_PFM_COUNT = 1000 # Jaspar mean
    PSEUDO_PWM = 1e-6

    def __init__(self, pfm=None):
        if pfm is None:
            pfm = []

        if len(pfm) > 0:
            if np.sum(pfm[0]) > 2:
                self.pfm = [list(x) for x in pfm]
                self.pwm = self.pfm_to_pwm(pfm)
            else:
                self.pwm = [list(x) for x in pfm]
                self.pfm = [[n * self.PSEUDO_PFM_COUNT for n in col] for col in pfm]
        else:
            self.pwm = []
            self.pfm = []
        self.seqs = []
        self.consensus = ""
        self.id = ""
        self.config = MotifConfig()
        self.seqlogo = self.config.get_seqlogo()

        self.nucs = "ACGT"
        
        self.iupac_rev = {
            'CG': 'S',
            'AG': 'R',
            'AT': 'W',
            'CT': 'Y',
            'GT': 'K',
            'AC': 'M',
            'CGT': 'B',
            'ACT': 'H',
            'AGT': 'D',
            'ACG': 'V'
        }

        self.iupac = {
            'A':['A'],
            'C':['C'],
            'G':['G'],
            'T':['T'],
            'S':['C','G'],
            'R':['A','G'],
            'W':['A','T'],
            'Y':['C','T'],
            'K':['G','T'],
            'M':['A','C'],
            'B':['C','G','T'],
            'H':['A','C','T'],
            'D':['A','G','T'],
            'V':['A','C','G'],
            'N':['A','C','G','T']
        }
        self.iupac_pwm = {
            'A':[1, 0, 0, 0],    
            'C':[0, 1, 0, 0],    
            'G':[0, 0, 1, 0],    
            'T':[0, 0, 0, 1],    
            'S':[0, 0.5, 0.5, 0],
            'R':[0.5, 0, 0.5, 0],
            'W':[0.5, 0, 0, 0.5],
            'Y':[0, 0.5, 0, 0.5],
            'K':[0, 0, 0.5, 0.5],
            'M':[0.5, 0.5, 0, 0],
            'B':[0, 0.33, 0.33, 0.33],
            'H':[0.33, 0.33, 0, 0.33],
            'D':[0.33, 0, 0.33, 0.33],
            'V':[0.33, 0.33, 0.33, 0],
            'N':[0.25, 0.25, 0.25, 0.25]
        }
    
    
    def __getitem__(self, x):
        m = Motif()
        if self.pwm:
            m.pwm = self.pwm[x]
        if self.pfm:   
            m.pfm = self.pfm[x]
        if self.seqs:
            m.seqs = [seq[x] for seq in self.seqs]
        if self.consensus:
            m.consensus = self.consensus[x]
        return m
            
    def __len__(self):
        return len(self.to_consensus())

    def __repr__(self):
        return "%s\t%s" % (self.id, self.to_consensus())

    def information_content(self):
        ic = 0
        for row in self.pwm:
            ic += 2.0 + np.sum([row[x] * log(row[x])/log(2) for x in range(4) if row[x] > 0])
        return ic

    def pwm_min_score(self):
#.........这里部分代码省略.........
开发者ID:YichaoOU,项目名称:gimmemotifs,代码行数:103,代码来源:motif.py

示例4: Motif

# 需要导入模块: from gimmemotifs.config import MotifConfig [as 别名]
# 或者: from gimmemotifs.config.MotifConfig import get_seqlogo [as 别名]
class Motif(object):
    
    """
    Representation of a transcription factor binding motif.

    Examples
    --------

    >>> motif = Motif([[0,1,0,0], [0.5,0,0,0.5], [0,0,1,0]])
    >>> print(motif.to_pwm())
    >
    0   1   0   0
    0.5 0   0   0.5
    0   0   1   0
    >>> print(motif.to_consensus())
    CwG
    
    """
    
    PSEUDO_PFM_COUNT = 1000 # Jaspar mean
    PSEUDO_PWM = 1e-6
    G = 0.25
    Z = 0.01

    def __init__(self, pfm=None):
        if pfm is None:
            pfm = []

        if len(pfm) > 0:
            if np.sum(pfm[0]) > 2:
                self.pfm = [list(x) for x in pfm]
                self.pwm = self.pfm_to_pwm(pfm)
            else:
                self.pwm = [list(x) for x in pfm]
                self.pfm = [[n * self.PSEUDO_PFM_COUNT for n in col] for col in pfm]
            self.logodds = [[np.log(n / self.G + self.Z) for n in col] for col in self.pwm]
        else:
            self.pwm = []
            self.pfm = []
        
        self.wiggled_pwm = None
        self.factors = {DIRECT_NAME:[], INDIRECT_NAME:[]}
        self.seqs = []
        self.consensus = ""
        self.min_score = None
        self.max_score = None
        
        self.id = ""
        self.config = MotifConfig()
        self.seqlogo = self.config.get_seqlogo()

        self.nucs = "ACGT"
        
        self.iupac_rev = {
            'CG': 'S',
            'AG': 'R',
            'AT': 'W',
            'CT': 'Y',
            'GT': 'K',
            'AC': 'M',
            'CGT': 'B',
            'ACT': 'H',
            'AGT': 'D',
            'ACG': 'V'
        }

        self.iupac = {
            'A':['A'],
            'C':['C'],
            'G':['G'],
            'T':['T'],
            'S':['C','G'],
            'R':['A','G'],
            'W':['A','T'],
            'Y':['C','T'],
            'K':['G','T'],
            'M':['A','C'],
            'B':['C','G','T'],
            'H':['A','C','T'],
            'D':['A','G','T'],
            'V':['A','C','G'],
            'N':['A','C','G','T']
        }
        self.iupac_pwm = {
            'A':[1, 0, 0, 0],    
            'C':[0, 1, 0, 0],    
            'G':[0, 0, 1, 0],    
            'T':[0, 0, 0, 1],    
            'S':[0, 0.5, 0.5, 0],
            'R':[0.5, 0, 0.5, 0],
            'W':[0.5, 0, 0, 0.5],
            'Y':[0, 0.5, 0, 0.5],
            'K':[0, 0, 0.5, 0.5],
            'M':[0.5, 0.5, 0, 0],
            'B':[0, 0.33, 0.33, 0.33],
            'H':[0.33, 0.33, 0, 0.33],
            'D':[0.33, 0, 0.33, 0.33],
            'V':[0.33, 0.33, 0.33, 0],
            'N':[0.25, 0.25, 0.25, 0.25]
        }
#.........这里部分代码省略.........
开发者ID:simonvh,项目名称:gimmemotifs,代码行数:103,代码来源:motif.py


注:本文中的gimmemotifs.config.MotifConfig.get_seqlogo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。