Skip to content

Latest commit

 

History

History
78 lines (51 loc) · 3.39 KB

README.md

File metadata and controls

78 lines (51 loc) · 3.39 KB

ticket_293272

I am using Orthofinder to generate a tree. I was wondering if there was a way to change the config.json file or write in the job script to use another config.json from my own directory. I would like to run orthofinder with IQtree and the suggestions on the program's github was to add an additional parameter in the config.json file.

Questions

  • Does OrtoFinder have a CLI flag to specify which config file to use?

No, as far as I can see, this is not possible:

First, it is not mentioned in the help

Second, taking a look at the code, https://github.com/davidemms/OrthoFinder/blob/master/scripts_of/__main__.py#L831, one can see that the config file used is always called config.json and is assumed to be in the same folder as the OrtoFinder executable.

  • Can OrtoFinder/config.json be modified to generate a tree using OrthoFinder with IQtree

No, as far as I can see, this is not possible:

First, I failed to find this in the repository Issues (https://github.com/davidemms/OrthoFinder/issues), even though I did find how to specify using IQTree as the tree inference program from the command-line interface (at https://github.com/davidemms/OrthoFinder?tab=readme-ov-file#options-controlling-the-programs-used, which is by doing ./OrthoFinder [regular parameters] -T iqtree -M msa).

Second, config.json itself documents variable names that can be used, and specifying the tree inference program is not among it. Here is the part of the config.json, from https://github.com/davidemms/OrthoFinder/blob/master/scripts_of/config.json:

    "__comment": "Variable names that can be used:",
    "__comment": "INPUT : The full path of the input filename (fasta file of sequences for and msa method, multiple sequence alignment fasta file for tree method)",
    "__comment": "BASENAME : Just the filename without the directory path (a number of methods use this to name the output file automatically, see MergeAlign command for an example)",
    "__comment": "PATH : Path to the directory containing the input file",
    "__comment": "OUTPUT : The full path of the user specified output filename",
    "__comment": "BASEOUTNAME : Just the filename without the directory path (of the output filename)",
    "__comment": "IDENTIFIER : A name generated by OrthoFinder to uniquely identify the orthogroup (a number of methods use this to name the output file automatically, see RAxML command for an example). Not applicable for program_type search.",
    "__comment": "DATABASE : For the search program_type, for use in the search_cmd. The full path of the database to search against",

In the question, however, the user stated:

the suggestions on the program's github was to add an additional parameter in the config.json file

Did I miss it? Could the user share where he found it?

Arguments

I would like to generate a tree using orthofinder with IQtree

From https://github.com/davidemms/OrthoFinder?tab=readme-ov-file#options-controlling-the-programs-used:

Options controlling the programs used

[..]

-T <opt>: Tree inference program opt=fasttree,raxml,iqtree,... user-extendable (requires '-M msa') 

Hence,

[regular call] -T iqtree -M msa

config.json

About the config.json file, from https://github.com/davidemms/OrthoFinder?tab=readme-ov-file#configjson--adding-addtional-programs-for-tree-inference-local-alignment-or-msa:

Reproduce error

./reproduce.sh