본문 바로가기
Bioinformatics

VCF 파일에서 Ts/Tv 비율 구하기

by 코딩하는 미토콘드리아 bioinformatics 2024. 3. 15.
반응형

VCF 파일에서 Ts/Tv 비율 구하기

 

Transition : 퓨린 계열 염기 사이, 피리미딘 계열 염기 사이 간의 변이

Transversion :  그 외 나머지 염기 간의 변이

 

 

 

방법1 : python script

#tstv_ratio.py

ts = 0 
tv = 0

with open("sample1.vcf","r"0 as fr:
	for line in fr:
		if line.startswith("#"):
		pass
	else:
		l=line.split()
		ref = l[3]
		alt = l[4]
		if len(ref) == len(alt):
			if ref == "A":
				if alt == "G":
					ts += 1
				else:
					tv += 1
			elif ref == "C":
				if alt == "T":
					ts += 1
				else:
					tv += 1
			elif ref == "G":
				if alt == "A":
					ts += 1
				else:
					tv += t
			elif ref == "T":
				if alt == "C":
					ts += 1
				else:
					tv += 1

print("transition:", ts)
print("transversion:", tv)
print("ts/tv:", ts/tv)

 

방법2: bcftools

bcftools stats sample1.vcf.gz | grep "TSTV"
반응형