Snakemake 和 pandas 语法

2023-12-19

我有一个输入文件如下

SampleName Run Read1 Read2
A run1 test/true_data/4k_R1.fq test/true_data/4k_R2.fq
A run2 test/samples/A.fastq test/samples/A2.fastq
B run1 test/samples/B.fastq test/samples/B2.fastq
C run1 test/samples/C.fastq test/samples/C5.fastq
D

所以我获取数组中的所有索引:

sample_table    = pd.read_table('samples.tsv', sep=' ', lineterminator='\n')
sample_table    = sample_table.drop_duplicates(subset='SampleName', keep='first', inplace=False)
sample_table    = sample_table.dropna()
sample_table.set_index('SampleName',inplace=True)
sample_ID=sample_table.index.values

在此刻sample_ID=['A' 'B' 'C']这就是我想要的。 然后我想设置一个变量 r1 ,它将对应于每个样本的 Read2 的 Read1 和 r2 。

rule all:
    input:
        expand("test/fltr/{ID_sample}.fq", ID_sample=sample_ID)

rule send_reads:
    input:
        #Tried both way but it does not work 
        r1=sample_table.loc["{ID_sample}",'Read1']
        r2=sample_table.Read2["{ID_sample}"]
    output:
       "test/fltr/{ID_sample}{input.r1}.fq"
    shell:
       "touch {output}"

我收到错误

标签 [{ID_sample}] 不在 [索引] 中

这是语法错误还是更大的错误?

我刚刚开始使用 Snakemake,我以为我在教程之后已经理解了它,但显然我没有。

多谢, 干杯


lambda可以使用函数来获取该值。

input:
    lambda wildcards, output: sample_table.Read2[wildcards.ID_sample]

另外,根据您的rule all, your output需要是test/fltr/{ID_sample}.fq。并且,您必须使用逗号分隔两个变量input.

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

Snakemake 和 pandas 语法 的相关文章

随机推荐

  • WriteAsync 超时

    我尝试编写一个带有超时的简单异步写入代码 如下所示 并期望该函数在给定非常大的缓冲区和较小的 waitTime 的情况下抛出 TaskCanceledException 然而 这并没有发生 WriteAsync 将阻塞很多秒 直到写入完成
  • 哪个队列与 requestAnimationFrame 关联?

    今天我在接受采访时被问到这个问题 我无法回答这个问题 面试官说有一个特殊的队列用于 requestAnimationFrame 回调 但我找不到任何这方面的信息 如果 rAF 有它自己的队列 那么为什么这个队列从未在任何地方被提及 当我们谈
  • Swift:呈现主要和替代(登录/入门)流程时出现视觉故障? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个应用程序需要用户登录或创建帐户第一次启动应用程序时 虽然一般不建议这样做 但这是一个非常具体的用例 此外 如果他们已经登录 当
  • 有人能够在 python 中使用 poppler new_from_data 吗?

    使用Python3和Poppler 我可以毫无问题地使用new from file加载文件 但是new from data有问题 这是显然是一个简单测试的代码 因为从文件读取然后使用 new from data 没有意义 因为 new fr
  • 在分组依据查询中包含缺失的月份

    我想我这里有一个艰难的人 我试图按月获取订单数 即使为零 这是问题查询 SELECT datename month OrderDate as Month COUNT OrderNumber AS Orders FROM OrderTable
  • 方法引用与 lambda 表达式

    我想用下面示例中的方法引用替换 lambda 表达式 public class Example public static void main String args List
  • 使用 JavaScript 的逻辑运算符压缩 if/else if 语句

    我正在学习 AngularJS 试图制作一个简单的计算器 并且我正在尝试压缩它if else if 陈述使用 Javascript 逻辑运算符 鉴于这个例子 我怎样才能减少它呢 如果你不明白 scope 忽略它 它基本上是一个视图 因此 当
  • 在引导程序轮播中加载多个谷歌图表

    我创建了一个引导程序轮播来说明我们公司的数据 在这个轮播中 我有引导表 图片和两个谷歌图表 饼图和堆积条形图 如果我没有为谷歌图表保留活动类 它们将无法正确加载 有时图表大小会发生变化 有时图例不会显示 如果我使饼图处于活动状态 则它可以正
  • Clojure 中的自动 TCO

    有没有办法在 Clojure 中定义自动尾部调用优化的函数 e g defrecur fact x if x 1 1 x fact dec x 将在内部翻译为 defn fact x loop n x f 1 if n 1 f recur
  • HTML 服务提交表单不调用 google.script.run 函数

    我有一个脚本曾经工作得很好 但突然停止工作了 用户从用户创建的菜单中选择一个选项 该菜单将启动一个对话框 HTML 服务表单 来收集两个参数 这一切工作正常 当用户提交表单时 应执行此代码
  • Rails:相同两个模型之间的多个联接表

    我有两个模型 玩家和事件 它们之间有两个连接表 参与者和课程 class Event has many participants has many players through participants has many lessons
  • SSIS 包中 ReadUncommissed 隔离级别的解决方法

    SSIS 中的 ReadUncomfilled IsolationLevel 是 Microsoft 承认的一个错误 但 不会修复 如下所述 http connect microsoft com SQLServer feedback det
  • 使用extend.js有什么好处?

    我刚刚认识扩展 js https github com searls extend js 并且想知道使用该库是否比使用本机 JavaScript 具有附加价值 让我演示一下 With 扩展 js 我会声明一个命名空间 如下所示 extend
  • MySQL:永久设置 sql_mode

    通过 MySQL 命令行客户端 我尝试设置全局 mysql mode SET GLOBAL sql mode TRADITIONAL 这适用于当前会话 但在我重新启动服务器后 sql mode 将返回到其默认值 一个空字符串 如何将 sql
  • Codeigniter - 使用force_download函数下载文件

    我正在使用最新的 CI 我在当地工作时没有任何问题 但是当我将作品转移到实时服务器时 我遇到了问题 当我从下载选项卡下载文件时 文件将以正确的大小和格式下载 但是当我打开下载的文件时 例如 如果是图像 则图像不显示 或者如果是单词 则要求选
  • Java 不运行带参数的准备语句

    我正在使用PreparedStatement 来查询我的表 不幸的是 我没能做到这一点 我的代码很简单 PreparedStatement preparedStatement connection prepareStatement Sele
  • 我们可以在 Cubism 上使用自定义 JSON 数据吗?

    我看到了立体图 它们简直太神奇了 我有一个很大的 JSON 文件 其中包含 1000 个条目 其中包含时间戳和值 整数 Cubism 可以绘制这些图吗 我似乎找不到这方面的文档 Cubism 通常适用于实时数据 但您可以实现一个仅从 JSO
  • Swift:获取字典中键的数量

    对于快速数组 我们可以简单地使用count属性来找出集合中有多少个元素 然而 我们不能对字典键做同样的事情 执行此操作的唯一方法是使用 for 循环和计数器吗 var myDict String AnyObject intialize di
  • FFmpeg:如何将带有黑边的垂直视频转换为背景边模糊的 16:9 视频

    如何使用 FFmpeg 实现这一点 没有 FFmpeg 的示例 Adobe After Effects http www youtube com watch v yCOrqUA0ws4 索尼维加斯专业版 http www youtube c
  • Snakemake 和 pandas 语法

    我有一个输入文件如下 SampleName Run Read1 Read2 A run1 test true data 4k R1 fq test true data 4k R2 fq A run2 test samples A fastq