错误的snakemake glob_wilcards 和 wildcard_constraints

2024-03-09

在我的 Snakemake 管道中,我试图检索正确的通配符。我研究过 wildcard_constraints 和这个帖子 https://stackoverflow.com/questions/66882849/snakemake-how-to-use-glob-wilcards-properly and 这个帖子 https://stackoverflow.com/questions/46856698/cant-get-this-regex-to-work-for-wildcard-constraints-in-snakemake,但是我无法找出确切的解决方案。

以下是 2 个数据集中的文件名示例。 1 个数据集包含配对的小鼠 RNAseq 读取文件,另一个数据集包含人类配对的 RNAseq 读取文件。

“Mus_musculus”数据集为“PRJNA362883_GSE93946_SRP097621”,文件名:

“SRR5195524_GSM2465521_KrasT_45649_NoDox_Mus_musculus_RNA-Seq_1.fastq.gz” “SRR5195524_GSM2465521_KrasT_45649_NoDox_Mus_musculus_RNA-Seq_2.fastq.gz”

“Homo_sapiens”数据集为“PRJNA362883_GSE93946_SRP097621”,文件名:

“SRR7942395_GSM3406786_sAML_Control_1_Homo_sapiens_RNA-Seq_1.fastq.gz” “SRR7942395_GSM3406786_sAML_Control_1_Homo_sapiens_RNA-Seq_2.fastq.gz”

我希望 glob_wildcards 吐出以下通配符

> ['PRJNA362883_GSE93946_SRP097621', 'PRJNA362883_GSE93946_SRP097621',
> 'PRJNA493818_GSE120639_SRP162872', 'PRJNA493818_GSE120639_SRP162872']
> ['SRR5195524_GSM2465521_KrasT_45649_NoDox',
> 'SRR5195524_GSM2465521_KrasT_45649_NoDox',
> 'SRR7942395_GSM3406786_sAML_Control_1',
> 'SRR7942395_GSM3406786_sAML_Control_1'] ['Mus_musculus', 'Mus_musculus',
> 'Homo_sapiens', 'Homo_sapiens'] ['1', '2', '1', '2']

我尝试过以下代码:

> import glob import os
> 
> DATASET,SAMPLE,SPECIES,FRR,
> =glob_wildcards(config["project_path"]+"resources/raw_datasets/{dataset}/{sample}_{species}_RNA-Seq_{frr}.fastq.gz")
> print(DATASET,SAMPLE,SPECIES,FRR)

但是,我得到了这个作为输出。许多下划线弄乱了 glob_wildcards

> ['PRJNA362883_GSE93946_SRP097621', 'PRJNA362883_GSE93946_SRP097621',
> 'PRJNA493818_GSE120639_SRP162872', 'PRJNA493818_GSE120639_SRP162872']
> ['SRR5195524_GSM2465521_KrasT_45649_NoDox_Mus',
> 'SRR5195524_GSM2465521_KrasT_45649_NoDox_Mus',
> 'SRR7942395_GSM3406786_sAML_Control_1_Homo',
> 'SRR7942395_GSM3406786_sAML_Control_1_Homo'] ['musculus', 'musculus',
> 'sapiens', 'sapiens'] ['1', '2', '1', '2']

例如,我尝试了这个,但输出保持不变: 通配符约束:物种 = '!(sapiens)'

谁能建议正确的代码来获得想要的通配符?提前致谢!


如果适合您的情况,最好准备一个样本表或 yaml 文件来指示每个文件的特征(例如物种、数据集等)。然后使用 python 代码(例如使用 pandas)提取通配符值并引导管道。

在我看来,从文件名中提取信息很脆弱,除非名称是在管道中创建的并且您可以完全控制它们。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误的snakemake glob_wilcards 和 wildcard_constraints 的相关文章

随机推荐

  • 不使用 Excel 写入 Excel 电子表格中的某些单元格?

    我想在未安装 Excel 的服务器上写入 Excel 电子表格 所以Excel自动化是不可能的 我还需要写信给certain使用 NET 的单元 这可能吗 如何实现 ODBC 驱动程序可用于在某些工作表单元格插入数据吗 无需使用昂贵的第三方
  • Assert.That 与 Assert.True

    更喜欢什么 Assert That obj Foo Is EqualTo true or Assert True obj Foo 对我来说 这两种资产是等价的 应该优先选择哪一种 在这种特殊情况下 没有区别 您将看到大致相同详细程度的输出
  • IntelliJ IDEA 中的“变量从未分配”警告只能“部分”抑制

    Java EE IntelliJ Idea 2016 3 我编写了一个类并声明了一个私有字段 Inject注解 我已经通过添加成功地从 检查结果 窗口中删除了 未使用的声明 通知javax inject Inject to 设置 gt 编辑
  • grunt-contrib-connect 中间件 CORS 解决方案,具有 keepalive true

    对于我的本地开发系统 我尝试使用 grunt contrib connect 为前端资产提供服务 我需要一个在 Firefox 中使用字体的跨域解决方案 服务器运行得很好 但我似乎无法设置标头 我正在使用 grunt contrib con
  • 单个元素中的多个文本节点?

    有人可以帮我看一下下面的屏幕截图并解释以下内容 到底是怎么回事 我如何以编程方式检测它 我如何以编程方式修复 摆脱它 我相信发生的事情是我在一个单一的文本节点中有多个文本节点preelement 我感觉很多年前我在MDN上读到这样的事情是可
  • android:dither="true" 不抖动,出了什么问题?

    我一直在尝试让 android 抖动活动的背景图像 到目前为止没有成功 我不知道出了什么问题 这就是我所做的 我的活动布局的根元素是 LinearLayout
  • 为什么自定义类型接受 Python 中的临时属性(而内置类型不接受)?

    我想知道为什么人们能够为自定义类型的实例创建一个新属性 新 意味着 先前未在类主体中定义 但无法为内置类型执行相同的操作在类型上 比如object本身 代码示例 gt gt gt class SomeClass object pass gt
  • Python导入模块错误

    我在项目中导入模块时遇到问题 我正在创建测试 但无法从测试文件导入我的 main 来测试应用程序的一个端点teste ex py 这是我的项目结构 backend api api init py main py testes init py
  • 如何在django模板中使用生成器方法?

    我想在 django 模板中使用 python 生成器 可以吗 例如 我有模型 它包含生成器对象 如下所示 class TestMe models Model property def gen self yield 1 yield 2 上下
  • Pycharm不显示数据库表

    更新PyCharm 版本2017 1 后 PyCharm不显示sqlite3数据库表不再存在 我已经测试了连接并且可以正常工作 In sqlite客户端我可以列出所有表并进行查询 其他人也遇到这个问题吗 在这种情况下无论如何都能解决吗 我使
  • 为 Clojure 协议提供多种实现

    我有一个公开常见数据相关函数的命名空间 get images insert user 然后 我有两个具有相同功能并以不同方式实现它们的数据库后端 他们按原样实现接口 每个后端都包含在一个命名空间中 我似乎无法找到如何完成此任务的良好解决方案
  • Java 项目中服务器和客户端包的共享资源

    我有一个 Java 项目 其中包含服务器包和客户端包 另外我还有一个图书馆包 我使用 eclipse 并将所有内容放入一个 Java 项目中 每个部分服务器 客户端和库都位于单独的包中 问题是当我导出时 所有内容都会添加到 Jar 文件中
  • 如何在 Azure Key Vault 中序列化和反序列化 PFX 证书?

    我有一堆字符串和 pfx 证书 我想将它们存储在 Azure Key Vault 中 只有允许的用户 应用程序才能获取它们 将字符串存储为 Secret 并不难 但是如何以可以检索它并反序列化为证书的方式序列化证书 X509证书2 http
  • Pandas:连接数据帧并保留重复索引

    我有两个数据框 我想将它们按列 axis 1 与内部联接连接起来 其中一个数据帧有一些重复的索引 但行不重复 我不想丢失其中的数据 df1 pd DataFrame a 1 b 2 a 1 b 3 a 2 b 4 columns a b s
  • Laravel - 计算目录的总大小?

    我试图获取 Laravel 中 directory 的总大小 到目前为止我只能使用 size 函数获取单个文件的大小 好像没有这方面的例子或者文档 任何对此的意见将不胜感激 谢谢 我认为你不能 Laravel 5 用途飞行系统 http f
  • 如何将负数转换为正数?

    如何在Python中将负数转换为正数 并保持积极的态度 gt gt gt n 42 gt gt gt n if you know n is negative 42 gt gt gt abs n for any n 42 不要忘记检查docs
  • 如何将枚举类型变量转换为字符串?

    如何使 printf 显示枚举类型变量的值 例如 typedef enum Linux Apple Windows OS type OS type myOS Linux 我需要的是类似的东西 printenum OS type My OS
  • CSS 弹跳线加载动画

    我正在尝试创建一个简单的加载动画 来回绘制一条线 但目前仅朝一个方向移动 一旦到达动画的中间 它就不会以相反的方向动画 这是我的CSS keyframes loader animation 0 width 0 49 width 100 50
  • 在TabLayout设计支持库中无法看到Tab Indicator

    我正在使用材料设计库并使用创建布局CoordinatorLayout 应用栏布局 RecyclerView and TabLayout 我的问题是我无法看到选项卡指示器Tablayout 下面是我正在使用的 xml 文件AppCompact
  • 错误的snakemake glob_wilcards 和 wildcard_constraints

    在我的 Snakemake 管道中 我试图检索正确的通配符 我研究过 wildcard constraints 和这个帖子 https stackoverflow com questions 66882849 snakemake how t