python - 如何在python中解压缩'zg-files'输出文件
问题描述
我在 python 中有一个脚本,允许我下载用户输入名称“输入”的物种序列,然后他的序列直接放在一个使用物种名称的文件夹中。但采用压缩格式(_genomic.fna.gz 或 _protein.faa.gz)。我想添加一个允许直接压缩输出文件的功能(因为它是一个重要的数字,例如对于 klebsiella 几乎 14 000 个序列)。Si quelqu'un peut m'aider s'il vous plaît( en rajoutant 。这是我的代码:
import wget
import numpy as np
import pandas as pd
import urllib.parse
import posixpath
import os
import gzip
import shutil
URL='https://ftp.ncbi.nlm.nih.gov/genomes/GENOME_REPORTS/prokaryotes.txt'
data = pd.read_csv(wget.download(URL) , sep = '\t', header = 0)
espece = input("bacterial species : ")
TypeSeq = input ("fna (nucleique) ? ou faa (proteique) ? : ")
if data["#Organism/Name"].str.contains(espece, case = False).any():
print(data.loc[data["#Organism/Name"].str.contains(espece, case = False)]['Status'].value_counts())
FTP_list = data.loc[data["#Organism/Name"].str.contains(espece, case = False)]["FTP Path"].values
if TypeSeq == "faa" :
if not os.path.exists(espece):
os.makedirs(espece)
for url in FTP_list:
try :
parts = urllib.parse.urlparse(url)
parts.path
posixpath.basename(parts.path)
suffix = "_protein.faa.gz"
prefix = posixpath.basename(parts.path)
print(prefix+suffix)
path = posixpath.join(parts.path, prefix+suffix)
ret = parts._replace(path=path)
sequence = wget.download(urllib.parse.urlunparse(ret), out=espece)
f = gzip.open(sequence, 'rb')
except :
print ("")
else:
print("species not found ")
解决方案
推荐阅读
- python-3.x - 寻找一种避免在爬行时被禁止的方法
- r - 如何在 R 中使这个循环更快?
- r - R 以一定的公差覆盖点和多边形
- swift - 在按钮功能 Swift 中访问 indexPath.row
- c# - 错误 CS1929“int[]”不包含“包含”的定义
- jenkins - 如何在 Jenkins 中使用远程终端访问插件打开工作终端?
- io - 使用 Fortran 从文件中读取包含逗号分隔的浮点数的行
- java - JUnit 导入无法解决
- tensorflow - tf.confusion_matrix 和 tf.assign_add
- gradle - Gradle 集成测试构建但未运行