BUILDTREES.PY(1)

BUILDTREES.PY(1) πŸŽ€ User Commands πŸ’– bestie, this is your guide to the one and only BuildTrees.py!! 🧚

✨ NAME ✨

BuildTrees.py - Repertoire clonal assignment toolkit (Python 3) πŸ¦‹

πŸ’… DESCRIPTION πŸ’…

okay so first, heads up πŸ™ˆ the tool throws some SyntaxWarnings about is being used with literals. they're just warnings, but they're lowkey annoying:

/usr/bin/BuildTrees.py:488: SyntaxWarning: "is" with a literal. Did you
mean "=="?

      if germline is "":
/usr/bin/BuildTrees.py:543: SyntaxWarning: "is" with a literal. Did you
mean "=="?

      if ngermline is "":
/usr/bin/BuildTrees.py:801: SyntaxWarning: "is not" with a literal. Did
you mean "!="?

      if regions["cdr3_imgt"] is not "" and regions["cdr3_imgt"] is not
      None:
/usr/bin/BuildTrees.py:827: SyntaxWarning: "is not" with a literal. Did
you mean "!="?

      elif regions["fwr3_imgt"] is not "" and regions["fwr3_imgt"] is
      not None:

here's the usage line, the full fit πŸ‘‘:

usage: BuildTrees.py [--version] [-h] -d DB_FILES [DB_FILES ...]

       [--outdir OUT_DIR] [--outname OUT_NAME] [--log LOG_FILE]
       [--failed] [--format {airr,changeo}] [--collapse] [--ncdr3]
       [--nmask] [--md META_DATA [META_DATA ...]]  [--clones
       TARGET_CLONES [TARGET_CLONES ...]]  [--minseq MIN_SEQ] [--sample
       SAMPLE_DEPTH] [--append APPEND [APPEND ...]] [--igphyml] [--nproc
       NPROC] [--clean {none,all}] [--optimize {n,r,l,lr,tl,tlr}]
       [--omega {e,ce,e,e,ce,e,e,ce,ce,ce}] [-t {e,ce}] [--motifs
       MOTIFS] [--hotness HOTNESS] [--oformat {tab,txt}] [--nohlp]
       [--asr ASR]

so the whole thing basically converts TSV files into IgPhyML input files 🧬 it's giving data pipeline, and it's giving main character energy πŸ’–

πŸŽ€ help

  • --version β€” shows the program's version number and then exits 🌸
  • -h, --help β€” shows the help message and exits 🫢

🌸 standard arguments

  • -d DB_FILES [DB_FILES ...] β€” give it a list of tab delimited database files. the default is None πŸ’…
  • --outdir OUT_DIR β€” point this at a new folder if you want the output somewhere else. if you skip it, the input file's directory gets used. the default is None πŸ“‚
  • --outname OUT_NAME β€” changes the prefix of the successfully processed output file to whatever string you pick. you can't use it with multiple input files ⚠️ the default is None πŸ¦‹
  • --log LOG_FILE β€” writes verbose logging to a file. you can't use it with multiple input files either πŸ™ˆ the default is None πŸ“
  • --failed β€” if you add this, it makes files holding the records that failed processing. the default is False πŸ’€
  • --format {airr,changeo} β€” sets the input and output format. the default is airr πŸ“

πŸ’œ sequence processing arguments

  • --collapse β€” if you flag it, identical sequences get collapsed before they're exported to fasta. the default is False ✨
  • --ncdr3 β€” if you flag it, CDR3 gets removed from all sequences. the default is False 🌈
  • --nmask β€” if you flag it, the tool won't try to mask split codons. the default is False πŸ™…β€β™€οΈ
  • --md META_DATA [META_DATA ...] β€” a list of fields holding metadata that you want included in the sequence headers of the output fasta file. the default is None 🏷️
  • --clones TARGET_CLONES [TARGET_CLONES ...] β€” a list of clone IDs to output, if you want that. the default is None 🎯
  • --minseq MIN_SEQ β€” the minimum number of data sequences. any clones with fewer sequences than this get excluded 🧹 the default is 1
  • --sample SAMPLE_DEPTH β€” the depth of reads to subsample, done before deduplication 🎲 the default is -1
  • --append APPEND [APPEND ...] β€” a list of columns to append to the sequence ID so everything stays unique πŸ”‘ the default is None

🧬 IgPhyML arguments (see igphyml -h for details)

  • --igphyml β€” runs IgPhyML on the output. the default is False πŸ”₯
  • --nproc NPROC β€” how many threads IgPhyML gets spread across 🧡 the default is 1
  • --clean {none,all} β€” deletes intermediate files. none leaves every intermediate file alone, all deletes all of them. the default is none πŸ—‘οΈ
  • --optimize {n,r,l,lr,tl,tlr} β€” optimizes the combo of topology (t), branch lengths (l), and parameters (r), or nothing at all (n), for IgPhyML 🧠 the default is lr
  • --omega {e,ce,e,e,ce,e,e,ce,ce,ce} β€” the omega parameters to estimate for FWR and CDR, respectively. e means estimate, and ce means estimate plus a confidence interval πŸ“Š the default is e,e
  • -t {e,ce} β€” the kappa parameters to estimate. e means estimate, ce means estimate plus a confidence interval πŸ’« the default is e
  • --motifs MOTIFS β€” which motifs to estimate mutability for 🧩 the default is WRC_2:0,GYW_0:1,WA_1:2,TW_0:3,SYC_2:4,GRS_0:5
  • --hotness HOTNESS β€” the mutability parameters to estimate. e means estimate, ce means estimate plus a confidence interval 🌑️ the default is e,e,e,e,e,e
  • --oformat {tab,txt} β€” the IgPhyML output format πŸ“„ the default is tab
  • --nohlp β€” skips the HLP model πŸ™… the default is False
  • --asr ASR β€” the ancestral sequence reconstruction interval, from 0 to 1 πŸ¦– the default is -1

πŸ—‚οΈ output files

  • <folder> β€” the folder holding the fasta and partition files for each clone πŸ“
  • lineages β€” the successfully processed records βœ…
  • lineages-fail β€” the database records that failed processing ❌
  • igphyml-pass β€” the parameter estimates and lineage trees from running IgPhyML, if you asked for it 🌳

πŸ”‘ required fields

your input needs these fields, no cap 🧒: sequence_id, sequence, sequence_alignment, germline_alignment_d_mask or germline_alignment, v_call, j_call, clone_id, v_sequence_start

⚠️ bestie, the warnings above are about is vs == with literals. the tool still runs, but it's a good idea to keep an eye on them πŸ‘€

🧚 AUTHOR 🧚

Nilesh Patra wrote this manpage for the Debian distribution 🌈 and it can be used for any other usage of the program πŸ’œ


that's the whole tea, bestie 🫢 this was BuildTrees.py 1.0.1, from October 2020, and the manual page is BUILDTREES.PY(1) ✨ periodt πŸ’…πŸ¦‹