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:
```python
#先进入软件目录才行
cd /Users/duck/Desktop/app/IGV_2.16.1
#输入终端,就会打开igv批量载入了。在此之前可以先手动打开igv载入参考基因组。
./igv.sh -b /Users/duck/Desktop/RSV1/world_data/PRJNA660611_load.txt