纽勤finalreport转top\forward链ped文件

1.原始数据,finalreport

finalreport.png
读取finalreport

import pandas as pd
# 表头在第9行
df_finalreport=pd.read_csv(r".\FinalReport.txt",sep="\t",header=9)
# top链
df_finalreport["allele"]=df_finalreport["Allele1 - Top"]+" "+df_finalreport["Allele2 - Top"]
# forward链
#df_finalreport["allele"]=df_finalreport["Allele1 - Forward"]+" "+df_finalreport["Allele2 - Forward"]
# 按照ID分组,并将allele用空格连接
df_new = df_finalreport.groupby('Sample ID')['allele'].apply(lambda x: ' '.join(x)).reset_index()

#finalreport缺失值为“-”,替换为ped中的0
df_new['allele']=df_new['allele'].apply(lambda x: x.replace("-","0"))

2.输出文件(有其他格式的ped文件)

#有forward格式ped
# 读取ped文件
snp_map_file = pd.read_table(open(r".\修改前.ped"),delim_whitespace=True,encoding="gb18030",header=None,low_memory=False)

fh_914out=pd.concat([snp_map_file.iloc[:,:6],df_new["allele"]], axis=1).reset_index(drop=True)
fh_914out.to_csv(r".\修改后.ped",sep='\t',index = None,header=None)

2.输出文件(没有其他格式的ped文件)

#没有forward格式ped
df_new=df_new.reset_index()
df_new["index"]=df_new["index"]+1
df_new[["sire","dam","sex","phenotype"]]=0
df_new[["index","Sample ID","sire","dam","sex","phenotype","allele"]].to_csv(r".\修改后.ped",sep='\t',index = None,header=None)

image.png

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值