MACSYFINDER(1)

πŸ‘‘ NAME πŸ‘‘

macsyfinder β€” bestie, it detects macromolecular systems in protein datasets πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

macsyfinder [-h] [--sequence-db SEQUENCE_DB] [--db-type
{unordered_replicon,ordered_replicon,gembase,unordered}]
[--replicon-topology {linear,circular}] [--topology-file TOPOLOGY_FILE]
[--idx] [--inter-gene-max-space INTER_GENE_MAX_SPACE
INTER_GENE_MAX_SPACE] [--min-mandatory-genes-required
MIN_MANDATORY_GENES_REQUIRED MIN_MANDATORY_GENES_REQUIRED]
[--min-genes-required MIN_GENES_REQUIRED MIN_GENES_REQUIRED]
[--max-nb-genes MAX_NB_GENES MAX_NB_GENES] [--multi-loci MULTI_LOCI]
[--hmmer HMMER_EXE] [--index-db INDEX_DB_EXE] [--e-value-search
E_VALUE_RES] [--i-evalue-select I_EVALUE_SEL] [--coverage-profile
COVERAGE_PROFILE] [-d DEF_DIR] [-o OUT_DIR] [-r RES_SEARCH_DIR]
[--res-search-suffix RES_SEARCH_SUFFIX] [--res-extract-suffix
RES_EXTRACT_SUFFIX] [-p PROFILE_DIR] [--profile-suffix PROFILE_SUFFIX]
[-w WORKER_NB] [-v] [--log LOG_FILE] [--config CFG_FILE] [--previous-run
PREVIOUS_RUN] systems [systems ...]

So quick vibe check bestie: this is the manual page for macsyfinder, and it lives in the User Commands part of the manual. She's a whole legend, ok? πŸ’…


🌸 DESCRIPTION 🌸

MacSyFinder is a program that models and detects macromolecular systems, genetic pathways... in protein datasets. Obsessed, honestly. 🧬✨

In prokaryotes, these systems are lowkey built different β€” they often have evolutionarily conserved properties: they're made up of conserved components, and they're encoded in compact loci (that's the conserved genetic architecture, iykyk).

The user models these systems with MacSyFinder so it reflects those conserved features, and so the program can detect them efficiently. That's the whole point, periodt. 🫢


✨ OPTIONS ✨

πŸŽ€ positional arguments:

  • systems β€” the systems you want to detect. This is an obligatory option and it has no keyword attached to it, so you just... put it there. To detect all the protein secretion systems and related appendages: set it to "all" (case insensitive). Otherwise you can name a single system or multiple ones. For example: "T2SS T4P". Slay. πŸ’…

🌈 optional arguments:

  • -h, --help β€” shows this help message and dips. πŸ‘‹

πŸ’– Input dataset options:

  • --sequence-db SEQUENCE_DB β€” path to the sequence dataset in fasta format.
  • --db-type {unordered_replicon,ordered_replicon,gembase,unordered} β€” the type of dataset you're dealing with. Let's break it down because this one matters, bestie:
    • "unordered_replicon" corresponds to a non-assembled genome
    • "unordered" to a metagenomic dataset
    • "ordered_replicon" to an assembled genome
    • "gembase" to a set of replicons where sequence identifiers follow this convention: ">RepliconName SequenceID"
  • --replicon-topology {linear,circular} β€” the topology of the replicons. Heads up: this option is meaningful only if the db_type is 'ordered_replicon' or 'gembase'.
  • --topology-file TOPOLOGY_FILE β€” topology file path. This file lets you specify a topology (linear or circular) for each replicon. Same energy as above: it's meaningful only if the db_type is 'ordered_replicon' or 'gembase'. A topology file is a tabular file with two columns: the 1st is the replicon name, and the 2nd the corresponding topology: "RepliconA linear".
  • --idx β€” forces the building of indexes for the sequence dataset even if they were presviously computed and already sitting at the dataset location (default = False). Not me forcing things πŸ’€

πŸ”₯ Systems detection options:

  • --inter-gene-max-space INTER_GENE_MAX_SPACE INTER_GENE_MAX_SPACE β€” the co-localization criterion: the maximum number of components non-matched by a profile allowed between two matched components for them to be considered contiguous. This option is only meaningful for 'ordered' datasets. The first value must match a system, the second to a number of components. You can repeat this option several times: "--inter-gene-max-space T2SS 12 --inter-gene-max-space Flagellum 20".
  • --min-mandatory-genes-required MIN_MANDATORY_GENES_REQUIRED MIN_MANDATORY_GENES_REQUIRED β€” the minimal number of mandatory genes required for system assessment. The first value must correspond to a system name, the second value to an integer. You can repeat this option several times: "--minmandatory-genes-required T2SS 15 --min-mandatorygenes-required Flagellum 10".
  • --min-genes-required MIN_GENES_REQUIRED MIN_GENES_REQUIRED β€” the minimal number of genes required for system assessment (and yes, this includes both 'mandatory' and 'accessory' components, we love an inclusive queen πŸ‘‘). The first value must correspond to a system name, the second value to an integer. You can repeat this option several times: "--min-genesrequired T2SS 15 --min-genes-required Flagellum 10".
  • --max-nb-genes MAX_NB_GENES MAX_NB_GENES β€” the maximal number of genes required for system assessment. The first value must correspond to a system name, the second value to an integer. You can repeat this option several times: "--max-nb-genes T2SS 5 --max-nb-genes Flagellum 10.
  • --multi-loci MULTI_LOCI β€” allows the storage of multi-loci systems for the specified systems. You specify the systems as a comma separated list (--multi-loci sys1,sys2). default is False.

🧚 Options for Hmmer execution and hits filtering:

  • --hmmer HMMER_EXE β€” path to the Hmmer program.
  • --index-db INDEX_DB_EXE β€” the indexer to be used for Hmmer. The value can be either 'makeblastdb' or 'formatdb' or the path to one of these binary (default = makeblastb).
  • --e-value-search E_VALUE_RES β€” the maximal e-value for hits to be reported during the Hmmer search (default = 1).
  • --i-evalue-select I_EVALUE_SEL β€” the maximal independent e-value for Hmmer hits to be selected for system detection (default = 0.001).
  • --coverage-profile COVERAGE_PROFILE β€” the minimal profile coverage required in the hit alignment to allow the hit selection for system detection (default = 0.5).

πŸ“ Path options:

  • -d DEF_DIR, --def DEF_DIR β€” path to the systems definition files.
  • -o OUT_DIR, --out-dir OUT_DIR β€” path to the directory where you want to store results. Careful bestie: if outdir is specified, res-search-dir will be ignored. πŸ™ˆ
  • -r RES_SEARCH_DIR, --res-search-dir RES_SEARCH_DIR β€” path to the directory where to store MacSyFinder search results directories (default is the current working directory).
  • --res-search-suffix RES_SEARCH_SUFFIX β€” the suffix to give to Hmmer raw output files.
  • --res-extract-suffix RES_EXTRACT_SUFFIX β€” the suffix to give to filtered hits output files.
  • -p PROFILE_DIR, --profile-dir PROFILE_DIR β€” path to the profiles directory.
  • --profile-suffix PROFILE_SUFFIX β€” the suffix of profile files. For each 'Gene' element, the corresponding profile is searched in the 'profile_dir', in a file whose name is based on the Gene name + the profile suffix. For instance, if the Gene is named 'gspG' and the suffix is '.hmm3', then the profile should be placed at the specified location and be named 'gspG.hmm3'.

πŸ’œ General options:

  • -w WORKER_NB, --worker WORKER_NB β€” the number of workers to be used by MacSyFinder, for when the user wants to run MacSyFinder in a multithread mode. (0 mean all cores will be used, default 1).
  • -v, --verbosity β€” increases the verbosity level. There are 4 levels: Error messages (default), Warning (-v), Info (-vv) and Debug.(-vvv).
  • --log LOG_FILE β€” path to the directory where to store the 'macsyfinder.log' log file.
  • --config CFG_FILE β€” path to a putative MacSyFinder configuration file to be used.
  • --previous-run PREVIOUS_RUN β€” path to a previous MacSyFinder run directory. It allows you to skip the Hmmer search step on the same dataset, since it uses the previous run results and thus the parameters regarding Hmmer detection. The configuration file from this previous run will be used. ⚠️ This one is in conflict with options --config, --sequence-db, --profile-suffix, --resextract-suffix, --e-value-res, --db-type, --hmmer β€” so like, pick a lane bestie, you cannot have both.

For more details, visit the MacSyFinder website and see the MacSyFinder documentation. 🌐✨


okay that's the whole page, mwah πŸ’‹ β€” this was macsyfinder version 1.0.2, dated January 2015, from the MACSYFINDER(1) manual page. go detect some systems, bestie, you got this 🫢🌸