阅读最新的真实Python教程
getENA的Python项目详细描述
盖特纳
有时我们需要从ENA下载一个测序项目;幸运的是ENA在其平台上提供了一个指向 我们需要的文件。但是,如果文件量很大,我们可以花很多时间手动下载文件。在
我用Python开发了一个小项目,能够以自动化和并行的方式完成这项工作,从而提高性能。在
安装
pip install getENA
或者,从GitHub
pip install git+https://github.com/EnzoAndree/getENA
使用
假设我对Clostridium perfringens测序项目感兴趣;我们必须在https://www.ebi.ac.uk/ena/browser/text-search?query=clostridium%20perfringens上搜索ENA以查找公共测序项目。在这里,我们选择需要的代码,例如:
PRJNA350702 PRJNA285473 PRJNA508810
我们有两个选项来下载FASTQ文件,(1)将项目代码添加到命令行中,以空格作为参数分隔,或者(2)创建一个包含所有需要的项目代码列表的文件。在
对于第一个选项(建议用于少数项目,例如,>;=5),我们运行以下内容
getENA.py -acc PRJNA350702 PRJNA285473 PRJNA508810
对于第二个选项(建议用于许多项目,例如,>;=5),我们运行以下命令
getENA.py -accfile ena.list.txt
在哪里ena.list.txt文件包含所有项目代码列表的文件。在
相反,如果您只想从项目中下载一些选定的基因组,只需添加run_登录作为参数
getENA.py -acc SRR096826 SRR8867692 SRR7601184
如果需要,可以通过增加并行下载的读取次数来提高性能(-t选项)。但是,要小心,因为如果ENA检测到您同时使用FTP连接了许多个连接,那么ENA会中止连接。根据经验,我观察到12个并行连接可以正常工作而不需要ENA取消下载。在
以上命令的许多并行连接的疯狂例子如下:
getENA.py -t 64 -acc PRJNA350702 PRJNA285473 PRJNA508810
getENA.py
的一个主要特性是,当您下载FASTQ文件时,它会自动确认它的完整性。如果连接丢失,如果ENA取消连接或getENA.py
停止,您可以再次运行程序并重新启动下载,而不会丢失已下载的文件。在
默认情况下,getENA.py
的输出目录是当前目录中名为ENA_out的文件夹。它可以用-o参数修改。例如:
getENA.py -o Cperfringens -t 64 -acc PRJNA350702 PRJNA285473 PRJNA508810
输出文件
创建的文件和文件夹的格式如下:
|ENA_out
|-- metadata.tsv
|-- ERR0001_1.fastq.gz
|-- ERR0001_2.fastq.gz
|-- ...
|-- ERR0009_1.fastq.gz
|-- ERR0009_2.fastq.gz
|-- tmp
|---- PRJNA350702.tsv
|---- PRJNA285473.tsv
|---- PRJNA508810.tsv
其中PRJNA350702.tsv
、PRJNA285473.tsv
和{metadata.tsv
是这三个文件的合并。文件夹ENA_out
,包含每个项目的所有FASTQ文件
如果您只想获取ENA中报告的程序集,可以获取给定分类单元ID的所有FASTA文件。在本例中,Clostridium perfringens的分类单元ID是1502
。所以下载这个物种的所有程序集的命令行是:
getENA.py -o Cperfringens -tax 1502
此命令行将在Cperfringens文件夹中生成一个genomes
目录,其中放置了迄今为止报告的所有程序集
许可证
作者
- 恩佐·格雷罗·阿拉亚
- 推特:@eguerreroaraya
- 项目
标签: