Snakemakeにオプションの出力ファイルを含めることは可能ですか?

アルブロ

シングルエンドシーケンスデータまたはペアエンドシーケンスデータのいずれかでfastqトリミングの実行を処理するsnakemakeルールを作成しています。データがペアエンドの場合は2つの出力ファイルが必要であり、シングルエンドの場合は1つである必要があります。

私が書いたルールはこれまでのところ機能しますが、トリミングされた2番目のペアが出力ファイルであるということはありません。これは、snakemakeがそのファイルが存在するかどうかを確認していないことを意味します。出力されますが、チェックされていません。オプションの出力を持つことは可能ですか?

    input:
    #get the value in the fast1 column
        fastq_file = lambda wildcards: return_fastq(wildcards.fastq_name,wildcards.unit,first_pair = True)
    output:
        out_fastqc = config["fastp_trimmed_output_folder"] + "{unit}/{fastq_name}_trimmed.fastq.gz",
        fastpjson = config["fastp_trimmed_output_folder"] + "{unit}/{fastq_name}_fastp.json",
        fastphtml = config["fastp_trimmed_output_folder"] + "{unit}/{fastq_name}_fastp.html"
    params:
        fastp_parameters = return_parsed_extra_params(config['fastp_parameters']),
        fastq_file2 = lambda wildcards: return_fastq(wildcards.fastq_name,wildcards.unit,first_pair = False),
        out_fastqc2 = lambda wildcards: return_fastq2_name(wildcards.fastq_name,wildcards.unit),
        fastpjson = config["fastp_trimmed_output_folder"] + "{unit}/{fastq_name}_fastp.json",
        fastphtml = config["fastp_trimmed_output_folder"] + "{unit}/{fastq_name}_fastp.html"
    run:
        if config["end_type"] == "se":
            shell("{config[fastp_path]} -i {input.fastq_file} -o {output.out_fastqc} --json {output.fastpjson} --html {output.fastphtml} {params.fastp_parameters}")
        if config["end_type"] == "pe":
            shell("{config[fastp_path]} --in1 {input.fastq_file} --in2 {params.fastq_file2} --out1 {output.out_fastqc} --out2  {params.out_fastqc2} --json {output.fastpjson} --html {output.fastphtml} {params.fastp_parameters}")

目標は、out_fastqc2がルールのオプションの出力として含まれるため、snakemakeが存在するかどうかを確認し、存在しない場合は適切にエラーを表示することです。

Snakemakeがオプションの出力を許可しない場合は、2つのルールに分割することもできますが、それは私が望んでいることではありません。

ドミトリー・クズミノフ

expand関数がどのように機能するかを見てくださいSnakemakeが依存関係のDAGを構築するフェーズで呼び出され、この関数の結果を使用してoutputセクションのファイルのリストを構築します

同じことを試してみることをお勧めします。空かどうかのリストを作成します-条件によって異なります。

このソリューションはout_fastqc2、事前に必要かどうかがわかっている場合にのみ機能します(ただし、優先順位を使用して2つのルールを定義しても同じです)。out_fastqc2ルールの実行中のみ必要性に関する情報を取得する場合、それはチェックポイントが必要な場合とはまったく異なります。

以下は私のアプローチを説明するコードです:out_fastqc2ファイルを説明する文字列になります(end_typeがに構成されている"pe"場合)、そうでない場合は出力のリストを変更しない空のリストになります。

output:
    out_fastqc = config["fastp_trimmed_output_folder"] + "{unit}/{fastq_name}_trimmed.fastq.gz",
    out_fastqc2 = lambda wildcards: return_fastq2_name(wildcards.fastq_name,wildcards.unit) if config["end_type"] == "pe" else []

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

csproj / msbuildにオプションのコンテンツとしてファイルを含めることは可能ですか?

分類Dev

Genericsにオプションの型を含めることは可能ですか?

分類Dev

Spark:出力ファイルにパーティション列を含めることはできますか?

分類Dev

BLAST 2.2.26出力ファイルに%類似性の追加の列を含めることは可能ですか?

分類Dev

Python実行可能ファイルにインタプリタ権限を含めることは可能ですか?

分類Dev

あるCaffeのprototxtファイルを別のファイルに含めることは可能ですか?

分類Dev

あるCSSファイルを別のCSSファイルに含めることは可能ですか?

分類Dev

Visual Studioソリューションに「オプションの」ファイルを含めるにはどうすればよいですか?

分類Dev

シンボリックリンクからJavaScriptファイルを含めることは可能ですか?

分類Dev

.gitconfigにファイルを含めることは可能ですか?

分類Dev

POST形式のファイルを含めることは可能ですか?

分類Dev

オプションで、トランスフォームを使用してWix Heatに特定のファイル拡張子を含めることはできますか?

分類Dev

Eclipseの1つのファイルに複数のクラスを含めることは可能ですか?

分類Dev

Sphinxドキュメントツールのhtml出力にオーディオファイルを埋め込むことは可能ですか?

分類Dev

私のPCにあるファイルを含めることは可能ですか?

分類Dev

EFI システムのパーティションタイプを Linux ファイルシステムにマージすることは可能ですか?

分類Dev

JSファイルを操作するときにVisualStudio Codeでこのポップアップを無効にするオプションはどれですか?

分類Dev

オフラインのコンピューターに.snapアプリケーションをインストールすることは可能ですか?

分類Dev

オフラインのコンピューターに.snapアプリケーションをインストールすることは可能ですか?

分類Dev

UISearchBarDelegate拡張子を別のファイルに含めることは可能ですか?

分類Dev

Syliusショップに常にVATを含めることは可能ですか?

分類Dev

ヘッダーを含めずにCSVファイルを既存のテーブルにインポートすることは可能ですか?

分類Dev

Rに正規表現部分文字列のオプションのセットを含めることは可能ですか?

分類Dev

Jenkinsパイプラインにオプションの入力ステップを含めることはできますか?

分類Dev

前のコマンドの出力をファイルに保存することは可能ですか?

分類Dev

VS2019 / .Net Core 3.1の「単一ファイルの生成」公開オプションを使用する場合、デプロイ後にappsettings.jsonを編集可能な状態に保つことは可能ですか?

分類Dev

Laravelプロジェクトの外部から.bladeファイルを含めることはどのように可能ですか?

分類Dev

web.xmlにcontextloaderlistnerとmvcservetに同じxmlファイルを含めることは可能ですか?

分類Dev

呼び出しのヌルチェックチェーンを回避するためにオプションを使用することは可能ですか?

Related 関連記事

  1. 1

    csproj / msbuildにオプションのコンテンツとしてファイルを含めることは可能ですか?

  2. 2

    Genericsにオプションの型を含めることは可能ですか?

  3. 3

    Spark:出力ファイルにパーティション列を含めることはできますか?

  4. 4

    BLAST 2.2.26出力ファイルに%類似性の追加の列を含めることは可能ですか?

  5. 5

    Python実行可能ファイルにインタプリタ権限を含めることは可能ですか?

  6. 6

    あるCaffeのprototxtファイルを別のファイルに含めることは可能ですか?

  7. 7

    あるCSSファイルを別のCSSファイルに含めることは可能ですか?

  8. 8

    Visual Studioソリューションに「オプションの」ファイルを含めるにはどうすればよいですか?

  9. 9

    シンボリックリンクからJavaScriptファイルを含めることは可能ですか?

  10. 10

    .gitconfigにファイルを含めることは可能ですか?

  11. 11

    POST形式のファイルを含めることは可能ですか?

  12. 12

    オプションで、トランスフォームを使用してWix Heatに特定のファイル拡張子を含めることはできますか?

  13. 13

    Eclipseの1つのファイルに複数のクラスを含めることは可能ですか?

  14. 14

    Sphinxドキュメントツールのhtml出力にオーディオファイルを埋め込むことは可能ですか?

  15. 15

    私のPCにあるファイルを含めることは可能ですか?

  16. 16

    EFI システムのパーティションタイプを Linux ファイルシステムにマージすることは可能ですか?

  17. 17

    JSファイルを操作するときにVisualStudio Codeでこのポップアップを無効にするオプションはどれですか?

  18. 18

    オフラインのコンピューターに.snapアプリケーションをインストールすることは可能ですか?

  19. 19

    オフラインのコンピューターに.snapアプリケーションをインストールすることは可能ですか?

  20. 20

    UISearchBarDelegate拡張子を別のファイルに含めることは可能ですか?

  21. 21

    Syliusショップに常にVATを含めることは可能ですか?

  22. 22

    ヘッダーを含めずにCSVファイルを既存のテーブルにインポートすることは可能ですか?

  23. 23

    Rに正規表現部分文字列のオプションのセットを含めることは可能ですか?

  24. 24

    Jenkinsパイプラインにオプションの入力ステップを含めることはできますか?

  25. 25

    前のコマンドの出力をファイルに保存することは可能ですか?

  26. 26

    VS2019 / .Net Core 3.1の「単一ファイルの生成」公開オプションを使用する場合、デプロイ後にappsettings.jsonを編集可能な状態に保つことは可能ですか?

  27. 27

    Laravelプロジェクトの外部から.bladeファイルを含めることはどのように可能ですか?

  28. 28

    web.xmlにcontextloaderlistnerとmvcservetに同じxmlファイルを含めることは可能ですか?

  29. 29

    呼び出しのヌルチェックチェーンを回避するためにオプションを使用することは可能ですか?

ホットタグ

アーカイブ