python - 通过 Snakemake 创建文件时防止科学写作
问题描述
不确定是 Python 问题还是 Snakemake 问题,但我有这个目标:
SCORES = expand(expand(RESULTS_DIR + "/{{sp}}_{{st}}/{{seq}}/scores/{tf}_{th}.scores.tab", zip, tf=TF_NAME, th=TF_THR), sp=SPECIES, st=STRAINS, seq=SEQ)
其中 TF_THR 是浮点数列表。在某些情况下,输出文件是使用科学记数法编写的,我想防止这种情况发生。我试过这个:
th='{:.6f}'.format(TF_THR)
还有这个:
th=format(TF_THR, '0.6f'))
但在这两种情况下,我都会收到以下错误:
TypeError in line 44 of myworkflow.py:
unsupported format string passed to Series.__format__
File "myworkflow.py", line 44, in <module>
感谢您的帮助!
解决方案
就像 Python 中的所有字符串一样,Expand 使用“格式 minilang ”。我不确定 Snakemake 的记录情况如何。
要解决您的问题,我们可以简单地执行以下操作:
TF_THR = [0.12345, 0.6789]
print(expand('{th:0.3f}', th=TF_THR))
# ['0.123', '0.679']
推荐阅读
- python - Python,获得月收入百分比的公式
- python - 当文本不在 HTML 元素中时如何抓取文本
- xml - net.sf.saxon.s9api.SaxonApiException: XML 解析器处理报的 I/O 错误 null: null
- json - 将每个值存储到从 JSON 返回的变量中
- python-3.x - 如何填充时间序列数据框直到月底
- swift - UITextView 多行拼写问题 - Swift
- python - 在 python 中使用 zip() 从 for 循环中绘制元组
- while-loop - 为什么 Octave 在这个基本的 while 循环中会出现语法错误?
- powerbi - 带有嵌入式 PowerApp 的 PowerBI - 无法编辑
- laravel - Laravel 路由根在我的服务器中不起作用