bioinformatics - 将 .gprobs 文件从 Impute2 转换为 PLINK 格式时出错
问题描述
我有一组需要导入 Plink 的 .gprobs 文件。但是,我不断收到相同的错误——在特定行中出现问题,即使在我删除了该行及其周围的行之后也是如此。
数据:我连接了所有 22 个染色体 .gprobs 文件。为此,我确实将单个 .gprobs 文件开头的“---”替换为相应的染色体编号(所以现在每一行都以 CHR SNP BP A1 A2... 开头)。我还删除了未正确估算的 SNP(INFO 分数低于 0.7)
代码:
plink --gen data_chrALL.gprobs_chrcol_below0.7inforemoved --sample data_chr1.sample --out data_chrALL.gprobs_plink
错误信息:
--data: 13404k variants converted.Error: Line 13404781 of .gen file has fewer tokens than expected.
正如我上面所说,我删除了该特定行并重新运行它,并得到了完全相同的错误消息。我尝试删除上面和下面的行(以防编号被标题或其他东西关闭?)但同样,同样的错误。
任何想法或建议将不胜感激!!!我不确定这是否是发布此内容的最佳地点,但我迫切需要帮助。
解决方案
Plink 试图告诉您它希望每行有一定数量的项目(3N+5 个字段,其中 N 是样本数),而在某些行上它看不到它们。所以,
(1)首先,我会尝试将导致错误的行与那些看不到tockens /列数实际上相同,正确并且没有多余空格或特殊字符的行进行比较这可能会导致线路的转义或误读。另外我会检查哪些变体引起了麻烦:也许它们是多等位基因或插入缺失或其他东西,而 Plink 不知道如何处理它们。或者,该变体可能根本没有次要等位基因纯合子,并且表达方式不正确。
( 2 ) 我会检查输入文件的规范,包括 .gen 和 .sample 以查看它们是否正确。由于文件来自 Impute2,因此可能存在一些细微差别。
( 3 ) 我也会更新 Plink 版本。从代码看来,您使用的是 1.07 或 1.09 版本。1.x 版本不能代表概率,并且会进行硬调用,因此您会丢失很多信息。Plink 2.0 可以利用这些概率,并且应该对它们有更好的支持。如果需要,您仍然可以使用硬呼叫。
推荐阅读
- c# - 在 C# 中将二进制 (64) SQL Server 数据解析为纯文本
- javascript - AngularJS 指令验证
- python - 如何验证 Django REST Framework 序列化程序中的所有相关字段是否指定具有相同所有者的对象?
- angular - Angular 集成测试:测试一个在其他组件发出事件时调用的函数,如何模拟事件数据?
- java - 如何确定 JSON 密钥是否已设置为 null 或未提供
- typescript - 当它是动态的时如何打字`this`?
- asp.net - MVC 使用 mvc 中的区域进入错误的视图
- tensorflow - 使用 base 64 输入进行呼叫预测时出错
- css - 将 bootstrap-select 与 input-group 和 form-control 类一起使用时的 z-index 问题
- c# - NSubstitute -3.x 'ValueType' 在未引用的程序集中定义。您必须添加对程序集“netstandard”的引用,