首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个文件上运行python QIIME脚本

在多个文件上运行python QIIME脚本
EN

Stack Overflow用户
提问于 2013-07-25 17:54:48
回答 4查看 734关注 0票数 0

我正在尝试创建一个脚本文件,以便在多个文件上运行python脚本(从QIIME管道),而不是每次都输入脚本(我有大约150个文件,而且还会更多)。

我使用virtualbox来运行ubuntu环境。

我首先使用gedit创建了一个文件"splitvm3.sh“。

此文件包含:

代码语言:javascript
复制
#!/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

然后我使用了这个命令:

代码语言:javascript
复制
chmod +x ./splitvm3.sh

从存储我的文件的目录中。

最后,我通过键入以下命令来运行脚本:

代码语言:javascript
复制
python splitvm3.sh

我看到了错误消息:

代码语言:javascript
复制
SyntaxError: invalid syntax

显然,它指向我的文件的第4行。

我完全缺乏基本的知识来理解哪里出了问题。我在两周前开始了这整个ubuntu/python/QIIME项目,并自学了所有的东西。我们将非常感谢您的每一点帮助!

Seb

EN

回答 4

Stack Overflow用户

发布于 2013-07-25 21:25:22

我不知道'split_libraries.py‘怎么样

看起来这个脚本写的是错误消息。

处理这“第4行”,并在终端中直接调用它。会发生什么?你从哪里得到'...txt‘文件的?

输入文件的格式或编码是否错误?

票数 0
EN

Stack Overflow用户

发布于 2013-08-08 08:22:02

问题是您正在尝试使用python解释器运行shell脚本。尽管split_libraries.py确实是一个python脚本,但您尝试使用的脚本实际上是一个shell脚本。

你几乎可以做到这一点,你只需要像这样执行脚本:

代码语言:javascript
复制
sh splitvm3.sh

或者,如果你有一个shebang,你也可以:

代码语言:javascript
复制
./splitvm3.sh
票数 0
EN

Stack Overflow用户

发布于 2017-01-09 21:18:48

我知道这是一个老问题,这个问题现在可能已经解决了,但错误来自于文件中的多行。

Qiime脚本可以处理多个文件,只要它们是正确的格式。

尝试将"splitvm3.sh“文件另存为:

代码语言:javascript
复制
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文件的同一目录中运行:

代码语言:javascript
复制
python splitvm3.sh 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17854703

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档