【发布时间】:2014-11-15 19:49:51
【问题描述】:
我对我遇到的这个问题感到非常困惑。我正在尝试通过命令行在 Ubuntu 12.04 LTS 中执行文件。我有一个脚本,它调用一个程序来运行并将结果写入硬盘。我将所有内容的权限和所有权更改为 wxr。这是我的脚本(称为 TEST-star)的 ls -l:
-rwxrwxrwx 1 root root 950 Nov 15 13:16 TEST-star
这是我的脚本调用的包的 ls -l:
-rwxrwxrwx 1 root root 1931414 Nov 10 12:37 STAR
最后是挂载在/media/CLC"的硬盘的ls -l"
drwxrwxrwx 1 root root 8192 Nov 15 13:04 CLC
我从昨天开始一直在尝试运行它,但总是收到一条消息,说我无权编写结果:
EXITING because of FATAL ERROR: could not create output file ./_STARtmp//Unmapped.out.mate1.thread14
Solution: check that you have permission to write this file
我认为如果我将权限更改为 rwx 并以 root 身份运行我的脚本,它不会有问题(使用 sudo)。现在我没有选择了。任何建议将不胜感激。请让我知道您需要哪些其他信息来解决此问题。 谢谢你。 这是我尝试运行的第一行脚本:
#!/bin/sh
cd /media/CLC/ANOPHELES-STAR-v2.4f1/; mkdir GambFemAnt1 && cd GambFemAnt1; echo $PWD && echo Starting mapping of GambFemAnt1; /home/aedes/Documents/STAR_2.4.0f1/STAR --genomeDir /media/Galaxy/Galaxy_data/Anopheles/STAR/Genome --readFilesIn /media/Galaxy/Galaxy_data/Anopheles/QC/GambFemAnt1/GambFemAnt1.fastq --runThreadN 23 --outFilterMismatchNmax 4 --outFilterMatchNminOverLread 0.75 --seedSearchLmax 30 --seedSearchStartLmax 30 --seedPerReadNmax 100000 --seedPerWindowNmax 100 --alignTranscriptsPerReadNmax 100000 --alignTranscriptsPerWindowNmax 10000 --outSAMstrandField intronMotif --outFilterIntronMotifs RemoveNoncanonical --outSAMtype BAM SortedByCoordinate --outReadsUnmapped Fastx; mv Aligned.sortedByCoord.out.bam GambFemAnt1.bam; mv Unmapped.out.mate1 GambFemAnt1-unmapped.fastq; cp *.fastq /media/CLC/ANOPHELES-STAR-v2.4f1/UNMAPED-reads/; cd /media/CLC/ANOPHELES-STAR-v2.4f1 && echo $PWD && echo GambFemAnt1 mapping finished;
我还向包的作者发布了一个问题。
【问题讨论】:
-
你从哪个目录运行脚本?
-
您确定您使用的是正确的路径吗?该错误消息表明您正在尝试写入与脚本位于同一目录中的文件。
-
首先我尝试从我试图写入数据的硬盘驱动器运行它。然后我将它移到 /home/user/Documents 并尝试从那里运行。在这个脚本中,我有一个 mkdir 命令并且它可以工作。
-
好吧,当我运行脚本时,我看到正在创建的目录以及它应该在该目录中创建的所有 5 个文件。让我再检查一遍。
-
谢谢@MikeW 我在想我为什么会得到这个。/_STARtmp//Unmapped.out.mate1.thread14。我记得看到有人在尝试使用超过 6 个线程运行该软件时遇到问题。我将脚本更改为仅使用 12 个线程而不是 23 个线程,并且它可以工作。所以权限是正确的。感谢您的及时回复。
标签: linux ubuntu permissions