mosdepth的簡單使用,和覆蓋深度的概率計算。

2021-09-10 03:53:09 字數 3143 閱讀 7138

關於mosdepth的介紹:

1.首先是在伺服器上安裝mosdepth。

wget 

tar zxvf pcre-8.41.tar.gz

cd pcre-8.41/

./configure

make

(2)使用conda進行安裝。

conda install -y mosdepth
(3)使用虛擬環境安裝軟體。

#建立虛擬環境。      

conda create -y --name mosdepth
#進入虛擬環境

conda activate mosdepth
#軟體安裝    

conda install -y mosdepth
#使用mosdepth

~/.conda/envs/mosdepth/bin/mosdepth -h
#退出虛擬環境

conda deactivate
2.mosdepth的使用。

(1)準備好bed檔案和bam檔案。

(2)通過執行mosdepth軟體來計算在1x、2x、3x、4x、5x、10x、15x下bam檔案在全基因的覆蓋率

nohup ~/.conda/envs/mosdepth/bin/mosdepth -n -t 3 --by filter_gap.bed -t 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,20,25,30 prefix *.bam >log 2>&1 &   ## *.bam為bam檔案的絕對路徑
(3)需要檢視的檔案是prefix.thresholds.bed.gz

(4)通過乙個簡單的python指令碼去得到覆蓋率。

#!/usr/bin/python

# -*- coding: utf-8 -*-

import pandas as pd

from pandas import dataframe

import os

import os.path

import gzip

import sys

def read_gz_file(path):

if os.path.exists(path):

with gzip.open(path, 'r') as pf:

for line in pf:

yield line

else:

print('the path [{}] is not exist!'.format(path))

strzipfile = sys.ar**[1]

strdstfile = sys.ar**[2]

gzipfile = gzip.gzipfile(strzipfile, "r")

outfile = open(strdstfile, 'wb+')

outfile.write(gzipfile.read())

outfile.close()

data = pd.read_csv(sys.ar**[2], sep="\t")

#print(data)

sum_end_start=sum(data['end']-data['start'])

#print(sum_end_start)

sum_1x=sum(data['1x'])

sum_2x=sum(data['2x'])

sum_3x=sum(data['3x'])

sum_4x=sum(data['4x'])

sum_5x=sum(data['5x'])

sum_6x=sum(data['6x'])

sum_7x=sum(data['7x'])

sum_8x=sum(data['8x'])

sum_9x=sum(data['9x'])

sum_10x=sum(data['10x'])

sum_11x=sum(data['11x'])

sum_12x=sum(data['12x'])

sum_13x=sum(data['13x'])

sum_14x=sum(data['14x'])

sum_15x=sum(data['15x'])

sum_20x=sum(data['20x'])

sum_25x=sum(data['25x'])

sum_30x=sum(data['30x'])

p1=sum_1x/sum_end_start

p2=sum_2x/sum_end_start

p3=sum_3x/sum_end_start

p4=sum_4x/sum_end_start

p5=sum_5x/sum_end_start

p6=sum_6x/sum_end_start

p7=sum_7x/sum_end_start

p8=sum_8x/sum_end_start

p9=sum_9x/sum_end_start

p10=sum_10x/sum_end_start

p11=sum_11x/sum_end_start

p12=sum_12x/sum_end_start

p13=sum_13x/sum_end_start

p14=sum_14x/sum_end_start

p15=sum_15x/sum_end_start

p20=sum_20x/sum_end_start

p25=sum_25x/sum_end_start

p30=sum_30x/sum_end_start

d =

df = pd.dataframe(d, index=['frequency'])

df.to_csv(sys.ar**[3], sep='\t')

執行指令碼是:

python3 frequency.py prefix.thresholds.bed.gz prefix.txt frequency.txt
3.最後得到覆蓋率檔案是:frequency.txt

Altium designer 覆銅的簡單介紹

pcb設計過程中,覆銅一般是最後一項,從altium designer的覆銅設定裡面可以看到關於覆銅的一些設定分為以下三種1.填充模式 2.屬性 3.網路選型,下面就這三個區域分別介紹覆銅的相關知識點。一.填充模式 可以看到填充模式有三種solid 全部鋪銅 hatched 網格鋪銅 和none 區...

方法的覆寫和過載

在學習中 方法的覆寫和過載老是有人搞混 或者記不清他們之間的細節 方法的過載 概念 方法名稱相同,引數的個數或型別不同 不能有兩個名字相同,引數型別也相同卻返回值不同的方法 構造方法的過載 由於同乙個類中不可能有兩個屬性,名稱相同,型別不同所以構造方法的過載只能是引數的個數不同。方法覆寫 概念 子類...

svn的簡單配置和使用

1 準備工作 需要軟體 svn 1.4.6 setup.exe tortoisesvn 1.4.8.12137 win32 svn 1.4.6.msi 直接安裝就可以 2 配置svn 將svn的bin添入環境變數,在cmd中敲入svn和svnadmin測試是否安裝成功,一般配好了環境變數的話就沒什麼...