#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import scipy.stats as stats
in1=sys.argv[1]
ou1=sys.argv[2]
#def trimdata(inputD,outputf):
def trimdata(inputD):
# inputD 第一列case/control ; 第二列 sample number ; 第三列 sample ID; 输入形式是文本
# outputf 输出形式 文本
casen=0
controln=0
case_T=0
case_G=0
case_GT=0
con_T=0
con_G=0
con_GT=0
patientn=0
Gn=0
Tn=0
GTn=0
# outc=open(outputf,'w')
casel=[]
controll=[]
with open(inputD,'r') as f:
fi=f.readlines()
for fil in fi[1:]:
filc=fil.strip().split("\t")
types=filc[0]
genotyp=filc[2]
if types == "case":
casen=casen+1
if genotyp == "G":
case_G=case_G+1
Gn=Gn+1
elif genotyp == "T":
case_T=case_T+1
Tn=Tn+1
elif genotyp == "GT":
case_GT=case_GT+1
con_GT=con_GT+1
elif types == "control":
controln=controln+1
if genotyp == "G":
con_G=con_G+1
Gn=Gn+1
elif genotyp == "T":
con_T=con_T+1
Tn=Tn+1
elif genotyp == "GT":
con_GT=con_GT+1
GTn=GTn+1
casel=[case_G,case_T,case_GT]
controll=[con_G,con_T,con_T]
r, p=stats.pearsonr(casel,controll)
conc=str(case_G)+"\t"+str(case_T)+"\t"+str(case_GT)+"\t"+str(con_G)+"\t"+str(con_T)+"\t"+str(con_T)+"\t"+str(p)+"\n"
return conc
# outc.write("G\tT\tGT\n")
# outc.write("case\t"+str(case_G)+"\t"+str(case_T)+"\t"+str(case_GT)+"\n")
# outc.write("control\t"+str(con_G)+"\t"+str(con_T)+"\t"+str(con_GT)+"\n")
if __name__ == "__main__":
inputf=in1
outputf=open(ou1,'w')
outcon=trimdata(inputf)
trimdata.write(outcon)
python31
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- 原码、反码、补码 1)如何计算补码?规则: 正数:原码 = 反码 = 补码负数:反码 = 符号位不变,其他位取反补...
- 可以通过logging.Formatter指定日志的输出格式,这个参数可以输出很多有用的信息,如下: ♦ %(n...
- 31Code: print("You enter a dark room with two doors . Do ...