我正在尝试创建一个脚本文件,以便在多个文件上运行python脚本(从QIIME管道),而不是每次都输入脚本(我有大约150个文件,而且还会更多)。
我使用virtualbox来运行ubuntu环境。
我首先使用gedit创建了一个文件"splitvm3.sh“。
此文件包含:
#!/bin/sh
# this is the script for the VM3 experiment ~/splitvm3.sh
split_libraries.py -m mappingVM3001.txt -b 0 -p -f DNA12115-001-L1-R1-ACGCTCGACA.fna -q DNA12115-001-L1-R1-ACGCTCGACA.qual -o split_library_output001
split_libraries.py -m mappingVM3002.txt -b 0 -p -f DNA12115-002-L1-R1-AGACGCACTC.fna -q DNA12115-002-L1-R1-AGACGCACTC.qual -o split_library_output002然后我使用了这个命令:
chmod +x ./splitvm3.sh从存储我的文件的目录中。
最后,我通过键入以下命令来运行脚本:
python splitvm3.sh我看到了错误消息:
SyntaxError: invalid syntax显然,它指向我的文件的第4行。
我完全缺乏基本的知识来理解哪里出了问题。我在两周前开始了这整个ubuntu/python/QIIME项目,并自学了所有的东西。我们将非常感谢您的每一点帮助!
Seb
发布于 2013-07-25 21:25:22
我不知道'split_libraries.py‘怎么样
看起来这个脚本写的是错误消息。
处理这“第4行”,并在终端中直接调用它。会发生什么?你从哪里得到'...txt‘文件的?
输入文件的格式或编码是否错误?
发布于 2013-08-08 08:22:02
问题是您正在尝试使用python解释器运行shell脚本。尽管split_libraries.py确实是一个python脚本,但您尝试使用的脚本实际上是一个shell脚本。
你几乎可以做到这一点,你只需要像这样执行脚本:
sh splitvm3.sh或者,如果你有一个shebang,你也可以:
./splitvm3.sh发布于 2017-01-09 21:18:48
我知道这是一个老问题,这个问题现在可能已经解决了,但错误来自于文件中的多行。
Qiime脚本可以处理多个文件,只要它们是正确的格式。
尝试将"splitvm3.sh“文件另存为:
split_libraries.py -m mappingVM3001.txt -b 0 -p -f DNA12115-001-L1-R1-ACGCTCGACA.fna,DNA12115-002-L1-R1-AGACGCACTC.fna -q DNA12115-001-L1-R1-ACGCTCGACA.qual,DNA12115-002-L1-R1-AGACGCACTC.qual -o split_library_output然后从存储.fna和.qual文件的同一目录中运行:
python splitvm3.sh https://stackoverflow.com/questions/17854703
复制相似问题