最近遇見(jiàn)一個(gè)奇葩問(wèn)題从隆,從excel 導(dǎo)出的文件处坪,導(dǎo)入服務(wù)器進(jìn)行處理老是報(bào)錯(cuò)。
bedtools intersect -a hda705_edgeR_up.bed -b Up_bed_no_clean.bed |wc -l
#Unexpected file format. Please use tab-delimited BED, GFF, or VCF. Perhaps you have non-integer starts or ends at line 1?
后來(lái)發(fā)現(xiàn)原來(lái)windows導(dǎo)出后自帶換行符胎撇。
例如 使用cat -v命令顯示文件中的非打印字符:
cat -v your_file.bed
Chr9 14088131 14088623^M
Chr9 14088131 14088623^M
Chr9 14088131 14088623^M
Chr9 14088131 14088623^M
^M 是 Windows 操作系統(tǒng)中換行符 \r 的可見(jiàn)表示形式贫贝。它通常會(huì)出現(xiàn)在通過(guò) Windows 環(huán)境下創(chuàng)建的文件中秉犹,而在 Linux 或 Unix 環(huán)境下查看時(shí)可能會(huì)出現(xiàn)問(wèn)題。
你可以使用以下命令將文件中的 ^M 替換為標(biāo)準(zhǔn)的 Unix 換行符:
sed -i 's/\r$//' your_file.bed
這個(gè)命令會(huì)在文件中刪除所有的 \r(^M 的實(shí)際表示)字符平酿,并將文件保存為 Unix 格式的換行符凤优。然后你可以再次檢查文件內(nèi)容悦陋,確保 ^M 字符已經(jīng)被移除了蜈彼。
cat -v your_file.bed
Chr9 14088131 14088623
Chr9 14088131 14088623
Chr9 14088131 14088623
Chr9 14088131 14088623
這樣后續(xù)在進(jìn)行操作就不會(huì)報(bào)錯(cuò)了!!!
bedtools intersect -a hda705_edgeR_up.bed -b Up_bed_no_clean.bed |wc -l
3597