使用bedtools筛选候选基因时,按照原先的命令,输入后竟然发现报错。
显示:输入文件有问题。
vim 查看文件内容是正常的,
于是开始检查文件。
#文件名为GWAS_Results.BLINK.leafW.pvalue6.txt
#检查文件属性
file GWAS_Results.BLINK.leafW.pvalue6.txt
#检查制表符
cat -t GWAS_Results.BLINK.leafW.pvalue6.txt
#结果如下:

文件属性输出应该是ASCII text 或 UTF-8 text,而这个文件是UTF-16。
#将空格转为制表符
sed -i 's/ \t/\t/g' GWAS_Results.BLINK.leafW.pvalue6.txt
#转换文件格式
iconv -f UTF-16 -t UTF-8 GWAS_Results.BLINK.leafW.pvalue6.txt > GWAS_Results_BLINK_leafW_pvalue6_utf8.txt
#结果如下

发现,末尾仍有回车符号
#删除回车符号
sed -i 's/\r$//' GWAS_Results_BLINK_leafW_pvalue6_utf8.txt
#使用bedtools可读取
原以为使用只使用2个bedtools的命令不会出现报错问题,结果还是因为文件的问题出现报错。
总结,运行前检查文件内容,文件属性,文件中制表符!
想一想,现在的标题“使用bedtools时,输入文件报错…