美文网首页
bin-map绘图,参数调整(test)

bin-map绘图,参数调整(test)

作者: 花生学生信 | 来源:发表于2024-03-26 18:34 被阅读0次

    Binmap构想 - 简书 (jianshu.com)

    每15行划分成一个bin,如果一个bin里15个值的和小于等于8,则将15个值都替换为0,如果一个bin里15个数的和大于等于22,则将15个值都替换为2,如过bin里的15个数的和大于8小于22,则将15个值都替换为1

    ###t.py
    #########/public/home/fengting/demo/psvcp/test/zyy26bk/example7/hhzils/parent/H7L29_IR64/quncall/bin/plot
    
    import sys
    
    input_file = sys.argv[1]
    output_file = sys.argv[2]
    
    with open(input_file, 'r') as file:
        lines = file.readlines()
    
    data = [line.strip().split('\t') for line in lines]
    
    for i in range(0, len(data), 15):
        bin_values = [int(row[2]) for row in data[i:i+15] if i+15 <= len(data)]
        bin_sum = sum(bin_values)
        
        if bin_sum <= 8:
            for j in range(i, min(i+15, len(data))):
                data[j][2] = '0'
        elif bin_sum >= 22:
            for j in range(i, min(i+15, len(data))):
                data[j][2] = '2'
        else:
            for j in range(i, min(i+15, len(data))):
                data[j][2] = '1'
    
    with open(output_file, 'w') as file:
        for row in data:
            file.write('\t'.join(row) + '\n')
    
    调整前后 调整前后变化

    把连续的坐标整合

    ##lxu.py
    import sys
    
    input_file = sys.argv[1]
    
    with open(input_file, 'r') as file:
        lines = file.readlines()
    
    data = [line.strip().split('\t') for line in lines]
    
    current_num = None
    start_coord = None
    end_coord = None
    
    for row in data:
        coord = row[1]
        num = row[2]
    
        if num == current_num:
            end_coord = coord
        else:
            if current_num is not None:
                print(row[0] + '\t' + start_coord + '\t' + end_coord + '\t' + current_num)
            
            current_num = num
            start_coord = coord
            end_coord = coord
    
    # Print the last interval
    if current_num is not None:
        print(data[-1][0] + '\t' + start_coord + '\t' + end_coord + '\t' + current_num)
    
    整合后 如果不进行第一步的调整,bin的数目有4万2千个 circos报错,只能画2万5千个bin

    发现用circos画bin确实不适合,然后发现rectchr可以把圆画成长方形,尝试中

    相关文章

      网友评论

          本文标题:bin-map绘图,参数调整(test)

          本文链接:https://www.haomeiwen.com/subject/mlmstjtx.html