python 按给定大小分块染色体的功能。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 按给定大小分块染色体的功能。相关的知识,希望对你有一定的参考价值。

def chunk_genome(chunk_size, reference):
    """ 
    Parses bwa .ann file to retrieve chromosome sizes
    for chunking purposes
    """
    ann = open(reference + ".ann").read()
    # Parsing .ann files
    contigs = [x.split(" ")[1] for x in ann.split("\n")[1:-1:1]][::2]
    contig_sizes = map(int,[x.split(" ")[1] for x in ann.split("\n")[1:-1:1]][1::2])
    for chrom, size in zip(contigs, contig_sizes):
        for chunk in xrange(1,size, chunk_size):
            if chunk + chunk_size > size:
                chunk_end = size
            else:
                chunk_end = chunk + chunk_size-1
            yield "{chrom}:{chunk}-{chunk_end}".format(**locals())

以上是关于python 按给定大小分块染色体的功能。的主要内容,如果未能解决你的问题,请参考以下文章

HDU 4467 分块

CodeForces 444C 分块

P2161 [SHOI2009]会场预约 - 线段树染色

Loj #3111. 「SDOI2019」染色

分块简单入门

python二级练习和考试复习(分块)