【问题标题】:Deeptools cannot find file that existsDeeptools 找不到存在的文件
【发布时间】:2020-10-07 02:51:08
【问题描述】:

我的一个实习生正在尝试使用 deeptools 的 bamCoverage 函数,尽管文件在那里,但它会引发 '/my/dir/data.bam' file does not exist 错误。是的,该文件确实存在,我们可以使用 bash 命令来操作它,所以它没有真正的理由抛出该错误。

根据this thread,这可能是 pysam 或 python 的问题。两者都是最新的。你知道我可以如何进一步调查 pysam 或 python IO 的问题吗?

所有这些都发生在我们团队使用的服务器上。会不会是他的用户会话的 python 路径有问题?

作为参考,这是我在 bash 终端中运行的代码。这是非常基本的:

my.name@server:/mnt/data1/my.name/PROJET_X/DATA/BIGWIG$ bamCoverage -p 8 -b /mnt/data1/my.name/PROJET_X/DATA/BAM_sort/G0-G00.Inputs.sorted.bam -o /mnt/data1/my.name/PROJET_X/DATA/BIGWIG/G0-G00.Inputs.RPGC.bw --normalizeUsing RPGC --effectiveGenomeSize 2913022398 -bs 10
The file '/mnt/data1/my.name/PROJET_X/DATA/BAM_sort/G0-G00.Inputs.sorted.bam' does not exist  
my.name@server:/mnt/data1/my.name/PROJET_X/DATA/BIGWIG$ ll /mnt/data1/my.name/PROJET_X/DATA/BAM_sort/G0-G00.Inputs.sorted.bam
-rwxr-xr-x 1 my.name bioinfo 4171366400 juin  22 10:14 /mnt/data1/my.name/PROJET_X/DATA/BAM_sort/G0-G00.Inputs.sorted.bam

在过去的一年里,我大概用了 100 次这条线,但现在它找不到文件了。

我也尝试过使用 conda 在我的主目录中安装 deeptools,但这会产生相同的错误。

编辑:显然,这只是那个文件的问题。 bamCoverage 将适用于其他数据文件。如果 deeptools 会告诉您,而不仅仅是“找不到文件”,那就太好了...

【问题讨论】:

  • 您是否尝试提供文件的完整路径?
  • @ArtyomVancyan 是的,我给出了根目录的完整路径
  • 当您以管理员权限执行时,您的程序是否仍然找不到文件?您的脚本可能不允许查看目录的内容,因此它不存在。

标签: python io pysam


【解决方案1】:

看看这里正在运行什么代码会很有帮助 - 请, 尽可能提供minimal reproducible example,包括完整的输出/错误。

目前,对于常见问题,我能想到 4 种可能的解决方案:

  • 如 cmets 中所述,提供 完整路径 可能是一种解决方案。您可以在文件所在的文件夹中使用pwd bash 命令获取完整路径,然后在字符串末尾添加文件名。
  • 有时对相对(本地)路径有帮助的另一件事是以“.”开始路径,因此路径将类似于:'./my/dir/data.bam'
  • 我遇到的另一个问题(主要是在 Windows 环境中运行时)是必须使用反斜杠:'\my\dir\data.bam'
  • 为了完整起见,我要提一下,尤其是对于初学者来说,通常会错误地提供不带逗号的路径(以使其成为字符串),但这里似乎并非如此。

希望这会有所帮助!

【讨论】:

  • 我添加了用于信息的行。如您所见,我已经在使用完整路径,并且在 bash shell 中使用它,而不是在 Windows 上。
猜你喜欢
  • 2015-12-15
  • 2012-12-15
  • 2016-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多