Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gw dev #36

Merged
merged 4 commits into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .gw.ini
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ log2_cov=false
expand_tracks=true
scale_bar=true
link=none
scale_bar=true
split_view_size=10000
threads=4
pad=500
Expand All @@ -40,7 +41,7 @@ font_size=14
sv_arcs=true
mods=false
mods_qual_threshold=50
session_file=/Users/sbi8kc2/CLionProjects/gw/.gw_session.ini
session_file=

[view_thresholds]
soft_clip=20000
Expand Down Expand Up @@ -72,7 +73,7 @@ parse_label=filter
labels=PASS,FAIL

[shift_keymap]
ampersand= 7
ampersand=7
bar=\
colon=;
curly_open=[
Expand Down
Binary file added docs/assets/data/demo1.bam
Binary file not shown.
Binary file added docs/assets/data/demo1.bam.bai
Binary file not shown.
106 changes: 106 additions & 0 deletions docs/assets/data/demo1.repeats.bed
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
chr8 37023918 37024043 AluSz 880 +
chr8 37024043 37024067 AT_rich 24 +
chr8 37024913 37025154 MIR 504 -
chr8 37025202 37025265 MIR 225 -
chr8 37025299 37025475 L1ME4a 680 +
chr8 37025475 37025940 LOR1a 2460 -
chr8 37025940 37027033 L1ME4a 680 +
chr8 37027711 37027741 (CAAAAA)n 221 +
chr8 37027759 37027832 A-rich 211 +
chr8 37027832 37028118 AluSz 1926 +
chr8 37028118 37028205 A-rich 211 +
chr8 37028842 37029004 AluJb 1752 +
chr8 37029004 37029814 LTR1 4292 -
chr8 37029814 37029947 AluJb 1752 +
chr8 37030145 37030177 AT_rich 25 +
chr8 37030211 37030262 (TATAA)n 204 +
chr8 37030354 37030405 L2a 216 +
chr8 37030607 37030837 L1ME4a 483 +
chr8 37031008 37031355 L1ME4a 626 +
chr8 37031355 37031435 MADE1 531 -
chr8 37031435 37031453 L1ME4a 626 +
chr8 37031568 37031877 AluSx 2257 -
chr8 37032444 37032632 MIR 374 +
chr8 37032912 37033041 MLT1J2 505 -
chr8 37033041 37033440 MSTA 2345 -
chr8 37033440 37033590 MLT1J2 505 -
chr8 37033721 37034000 AluSg 2118 -
chr8 37034028 37034119 LTR81C 291 +
chr8 37034126 37034305 MIRb 256 -
chr8 37034824 37034946 MER103C 269 +
chr8 37037329 37037416 CT-rich 189 +
chr8 37037438 37037491 (TC)n 381 +
chr8 37040342 37040645 AluSg 2335 -
chr8 37040661 37040806 MIRb 460 -
chr8 37041195 37041357 GA-rich 218 +
chr8 37041425 37041471 (CA)n 216 +
chr8 37043199 37043531 MER61A 1858 +
chr8 37043534 37043751 MER58A 1200 +
chr8 37043753 37043786 (TGAA)n 192 +
chr8 37043881 37044166 Plat_L3 292 +
chr8 37044502 37044645 MIR 244 -
chr8 37044957 37045261 MLT1J2 540 -
chr8 37045738 37045891 L2c 225 -
chr8 37047131 37047432 AluJr4 1787 +
chr8 37047439 37047530 G-rich 252 +
chr8 37047681 37047772 MIRb 296 +
chr8 37047868 37048141 L3 767 +
chr8 37049256 37049308 MLT1B 265 +
chr8 37049308 37049428 L1PA4 1070 -
chr8 37049428 37050028 L1PA4 5285 +
chr8 37050031 37050175 MLT1B 1307 +
chr8 37050175 37050519 THE1B 1929 +
chr8 37050519 37050692 MLT1B 1307 +
chr8 37050885 37051853 LTR5_Hs 9034 -
chr8 37052583 37052916 HAL1 1377 +
chr8 37052916 37053106 MER5A 1044 +
chr8 37053106 37053261 HAL1 1377 +
chr8 37053261 37053882 MER73 3566 -
chr8 37053882 37054317 HAL1 1377 +
chr8 37054429 37054506 MER5A 333 -
chr8 37055247 37055268 AT_rich 21 +
chr8 37055271 37055576 AluSx3 2308 -
chr8 37055634 37056363 L1ME3D 1866 +
chr8 37056441 37057408 L1MEe 880 +
chr8 37057408 37057689 LTR41B 941 -
chr8 37057900 37058047 L1PA17 2316 +
chr8 37058047 37058092 (CAA)n 339 +
chr8 37058092 37058346 L1PA17 2316 +
chr8 37058391 37059004 ERVL-E-int 3377 -
chr8 37059004 37059333 MER2 1912 +
chr8 37059333 37059368 (TA)n 207 +
chr8 37059368 37059875 ERVL-E-int 3377 -
chr8 37059880 37060012 LTR41 399 -
chr8 37060211 37060399 LTR41 564 -
chr8 37060465 37060575 L1MEe 307 +
chr8 37060570 37060718 HAL1 514 +
chr8 37060844 37060975 HAL1 247 -
chr8 37061202 37061324 HAL1 444 -
chr8 37061516 37061638 AluSc 850 +
chr8 37061732 37062152 LTR16A1 1355 +
chr8 37062488 37062543 MIRc 224 -
chr8 37062543 37062848 AluSx1 2206 -
chr8 37062848 37062897 MIRc 224 -
chr8 37062968 37063066 MLT1H2 383 +
chr8 37063350 37063408 MIR 220 -
chr8 37063511 37063539 AT_rich 21 +
chr8 37067111 37068446 L1MB8 4523 +
chr8 37068446 37068475 (CAAA)n 221 +
chr8 37068475 37068989 L1MB8 4523 +
chr8 37069068 37069158 L1MB8 270 +
chr8 37069197 37069900 L1MB8 4186 +
chr8 37069900 37070049 AluJr 937 +
chr8 37070049 37071691 L1MB8 4186 +
chr8 37072743 37072850 MIR3 403 -
chr8 37073262 37073507 MER63A 417 -
chr8 37073576 37073718 MER103C 450 -
chr8 37073852 37074210 Tigger3a 2023 -
chr8 37074304 37074471 L2b 253 -
chr8 37074868 37074908 L2c 183 -
chr8 37075715 37075834 MIRb 291 +
chr8 37076525 37076821 Tigger15a 501 +
chr8 37076856 37077067 Tigger15a 653 +
chr8 37077598 37077762 MER5B 392 -
chr8 37077911 37078046 FLAM_C 896 +
chr8 37078182 37078315 FLAM_C 742 +
chr8 37079014 37079423 L4 532 -
187 changes: 187 additions & 0 deletions docs/assets/data/demo1.vcf
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
##fileformat=VCFv4.2
##FILTER=<ID=PASS,Description="All filters passed">
##source=DYSGU
##FILTER=<ID=lowProb,Description="Probability below threshold set with --thresholds">
##INFO=<ID=SVTYPE,Number=1,Type=String,Description="Type of structural variant">
##INFO=<ID=SVLEN,Number=1,Type=Integer,Description="Difference in length between REF and ALT alleles">
##INFO=<ID=END,Number=1,Type=Integer,Description="End position of the variant described in this record">
##INFO=<ID=CHR2,Number=1,Type=String,Description="Chromosome for END coordinate in case of a translocation">
##INFO=<ID=CHR2_POS,Number=1,Type=Integer,Description="Chromosome position for END coordinate in case of a translocation">
##INFO=<ID=GRP,Number=1,Type=Integer,Description="Group id for complex SVs">
##INFO=<ID=NGRP,Number=1,Type=Integer,Description="Number of SVs in group">
##INFO=<ID=RT,Number=1,Type=String,Description="Type of input reads, 1=paired-end, 2=pacbio, 3=nanopore">
##INFO=<ID=CT,Number=1,Type=String,Description="Paired-end signature induced connection type">
##INFO=<ID=CIPOS95,Number=1,Type=Integer,Description="Confidence interval size (95%) around POS for imprecise variants">
##INFO=<ID=CIEND95,Number=1,Type=Integer,Description="Confidence interval size (95%) around END for imprecise variants">
##INFO=<ID=SVMETHOD,Number=1,Type=String,Description="Type of approach used to detect SV">
##INFO=<ID=KIND,Number=1,Type=String,Description="Kind of join with respect to input regions">
##INFO=<ID=SU,Number=1,Type=Integer,Description="Number of pieces of evidence supporting the variant across all samples">
##INFO=<ID=WR,Number=1,Type=Integer,Description="Number of reads that have SV within-read">
##INFO=<ID=PE,Number=1,Type=Integer,Description="Number of paired-end reads supporting the variant across all samples">
##INFO=<ID=SR,Number=1,Type=Integer,Description="Number of supplementary reads supporting the variant across all samples">
##INFO=<ID=SC,Number=1,Type=Integer,Description="Number of soft-clip reads supporting the variant across all samples">
##INFO=<ID=BND,Number=1,Type=Integer,Description="Number of break-end alignments supporting the variant">
##INFO=<ID=CONTIGA,Number=1,Type=String,Description="Contig from CHROM POS">
##INFO=<ID=CONTIGB,Number=1,Type=String,Description="Contig from CHR2 END">
##INFO=<ID=GC,Number=1,Type=Float,Description="GC% of assembled contigs">
##INFO=<ID=REP,Number=1,Type=Float,Description="Repeat score for contigs aligned bases">
##INFO=<ID=REPSC,Number=1,Type=Float,Description="Repeat score for contigs soft-clipped bases">
##INFO=<ID=LPREC,Number=1,Type=Integer,Description="SV length precise=1, inferred=0">
##INFO=<ID=NEXP,Number=1,Type=Integer,Description="Number of expanded repeat bases at break">
##INFO=<ID=STRIDE,Number=1,Type=Integer,Description="Repeat expansion stride or period">
##INFO=<ID=EXPSEQ,Number=1,Type=String,Description="Expansion sequence">
##INFO=<ID=RPOLY,Number=1,Type=Integer,Description="Number of reference polymer bases">
##INFO=<ID=OL,Number=1,Type=Integer,Description="Query overlap in bp">
##INFO=<ID=SVINSSEQ,Number=.,Type=String,Description="Sequence of insertion">
##INFO=<ID=LEFT_SVINSSEQ,Number=.,Type=String,Description="Known left side of insertion for an insertion of unknown length">
##INFO=<ID=RIGHT_SVINSSEQ,Number=.,Type=String,Description="Known right side of insertion for an insertion of unknown length">
##INFO=<ID=MeanPROB,Number=1,Type=Float,Description="Mean probability of event being true across samples">
##INFO=<ID=MaxPROB,Number=1,Type=Float,Description="Max probability of event being true across samples">
##ALT=<ID=DEL,Description="Deletion">
##ALT=<ID=DUP,Description="Duplication">
##ALT=<ID=INV,Description="Inversion">
##ALT=<ID=TRA,Description="Translocation">
##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">
##FORMAT=<ID=GQ,Number=1,Type=Float,Description="Genotype quality phred scaled">
##FORMAT=<ID=NMP,Number=1,Type=Float,Description="Mean edit distance for primary alignments supporting the variant">
##FORMAT=<ID=NMS,Number=1,Type=Float,Description="Mean edit distance for supplementary alignments supporting the variant">
##FORMAT=<ID=NMB,Number=1,Type=Float,Description="Mean basic, edit distance. Gaps >= 30 bp are ignored">
##FORMAT=<ID=MAPQP,Number=1,Type=Float,Description="Mean MAPQ for primary reads supporting the variant">
##FORMAT=<ID=MAPQS,Number=1,Type=Float,Description="Mean MAPQ for supplementary reads supporting the variant">
##FORMAT=<ID=NP,Number=1,Type=Integer,Description="Number of alignments in normal-pair orientation supporting the variant">
##FORMAT=<ID=MAS,Number=1,Type=Integer,Description="Maximum alignment score of supplementary reads supporting the variant">
##FORMAT=<ID=SU,Number=1,Type=Integer,Description="Number of pieces of evidence supporting the variant">
##FORMAT=<ID=WR,Number=1,Type=Integer,Description="Number of reads that have SV within-read">
##FORMAT=<ID=PE,Number=1,Type=Integer,Description="Number of paired reads supporting the variant">
##FORMAT=<ID=SR,Number=1,Type=Integer,Description="Number of supplementary alignments supporting the variant">
##FORMAT=<ID=SC,Number=1,Type=Integer,Description="Number of soft-clipped alignments supporting the variant">
##FORMAT=<ID=BND,Number=1,Type=Integer,Description="Number of break-end alignments supporting the variant">
##FORMAT=<ID=SQC,Number=1,Type=Float,Description="Soft-clip quality value correlation between reads">
##FORMAT=<ID=SCW,Number=1,Type=Float,Description="Soft-clip quality weight value">
##FORMAT=<ID=SQR,Number=1,Type=Float,Description="Soft-clip base-quality ratio wrt to aligned bases">
##FORMAT=<ID=BE,Number=1,Type=Integer,Description="Block edge metric">
##FORMAT=<ID=COV,Number=1,Type=Float,Description="Mean read coverage +/- 10kb around break site at A or B">
##FORMAT=<ID=MCOV,Number=1,Type=Float,Description="Maximum read coverage +/- 10kb around break site at A or B">
##FORMAT=<ID=LNK,Number=1,Type=Integer,Description="Contig A and contig B overlap">
##FORMAT=<ID=NEIGH,Number=1,Type=Integer,Description="Number of other break points within 1 bp of break site">
##FORMAT=<ID=NEIGH10,Number=1,Type=Integer,Description="Number of other break points within 10 kp of break site">
##FORMAT=<ID=RB,Number=1,Type=Integer,Description="Number of reference bases in contigs">
##FORMAT=<ID=PS,Number=1,Type=Integer,Description="Number of reads on plus strand">
##FORMAT=<ID=MS,Number=1,Type=Integer,Description="Number of reads on minus strand">
##FORMAT=<ID=SBT,Number=1,Type=Float,Description="Strand-bias, one-sided binomial test p-value">
##FORMAT=<ID=NG,Number=1,Type=Float,Description="Mean number of small gaps < 30 bp">
##FORMAT=<ID=NSA,Number=1,Type=Float,Description="Mean number of SA tags per read">
##FORMAT=<ID=NXA,Number=1,Type=Float,Description="Mean number of XA tags per read">
##FORMAT=<ID=NMU,Number=1,Type=Float,Description="Mean number of mates unmapped per read">
##FORMAT=<ID=NDC,Number=1,Type=Integer,Description="Number of double-clips, alignments with left and right clips">
##FORMAT=<ID=RMS,Number=1,Type=Integer,Description="Remapping score">
##FORMAT=<ID=RED,Number=1,Type=Integer,Description="Remapping edit distance">
##FORMAT=<ID=BCC,Number=1,Type=Integer,Description="Bad soft-clip count within +/- 500 bp">
##FORMAT=<ID=FCC,Number=1,Type=Float,Description="Fold-coverage change for SVs">
##FORMAT=<ID=STL,Number=1,Type=Integer,Description="N reads with small TLEN below 0.05% of distribution">
##FORMAT=<ID=RAS,Number=1,Type=Integer,Description="Reverse soft-clip to alignment score">
##FORMAT=<ID=FAS,Number=1,Type=Integer,Description="Forward soft-clip to alignment score">
##FORMAT=<ID=ICN,Number=1,Type=Float,Description="Inner copy number">
##FORMAT=<ID=OCN,Number=1,Type=Float,Description="Outer copy number">
##FORMAT=<ID=CMP,Number=1,Type=Float,Description="Compression ratio of contigs">
##FORMAT=<ID=RR,Number=1,Type=Float,Description="Repeat score for reference">
##FORMAT=<ID=JIT,Number=1,Type=Float,Description="SV length jitter">
##FORMAT=<ID=PROB,Number=1,Type=Float,Description="Probability of event being true">
##contig=<ID=chrM,length=16571>
##contig=<ID=chr1,length=249250621>
##contig=<ID=chr2,length=243199373>
##contig=<ID=chr3,length=198022430>
##contig=<ID=chr4,length=191154276>
##contig=<ID=chr5,length=180915260>
##contig=<ID=chr6,length=171115067>
##contig=<ID=chr7,length=159138663>
##contig=<ID=chr8,length=146364022>
##contig=<ID=chr9,length=141213431>
##contig=<ID=chr10,length=135534747>
##contig=<ID=chr11,length=135006516>
##contig=<ID=chr12,length=133851895>
##contig=<ID=chr13,length=115169878>
##contig=<ID=chr14,length=107349540>
##contig=<ID=chr15,length=102531392>
##contig=<ID=chr16,length=90354753>
##contig=<ID=chr17,length=81195210>
##contig=<ID=chr18,length=78077248>
##contig=<ID=chr19,length=59128983>
##contig=<ID=chr20,length=63025520>
##contig=<ID=chr21,length=48129895>
##contig=<ID=chr22,length=51304566>
##contig=<ID=chrX,length=155270560>
##contig=<ID=chrY,length=59373566>
##contig=<ID=chr1_gl000191_random,length=106433>
##contig=<ID=chr1_gl000192_random,length=547496>
##contig=<ID=chr4_ctg9_hap1,length=590426>
##contig=<ID=chr4_gl000193_random,length=189789>
##contig=<ID=chr4_gl000194_random,length=191469>
##contig=<ID=chr6_apd_hap1,length=4622290>
##contig=<ID=chr6_cox_hap2,length=4795371>
##contig=<ID=chr6_dbb_hap3,length=4610396>
##contig=<ID=chr6_mann_hap4,length=4683263>
##contig=<ID=chr6_mcf_hap5,length=4833398>
##contig=<ID=chr6_qbl_hap6,length=4611984>
##contig=<ID=chr6_ssto_hap7,length=4928567>
##contig=<ID=chr7_gl000195_random,length=182896>
##contig=<ID=chr8_gl000196_random,length=38914>
##contig=<ID=chr8_gl000197_random,length=37175>
##contig=<ID=chr9_gl000198_random,length=90085>
##contig=<ID=chr9_gl000199_random,length=169874>
##contig=<ID=chr9_gl000200_random,length=187035>
##contig=<ID=chr9_gl000201_random,length=36148>
##contig=<ID=chr11_gl000202_random,length=40103>
##contig=<ID=chr17_ctg5_hap1,length=1680828>
##contig=<ID=chr17_gl000203_random,length=37498>
##contig=<ID=chr17_gl000204_random,length=81310>
##contig=<ID=chr17_gl000205_random,length=174588>
##contig=<ID=chr17_gl000206_random,length=41001>
##contig=<ID=chr18_gl000207_random,length=4262>
##contig=<ID=chr19_gl000208_random,length=92689>
##contig=<ID=chr19_gl000209_random,length=159169>
##contig=<ID=chr21_gl000210_random,length=27682>
##contig=<ID=chrUn_gl000211,length=166566>
##contig=<ID=chrUn_gl000212,length=186858>
##contig=<ID=chrUn_gl000213,length=164239>
##contig=<ID=chrUn_gl000214,length=137718>
##contig=<ID=chrUn_gl000215,length=172545>
##contig=<ID=chrUn_gl000216,length=172294>
##contig=<ID=chrUn_gl000217,length=172149>
##contig=<ID=chrUn_gl000218,length=161147>
##contig=<ID=chrUn_gl000219,length=179198>
##contig=<ID=chrUn_gl000220,length=161802>
##contig=<ID=chrUn_gl000221,length=155397>
##contig=<ID=chrUn_gl000222,length=186861>
##contig=<ID=chrUn_gl000223,length=180455>
##contig=<ID=chrUn_gl000224,length=179693>
##contig=<ID=chrUn_gl000225,length=211173>
##contig=<ID=chrUn_gl000226,length=15008>
##contig=<ID=chrUn_gl000227,length=128374>
##contig=<ID=chrUn_gl000228,length=129120>
##contig=<ID=chrUn_gl000229,length=19913>
##contig=<ID=chrUn_gl000230,length=43691>
##contig=<ID=chrUn_gl000231,length=27386>
##contig=<ID=chrUn_gl000232,length=40652>
##contig=<ID=chrUn_gl000233,length=45941>
##contig=<ID=chrUn_gl000234,length=40531>
##contig=<ID=chrUn_gl000235,length=34474>
##contig=<ID=chrUn_gl000236,length=41934>
##contig=<ID=chrUn_gl000237,length=45867>
##contig=<ID=chrUn_gl000238,length=39939>
##contig=<ID=chrUn_gl000239,length=33824>
##contig=<ID=chrUn_gl000240,length=41933>
##contig=<ID=chrUn_gl000241,length=42152>
##contig=<ID=chrUn_gl000242,length=43523>
##contig=<ID=chrUn_gl000243,length=43341>
##contig=<ID=chrUn_gl000244,length=39929>
##contig=<ID=chrUn_gl000245,length=36651>
##contig=<ID=chrUn_gl000246,length=38154>
##contig=<ID=chrUn_gl000247,length=36422>
##contig=<ID=chrUn_gl000248,length=39786>
##contig=<ID=chrUn_gl000249,length=38502>
##FILTER=<ID=normal,Description="SV has read support in a normal vcf or alignment file">
##FILTER=<ID=lowSupport,Description="Not enough supporting evidence / too many nuisance reads">
##command="/home/kez/.pixi/envs/dysgu/bin/dysgu filter --min-prob 0.25 DB53.dysgu.vcf"
#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT DB53_bwamem
chr8 37050886 86128 T <DEL> . PASS SVMETHOD=DYSGUv1.3.16;SVTYPE=DEL;END=37051854;CHR2=chr8;GRP=86128;NGRP=1;CT=3to5;CIPOS95=0;CIEND95=0;SVLEN=968;CONTIGA=AACCACCTGTCTGTGATATTATTTTATGGCAGCCCTAGCAAACTATCTCAATGTGTTAAAGCAGTATTCTATGTGAGGCTGGGAGAGATGGCAGAGAGATTAATTATTATTTTTGTCCATTCTGTGACCCAGAGTTTTTAGTATTTTCACATTATTAAAGCATTGTTCATTCTATCAGTTTCAACCGTGAACTGACTTAATTCAAATTAAATTACTGCATTTACAGATAATTGATTTTcatggaaatgtccagtgttcatcagcacgaaactttctaaccgttctttggtttacctagttcta;CONTIGB=atcagtttcaaccgtgaactgacttaattcaaattaaattactgcatttacagataattGATTTTCATGGAAATGTCCAGTGTTCATCAGCACGAAACTTTCTAACCGTTCTTTGGTTTACCTAGTTCTAGGCATGATAGATAATTCTAGATACCGAATATTATTCTTTCAAGTAATGAAATAGTCAACAAAGTGACAAAAATCAGTTTAGTGGCTACTTATCCATGGTCAAAGTCCTTATAAAGcCCTTTCAACTTTTTAAATGGGAGATACCTGCACACAAAGAATAACTAACATGCCACACTT;KIND=extra-regional;GC=33.83;NEXP=0;STRIDE=0;EXPSEQ;RPOLY=10;OL=0;SU=16;WR=0;PE=16;SR=0;SC=12;BND=0;LPREC=1;RT=pe GT:GQ:MAPQP:SU:WR:PE:SR:SC:BND:COV:NEIGH10:PS:MS:RMS:RED:BCC:FCC:ICN:OCN:PROB 1/1:40:60:16:0:16:0:12:0:18.51:1:16:16:0:0:25:0:0:0.708:0.895
Binary file added docs/assets/images/terminal_splash.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 10 additions & 1 deletion docs/docs/install/MacOS.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,16 @@ installers below, or head over to the GitHub [Releases page](https://github.com/
[GW Apple arm64 mac dmg installer](https://github.com/kcleal/gw/releases/download/v1.0.0/gw_macos_m1.dmg)


GW can be copied to your bin directory to make it available as a command-line tool:
To install the desktop app, open one of the dmg files above then drop GW into your Applications folder, then perform the
following:

- In the Finder on your Mac, locate the app you want to open.
Don’t use Launchpad to locate the app.
- Control-click the GW app icon, then choose Open from the shortcut menu.
- Click Open.


GW can also be copied to your bin directory if needs be to make it available as a command-line tool:
```shell
cp /Applications/gw.app/Contents/MacOS/gw /usr/local/bin
```
Expand Down
Loading
Loading