1

件名: Nextflow の新しいスクリプト/プロセスでファイルから抽出された値を使用するための適切な出力形式を探しています

私はこれを理解できないようです:

Nextflow で、txt.file (PROCESS1) から値を抽出するいくつかのプロセスを作成しており、それを 2 番目のプロセス (PROCESS2) で使用したいと考えています。値の抽出は問題ありませんが、適切な出力形式を見つけることは困難です。問題は、stdout (OPTION1) をチャネルに保存すると、2 番目のスクリプトで問題を引き起こす何らかの "/n" が添付されているように見えることです。

または、これが機能していなかったため、PROCESS1 の出力をファイル (OPTION2) として保存したかったのです。これも問題ありませんが、PROCESS2 でファイルの内容を読み取る正しい方法が見つかりません。「getText()」と関係があると思われますが、いくつか試してみましたが、すべて失敗しました。

最後に、出力を変数 (OPTION3) として保存しようとしましたが、これを行う方法がわかりません。

プロセス1

process txid {
    publishDir "$wanteddir", mode:'copy', overwrite: true

    input:
    file(report) from report4txid

    output:
    stdout into txid4assembly           //OPTION 1
    file(txid.txt) into txid4assembly   //OPTION 2
    val(txid) into txid4assembly        //OPTION 3: doesn't work


    shell:
    '''
    column -s, -t < !{report}| awk '$4 == "S"'| head -n 1 | cut -f5            //OPTION1
    column -s, -t < !{report}| awk '$4 == "S"'| head -n 1 | cut -f5 > txid.txt //OPTION2
    column -s, -t < !{report}| awk '$4 == "S"'| head -n 1 | cut -f5 > txid     //OPTION3

    '''
}

プロセス2

process accessions {
    publishDir "$wanteddir", mode:'copy', overwrite: true

    input:
    val(txid) from txid4assembly       //OPTION1 & OPTION3
    file(txid) from txid4assembly      //OPTION2

    output:
    file("${txid}accessions.txt") into accessionlist

    script:
    """
    esearch -db assembly -query '${txid}[txid] AND "complete genome"[filter] AND "latest refseq"[filter]' \
    | esummary | xtract -pattern DocumentSummary -element AssemblyAccession > ${txid}accessions.txt
    """
}

オプション 1 の後の PROCESS2 の結果のスクリプト (備考: 出力 = 573、レイアウトは変更されません)

esearch -db assembly -query '573
  [txid] AND "complete genome"[filter] AND "latest refseq"[filter]'     | esummary | xtract -pattern DocumentSummary -element AssemblyAccession > 573
  accessions.txt

ご協力ありがとうございました!

4

2 に答える 2