美文网首页生信
自己生成的bed文件输出到IGV的间隙性报错原因

自己生成的bed文件输出到IGV的间隙性报错原因

作者: 城管大队哈队长 | 来源:发表于2020-02-18 21:41 被阅读0次

    最近因为疫情的原因一直呆在家里,然后突然一个师兄找我要了个bed文件,然后我就从服务器上down下来给了他。但很快师兄就反馈说这个bed文件加载不到IGV里面去。一直出现这个报错。

    image

    然后我心里想,不应该啊,我之前明明从服务器上down到我的台式机上,然后成功用IGV加载了的,虽然里面的数据可能不太一样了,但应该都是一样的bed。为啥到他电脑就不行了,于是我强行启动我笔记本的IGV,结果也出现了报错。面对这种报错,我的第一反应是可能是IGV的版本不对,于是我重新下了最新的IGV,发现还是一样的错误。

    然后我就懵逼了,只能去上网搜,网上只有有限几个类似的报错

    其中只有第二个是成功解决了的,他里面说

    I figured out what was wrong. In one of the bed line, the address was written in scientific form. That's why IGV is throwing out an error.

    对于 scientific form,我还是不太懂……所以我只能祭出最后一招,逐行逐行地去看bed文件(开玩笑的:))。我按顺序大块大块地部分复制了我原来那个bed文件,形成新的bed,载入IGV中,终于被我发现了有问题的那一行

    Chr5    4e+05   400206  peak_19737  .   .
    

    然后终于跟之前对起来了,原来是科学计数法惹的祸。因为R会对一些大数字运用科学计数法,从而导致了40000变成了4e+05。而之前我一直没报错是因为我之前的bed文件很幸运地没有大的整数。

    至于怎么解决这个问题,上网搜下就行。比如说你可以在输出bed的时候,设置下格式

    write.table(format(merge_peak,scientific=FALSE),
                file = "result/processed_result/merge_peak.bed",
                quote = F,sep = "\t",
                row.names = F,col.names = F,
                )
    

    也可以一开始就options下,比如说下面的意思就是在200个位以内不要使用科学计数法

    options(scipen = 200)
    

    相关文章

      网友评论

        本文标题:自己生成的bed文件输出到IGV的间隙性报错原因

        本文链接:https://www.haomeiwen.com/subject/veinfhtx.html