1

snakemakeスクリプトにカスタムコマンドライン引数を渡すことはできますか?私は試しましたが、​​でSnakefileを実行すると、エラーsnakemake: error: unrecognized arguments: -zzになります。以下はスクリプト例です。Snakemakeスクリプトでのargparseの使用

import argparse 

def get_args(): 
    parser = argparse.ArgumentParser(description='Compares Illumina and 10x VCFs using RTG vcfeval') 

    # required main arguments 
    parser.add_argument('-zz', metavar='--filename', dest='fn', help='Filename', required=True) 

    # parse arguments 
    args = parser.parse_args() 

    fn = args.fn 
    return fn 

fn = get_args() 

rule test_1: 
    input: 
     fn + "/example.txt" 
    shell: 
     "echo Using file {input}" 
+0

このスクリプトをどのように呼び出すのですか?通常、私は 'python your_script.py -zz afilename'を見ています。 – hpaulj

+0

溶液を見いだした。 '--config'で許可します。 [ソース](http://snakemake.readthedocs.io/en/stable/project_info/faq.html#is-it-possible-to-pass-variable-values-to-the-workflow-via-the-command-ライン) – JeeYem

答えて

1

引数をコマンドラインから渡すのはpossible using --configです。たとえば:snakefileスクリプトで

snakemake --config zz="filename"

、これはこのように使用することができます。

rule test_1: 
    input: 
     fn + config['zz'] 
    shell: 
     "echo Using file {input}" 

See the doc詳細は。

関連する問題