【问题标题】:reading strand (+, -) column with fread, data.table package使用 fread、data.table 包读取 strand (+, -) 列
【发布时间】:2013-03-13 14:54:32
【问题描述】:

我正在尝试使用 fread 将基因组比对读入 R 中的 data.table。这是比对文件的快照:

USI-EAS28:1:100:1786:674#0/1    +   1_maternal  68326824      CTCAATTATACTGAAAGAAACACAATATATCATA    IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
USI-EAS28:1:100:1786:940#0/1    +   16_maternal 11407541    CTATTAGTGACCTGCTGTGGGACCTTGGGATGGT  IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
USI-EAS28:1:100:1786:705#0/1    +   1_maternal  63849584    CTGAGGGTTTGTGTCAGGAAGGGGTGTGGAATTG  IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   0:T>C
USI-EAS28:1:100:1786:1168#0/1   -   5_maternal  31381649    GCATCATTCATGAAACAATTTTCAAGAGAGGAAA  IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
 USI-EAS28:1:100:1787:582#0/1   +   10_maternal 54587781    CTACAATAATAATAGGGGACTAAAACACCCCACT  IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
 USI-EAS28:1:100:1787:62#0/1    +   10_maternal 70390747     CTATTTGCTACTGAATTGTTAATTTTAAAACAGT IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
 USI-EAS28:1:100:1788:573#0/1   -   7_maternal  92583837     CACTGTCAACATTAGACAGACCAATGAGACAAAG IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
 USI-EAS28:1:100:1788:854#0/1   +   7_maternal  129611206    GTTTGTTTTTTTTTTTGAGATGGAGTCTCATTTT IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   32:C>T
 USI-EAS28:1:100:1788:185#0/1   -   13_maternal 23694307    CAAACAAACTCAAAATGGACTATCGACTGAAAAA  IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   
 USI-EAS28:1:100:1788:1339#0/1  -   13_maternal 33699510    TTAACTCTAGTTTTTAGGGATTGCAAATTAGACG  IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII  0   0:A>G

第二列报告读取对齐的链(+ 是正向,- 是反向)。不幸的是,fread 正试图将这一列读入一个整数,并将该值始终赋值为 0。就此而言,这一列应该作为一个字符,甚至是一个布尔值来读取。尝试使用参数 sepsep2 没有帮助。

【问题讨论】:

    标签: r data.table


    【解决方案1】:

    感谢您的报告。现在在 v1.8.9 中修复了提交 849。+- 现在被读取为字符,添加了测试。

    顺便说一句,我们还打算添加colClasses,以便您可以覆盖fread 检测到的列类型。与fread 相关的待办事项列表位于源文件的顶部:
    https://r-forge.r-project.org/scm/viewvc.php/pkg/src/fread.c?view=markup&root=datatable

    【讨论】:

    • 谢谢你,马修。实际上 colClasses 是首先想到的,但如您所知,它仅用作 read.table 的参数;期待它也是 fread 的一个论据!
    • @AlvaroGonzalez 嗨。实际上不需要colClasses。如果+- 之后没有数字,则现在将其读取为character。通常在几个小时内从R-Forge repo 获得(当它显示 rev 849 和状态:当前)。
    • 它运行起来很轻松,@MatthewDowle。非常感谢。
    • @AlvaroGonzalez 没问题,感谢您强调它。请 +1(单击 0 上方的灰色三角形将其变为橙色)并接受此答案(单击白色大勾将其变为绿色)。
    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多