我正在处理一个变量调用格式(.vcf)文件。我正在从个人基因组数据中分离基因型等位基因,并计算出患这种特殊疾病的几率。根据我的分析,我需要实施如下条件: 我有两个不同的熊猫数据帧,它们是从.vcf文件中提取的
2.个体SNPs
我的条件是:如果数字1.dataframe(Diseases)列'SNP'与数字2匹配。数据帧(单个SNP)列“SNP”。然后我将从individualSNPs数据框cola和colb列中进行检查
if( cola=0 and colb=0):
score = MinorAlleFrequency* effectSize (from datafram Diseases of matched row)
if( cola=0 and colb=1) or (cola=1 and colb=1):
score = (1 - MinorAlleFrequency)* effectSize (from datafram Diseases of matched row)
if( cola=1 and colb=0):
print("genotype unavailable")
然后分数值将保存在CSV文件中
提前谢谢
首先,您可以合并您的数据帧,这样您就可以得到一个新的数据帧,其中包含两个数据帧中的列,并且只保留
Diseases
数据帧(列SNP)中存在的IndividualSNPs
数据帧(列SNP)中的行。就像:然后,由于您没有那么多条件,您可以:
并用您的变体重复它(我猜您的第二个条件可以恢复为
colb == 1
):最后,使用
NA
将其余部分清空可能是比将字符串(“genetic unavailable”)放入浮点列更好的解决方案相关问题 更多 >
编程相关推荐