CNVKIT_CALL(1)

πŸ“¦
version 0.9.13 Β· 3 versions
, in debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– CNVKIT_CALL(1) πŸ’–

okay bestie, gather round, because this is cnvkit_call β€” the part of the CNVkit fam that actually calls copy number variants from segmented log2 ratios. it's giving "the glow-up at the end of the pipeline" ✨


✨ NAME ✨

cnvkit_call β€” call copy number variants from segmented log2 ratios. no cap, that's the whole job. πŸŽ€


🌸 DESCRIPTION 🌸

so the usage is literally this, and yes it's long, she's a big girl:

cnvkit.py call [-h] [--center [{mean,median,mode,biweight}]]
        [--center-at CENTER_AT] [--filter {ampdel,cn,ci,sem}]
        [-m {threshold,clonal,none}] [-t THRESHOLDS] [--ploidy PLOIDY]
        [--purity PURITY] [--drop-low-coverage] [-x
        {m,y,male,Male,f,x,female,Female}] [-y] [-o FILENAME] [-v
        FILENAME] [-i SAMPLE_ID] [-n NORMAL_ID] [--min-variant-depth
        MIN_VARIANT_DEPTH] [-z [ALT_FREQ]] filename

🫢 positional arguments

  • filename β€” the copy ratios file. she takes .cnr or .cns. that's the input, that's the vibe. πŸ’œ

πŸ¦‹ options

  • -h, --help β€” show this help message and exit. the classic. the icon. the "help me help you". πŸ™ˆ
  • --center [{mean,median,mode,biweight}] β€” re-centers your log2 ratio values using this estimator of the center / average value. and if you pass it with no argument? it uses 'median'. she has a default and she's confident about it. πŸ’…
  • --center-at CENTER_AT β€” subtracts a constant number from all the log2 ratios. this is for "manual" re-centering, i.e. when the --center option is giving you unsatisfactory results. it's the "fine, I'll do it myself" option. 😭
  • --filter {ampdel,cn,ci,sem} β€” merges segments flagged by the specified filter(s) with the adjacent segment(s). cleaning up the friend group, basically. 🧚
  • -m {threshold,clonal,none}, --method {threshold,clonal,none} β€” the calling method. [Default: threshold] ⭐
  • -t THRESHOLDS, --thresholds THRESHOLDS β€” hard thresholds for calling each integer copy number, separated by commas. use the = sign on the command line, e.g.: -t=-1,0,1. [Default: -1.1,-0.25,0.2,0.7] β€” note that = bestie, it's not optional vibes, it's required. πŸ’€
  • --ploidy PLOIDY β€” ploidy of the sample cells. [Default: 2] πŸ‘‘
  • --purity PURITY β€” estimated tumor cell fraction, a.k.a. purity or cellularity. two names, one option, she contains multitudes. 🌈
  • --drop-low-coverage β€” drops very-low-coverage bins before segmentation, so you don't get false-positive deletions in poor-quality tumor samples. protective queen behavior. 🫢
  • -x {m,y,male,Male,f,x,female,Female}, --sample-sex {m,y,male,Male,f,x,female,Female}, -g {m,y,male,Male,f,x,female,Female}, --gender {m,y,male,Male,f,x,female,Female} β€” specify the sample's chromosomal sex as male or female. (otherwise it's guessed from X and Y coverage, which is honestly kind of iconic of it.) ✨
  • -y, --male-reference, --haploid-x-reference β€” was a male reference used? if so, expect half ploidy on chrX and chrY; otherwise, only chrY has half ploidy. and in CNVkit specifically: if a male reference was used, the "neutral" copy number (ploidy) of chrX is 1; chrY is haploid for either reference sex. yes this is confusing, yes it's real, yes you need to know it. πŸ”₯
  • -o FILENAME, --output FILENAME β€” output table file name (a CNR-like table of segments, .cns). πŸ’–

πŸ’… to additionally process SNP b-allele frequencies for allelic copy number:

like, if you wanna go deeper and do the allelic thing too, these are your girls:

  • -v FILENAME, --vcf FILENAME β€” VCF file name containing variants for calculation of b-allele frequencies. 🌸
  • -i SAMPLE_ID, --sample-id SAMPLE_ID β€” name of the sample in the VCF (-v/--vcf) to use for b-allele frequency extraction. πŸŽ€
  • -n NORMAL_ID, --normal-id NORMAL_ID β€” corresponding normal sample ID in the input VCF (-v/--vcf). this sample is used to select only germline SNVs to calculate b-allele frequencies. she's the control, respect her. πŸ¦‹
  • --min-variant-depth MIN_VARIANT_DEPTH β€” minimum read depth for a SNV to be used in the b-allele frequency calculation. [Default: 20] ⭐
  • -z [ALT_FREQ], --zygosity-freq [ALT_FREQ] β€” ignore the VCF's genotypes (the GT field) and instead infer zygosity from allele frequencies. [Default if used without a number: 0.25] β€” so you can just yeet -z in there and she'll handle it. πŸ’œ

⚠️ reminder bestie: copy the option names and values exactly as written. these flags are picky and the = in -t is not a suggestion, it's the law. πŸ’€

πŸ‘‘ sign-off πŸ‘‘

this was cnvkit.py call 0.9.10, from July 2023, and the manual page you're reading is CNVKIT_CALL(1). that's the whole thing, you ate, go call some copy numbers. πŸ“βœ¨πŸ’–

πŸ“¦ where this page comes from