Upgrade to Pro — share decks privately, control downloads, hide ads and more …

事例紹介: Nextflow in ワークショップ「なぜ我々はワークフロー言語を書くのか」

396bc88acc93b94735c1c5d47a377c5f?s=47 Haruka Ozaki
September 27, 2021

事例紹介: Nextflow in ワークショップ「なぜ我々はワークフロー言語を書くのか」

2021/09/27 IIBMP2021
ワークショップ「なぜ我々はワークフロー言語を書くのか」
事例紹介: Nextflow

396bc88acc93b94735c1c5d47a377c5f?s=128

Haruka Ozaki

September 27, 2021
Tweet

More Decks by Haruka Ozaki

Other Decks in Science

Transcript

  1. **#.1 ϫʔΫγϣοϓʮͳͥզʑ͸ϫʔΫϑϩʔݴޠΛॻ͘ͷ͔ʯ ࣄྫ঺հ/FYUGMPX ඌ࡚ྒྷʢஜ೾େֶʣ ஜ೾େֶҩֶҩྍܥੜ໋ҩՊֶҬόΠΦΠϯϑΥϚςΟΫεݚڀࣨ ஜ೾େֶਓ޻஌ೳՊֶηϯλʔ ཧԽֶݚڀॴੜ໋ػೳՊֶݚڀηϯλʔ !ZVJGV !P[BLJMBC

  2. ϫʔΫϑϩʔʹϓϩηεͷ࿈ͳΓ w ϓϩηεʹܭࢉʢπʔϧɺεΫϦϓτʣʴೖग़ྗ w πʔϧιϑτ΢ΣΞɺόʔδϣϯɺΦϓγϣϯ w ೖग़ྗೖྗϑΝΠϧͱग़ྗϑΝΠϧ 2 ܭࢉ ϓϩηε

    ೖྗ σʔλ ग़ྗ σʔλ ܭࢉ ೖྗ ग़ྗ σʔλ ϓϩηε
  3. /FYUGMPXͷߏ੒ཁૉɿ1SPDFTTͱ$IBOOFM w 1SPDFTTܭࢉʢπʔϧɺεΫϦϓτʣɺೖग़ྗΛهड़ w ೖग़ྗʹ$IBOOFMΛهड़͢Δ w $IBOOFMσʔλ͕௨Δʮྲྀ࿏ʯΛهड़ 3 ܭࢉ ϓϩηε

    ೖྗ σʔλ ग़ྗ σʔλ ܭࢉ ೖྗ ग़ྗ σʔλ ϓϩηε
  4. #!/usr/bin/env nextflow params.in = "$baseDir/data/sample.fa" // split a fasta file

    in multiple files process splitSequences { input: path 'input.fa' from params.in output: path 'seq_*' into records """ awk '/^>/{f="seq_"++d} {print > f}' < input.fa """ } // Simple reverse the sequences process reverse { input: path x from records output: stdout into result """ cat $x | rev """ } /FYUGMPXͷߏ੒ཁૉɿ1SPDFTTͱ$IBOOFM 4 Process ɾೖྗɺܭࢉɺग़ྗΛ ɹهड़ Channel ɾೖग़ྗσʔλ͕௨Δ ɹʮྲྀ࿏ʯΛهड़
  5. #!/usr/bin/env nextflow params.in = "$baseDir/data/sample.fa" // split a fasta file

    in multiple files process splitSequences { input: path 'input.fa' from params.in output: path 'seq_*' into records """ awk '/^>/{f="seq_"++d} {print > f}' < input.fa """ } // Simple reverse the sequences process reverse { input: path x from records output: stdout into result """ cat $x | rev """ } /FYUGMPXͷߏ੒ཁૉɿ1SPDFTTͱ$IBOOFM 5 Process ɾೖྗɺܭࢉɺग़ྗΛ ɹهड़ Channel ɾೖग़ྗσʔλ͕௨Δ ɹʮྲྀ࿏ʯΛهड़ ೖྗ ग़ྗ ܭࢉ ೖྗ ग़ྗ ܭࢉ
  6. #!/usr/bin/env nextflow params.in = "$baseDir/data/sample.fa" // split a fasta file

    in multiple files process splitSequences { input: path 'input.fa' from params.in output: path 'seq_*' into records """ awk '/^>/{f="seq_"++d} {print > f}' < input.fa """ } // Simple reverse the sequences process reverse { input: path x from records output: stdout into result """ cat $x | rev """ } /FYUGMPXͷߏ੒ཁૉɿ1SPDFTTͱ$IBOOFM 6 Process ɾೖྗɺܭࢉɺग़ྗΛ ɹهड़ Channel ɾೖग़ྗσʔλ͕௨Δ ɹʮྲྀ࿏ʯΛهड़ ೖྗ ग़ྗ ܭࢉ ೖྗ ग़ྗ ܭࢉ
  7. /FYUGMPXͷʢݸਓతʣخ͠͞ɿ$IBOOFM w ೖྗϑΝΠϧͷ਺ͳͲΛ໌ࣔతʹߟ͑ͳ͍͍ͯ͘ w ଟ͘ͷϑΝΠϧʹฒྻʹಉ͡ܭࢉΛ w $IBOOFMͷʮԋࢉʯ͕Ͱ͖Δ w σʔλ΍Φϓγϣϯͷʮ૊Έ߹ΘͤʯΛ؆୯ʹهड़Ͱ͖Δ w

    σʔλͷ໊લ΍αΠζͳͲʹΑΔʮ৚݅෼ذʯΛ؆୯ʹهड़Ͱ͖Δ 7
  8. /FYUGMPXͷʢݸਓతʣخ͠͞ɿந৅తهड़ w ʮܭࢉʯͷ෦෼͸طଘͷεΫϦϓτΛྲྀ༻Ͱ͖Δ w CBTIɺ1ZUIPOͳͲ w &YFDVUPS͕࣮ߦ؀ڥͷҧ͍Λٵऩ w FYFDVUPSMPDBM FYFDVUPSTHFͳͲͱॻ͚Ε͹͍͍

    w ίϯςφ΍DPOEBͳͲͱͷ࿈ܞ΋؆୯ w ˠهड़ͱ࣮૷ͷ෼཭ 8
  9. /(4ղੳύΠϓϥΠϯΛॻ͘ͷʹ࢖༻͍ͯ͠·͢ •nextflow run pipeline.nf w $I*1TFRղੳɺ༥߹Ҩ఻ࢠݕग़ɺ̍ࡉ ๔3/"TFRͷ6.*Χ΢ϯςΟϯάFUD w ϓϩτλΠϐϯά͔Β࢖༻ w

    ίϚϯυϥΠϯҾ਺ΛऔΕΔ ʢϑΝΠϧύεࢦఆ΍ιϑτ΢ΣΞͷΦ ϓγϣϯΛม͑ͨΓʣ w ίϯϑΟάϑΝΠϧΛ࢖͑Δ w Ϧιʔε࢖༻ྔͷϩά΋औΕΔ 9
  10. /FYUGMPXͷকདྷɿهड़ͱ࣮૷ͷ͞ΒͳΔ෼཭ w /FYUqPXUPXFS w (6* w ༷ʑͳΫϥ΢υ؀ڥ΁ͷϫʔΫϑϩ ʔͷσϓϩΠ͕Մೳ w 42-ͳͲͱͷ࿈ܞ

    10 https://twitter.com/PaoloDiTommaso/status/1433120149888974854