使用IGV批量载入bam文件查看reads情况

1.用samtools将bam排序,并生成index(这一步可省略,之前已经排序过)
用python 生成.sh,在jupyter中运行以下代码:

#用sratools排序并生成index
import os
with open('/Users/duck/Desktop/RSV1/world_data/sort_index.sh','w')as f:
    prj_list = os.listdir('/Users/duck/Desktop/RSV1/world_data/empty_bam')
    prj_list.remove('.DS_Store')
    for i in prj_list:
        prj_path = f'/Users/duck/Desktop/RSV1/world_data/empty_bam/{i}'
        bam_list = os.listdir(f'/Users/duck/Desktop/RSV1/world_data/empty_bam/{i}')
        for n in bam_list:
            n1 = n.split('.')[0]
            bam_path = f'/Users/duck/Desktop/RSV1/world_data/empty_bam/{i}/{n}'
            f.write(f'samtools sort -o {prj_path}/{n1}.sorted.bam {prj_path}/{n1}.bam')
            f.write('\n')
            f.write(f'samtools index {prj_path}/{n1}.sorted.bam')
            f.write('\n’)

运行完之后得到的.sh长这样:

samtools sort -o /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821726.sorted.bam /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821726.bam
samtools index /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821726.sorted.bam
samtools sort -o /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821732.sorted.bam /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821732.bam
samtools index /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821732.sorted.bam
samtools sort -o /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821652.sorted.bam /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA490482/SRR7821652.bam

2.#用python生成批量运行load bam的txt
用python 生成用igv运行的txt,在jupyter中运行以下代码:

import os
prj_list = os.listdir('/Users/duck/Desktop/RSV1/world_data/empty_bam')
prj_list.remove('.DS_Store')
for i in prj_list:
    with open(f'/Users/duck/Desktop/RSV1/world_data/{i}_load.txt','w')as f:
        prj_path = f'/Users/duck/Desktop/RSV1/world_data/empty_bam/{i}'
        bam_list = os.listdir(f'/Users/duck/Desktop/RSV1/world_data/empty_bam/{i}')
        for n in bam_list:
            if n.endswith('sorted.bam'):
                n1 = n.split('.')[0]
                bam_path = f'/Users/duck/Desktop/RSV1/world_data/empty_bam/{i}/{n}'
                f.write(f'load {bam_path}\n')

生成的txt长这样:

load /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA450024/SRR6997998.sorted.bam
load /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA450024/SRR6997995.sorted.bam
load /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA450024/SRR6998005.sorted.bam
load /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA450024/SRR6997997.sorted.bam
load /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA450024/SRR6998004.sorted.bam
load /Users/duck/Desktop/RSV1/world_data/empty_bam/PRJNA450024/SRR6997999.sorted.bam

3.用终端运行txt:

#先进入软件目录才行
cd /Users/duck/Desktop/app/IGV_2.16.1
#输入终端,就会打开igv批量载入了。在此之前可以先手动打开igv载入参考基因组。
./igv.sh -b /Users/duck/Desktop/RSV1/world_data/PRJNA660611_load.txt
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值