Package: mccoy
Current workflowThis will be updated as pieces are developed and modified.%%{init: { 'theme':'neutral' } }%%
flowchart TB
    sources[(fasta files)]
    sources --> combine --> MSA
    click combine href "https://github.com/smutch/mccoy/blob/main/mccoy/workflow/rules/combine.smk"

    MSA[multiple sequence alignment<br/>-- MAFFT] --> QC
    click MSA href "https://github.com/smutch/mccoy/blob/main/mccoy/workflow/rules/align.smk"

    subgraph QC["Quality control"]
        tree[L_max tree<br/>-- iqtree2] --> RTR[root-tip regression]
        click tree href "https://github.com/smutch/mccoy/blob/main/mccoy/workflow/rules/tree.smk"
        otherQC[other checks]
    end

    QC --> XML[Beast XML generation<br/>-- Wytamma's scripts + templates + FEAST] --> OnlineBEAST[run, pause & update BEAST analysis<br/>-- Online BEAST] .-> Beastiary[monitor running BEAST jobs<br/>-- Beastiary]
    click XML href "https://github.com/smutch/mccoy/blob/main/mccoy/workflow/rules/beast.smk"
    click OnlineBEAST href "https://github.com/Wytamma/online-beast"
    click Beastiary href "https://github.com/Wytamma/beastiary"

    classDef complete fill:#48b884;
    class gisaid,GISAIDR,sources,combine,MSA,tree,RTR,XML complete;

    classDef inProg fill:#cc8400;
    class otherQC,OnlineBEAST inProg;InstructionsEnsure you havemamba(conda will work too, but mamba is strongly preferred), andpoetryinstalled.Step 1 - install the workflowpoetryinstallTo start using McCoy, you can either spawn a new shell with the McCoy Poetry environment enabled:poetryshelloryou can replace every instance ofmccoyin the commands below withpoetry run mccoy.The workflow is being developed such that all required software will be automatically installed for each step of the pipeline in self-contained conda environments. These environments will be cached and reused whenever possible (all handled internally by snakemake), but if you want to remove them then they can be found in.snakemake.Step 2 - Create a McCoy projectFirst begin by creating a new McCoy project (calledtestin this example):mccoycreatetest--referenceresources/reference.fasta--templateresources/templates/CoV_CE_fixed_clock_template.xmlThereferenceandtemplateoptions are required. At the moment we are distributing these reference and template files, however, once we reach v1.0, these will be removed and the useer will have to ensure they have appropriate reference and template files available.The config for this project can be altered by editing the newly created filetest/config.yaml.Step 3 - Run the project!To run the newly created project:mccoyruntest--dataresources/omicron_test-original.fastaAgain, thedataoption here is required. This command will create a new directory intest/runswith the workflow results and output.Step 4 - Add new dataSubsequent calls tomccoy runwill result in a whole new run of the pipeline from start-to-finsh unless the--inheritor--inherit-lastflags are used. Seemccoy run --helpfor more information. Inheriting from a previous run will use the data and MCMC state as a starting point for the new data.mccoyruntest--dataresources/omicron_test-extra.fasta--inherit-lastAs well as directly altering a project'sconfig.yaml, config variables can be overridden on the command line. e.g.:mccoyrun--dataresources/omicron_test-original.fasta--configalign='{mafft: ["--6merpair", "--addfragments"]}'Any options passed tomccoy runthat are not listed inmccoy run --helpwill be directly forwarded on to Snakemake. Seemccoy run --help-snakemakefor a list of all available options.