Skip to contents

Sums two sigverse-style catalogues element-wise by their count values.

Usage

sig_add(catalogue1, catalogue2)

catalogue1 %+% catalogue2

Arguments

catalogue1, catalogue2

Two sigverse catalogue data.frames. See sigshared::example_catalogue(). Must have the same type and channel rows in the same order.

Value

A single sigverse catalogue data.frame with summed count and recomputed fraction values. See sigshared::example_catalogue().

Details

This operator provides a concise way to add two catalogues. For summing multiple catalogues, use sig_sum().

See also

sig_sum() for summing a collection of catalogues

Examples

library(sigstash)
signatures <- sig_load("COSMIC_v3.3.1_SBS_GRCh38")
cat1 <- sig_reconstruct(signatures[['SBS3']], n = 100)
cat2 <- sig_reconstruct(signatures[['SBS4']], n = 100)

# Add two catalogues
cat_sum <- cat1 %+% cat2

# Add multiple catalogues via repeated %+%
cat3 <- sig_reconstruct(signatures[['SBS5']], n = 100)
total <- cat1 %+% cat2 %+% cat3

# Addition two signatures using the full function name
sig_add(cat1, cat2)
#>     type channel     fraction      count
#> 193  C>A A[C>A]A 0.0316852428  6.3370486
#> 194  C>A A[C>A]C 0.0246663871  4.9332774
#> 195  C>A A[C>A]G 0.0089617550  1.7923510
#> 196  C>A A[C>A]T 0.0209639178  4.1927836
#> 197  C>G A[C>G]A 0.0133721770  2.6744354
#> 198  C>G A[C>G]C 0.0072011674  1.4402335
#> 199  C>G A[C>G]G 0.0007918276  0.1583655
#> 200  C>G A[C>G]T 0.0105311931  2.1062386
#> 201  C>T A[C>T]A 0.0115167220  2.3033444
#> 202  C>T A[C>T]C 0.0082115956  1.6423191
#> 203  C>T A[C>T]G 0.0017317059  0.3463412
#> 204  C>T A[C>T]T 0.0082189911  1.6437982
#> 205  T>A A[T>A]A 0.0074307236  1.4861447
#> 206  T>A A[T>A]C 0.0053924863  1.0784973
#> 207  T>A A[T>A]G 0.0109874071  2.1974814
#> 208  T>A A[T>A]T 0.0051475377  1.0295075
#> 209  T>C A[T>C]A 0.0121845054  2.4369011
#> 210  T>C A[T>C]C 0.0042550534  0.8510107
#> 211  T>C A[T>C]G 0.0086239839  1.7247968
#> 212  T>C A[T>C]T 0.0094066639  1.8813328
#> 213  T>G A[T>G]A 0.0024916663  0.4983333
#> 214  T>G A[T>G]C 0.0013852076  0.2770415
#> 215  T>G A[T>G]G 0.0038483164  0.7696633
#> 216  T>G A[T>G]T 0.0020878086  0.4175617
#> 217  C>A C[C>A]A 0.0513222888 10.2644578
#> 218  C>A C[C>A]C 0.0518671712 10.3734342
#> 219  C>A C[C>A]G 0.0135561148  2.7112230
#> 220  C>A C[C>A]T 0.0419744130  8.3948826
#> 221  C>G C[C>G]A 0.0134907726  2.6981545
#> 222  C>G C[C>G]C 0.0103577956  2.0715591
#> 223  C>G C[C>G]G 0.0024591768  0.4918354
#> 224  C>G C[C>G]T 0.0144806181  2.8961236
#> 225  C>T C[C>T]A 0.0143216036  2.8643207
#> 226  C>T C[C>T]C 0.0156578081  3.1315616
#> 227  C>T C[C>T]G 0.0027853444  0.5570689
#> 228  C>T C[C>T]T 0.0193943111  3.8788622
#> 229  T>A C[T>A]A 0.0111692890  2.2338578
#> 230  T>A C[T>A]C 0.0150437757  3.0087551
#> 231  T>A C[T>A]G 0.0228492260  4.5698452
#> 232  T>A C[T>A]T 0.0123289921  2.4657984
#> 233  T>C C[T>C]A 0.0070042011  1.4008402
#> 234  T>C C[T>C]C 0.0084541885  1.6908377
#> 235  T>C C[T>C]G 0.0077992229  1.5598446
#> 236  T>C C[T>C]T 0.0092386160  1.8477232
#> 237  T>G C[T>G]A 0.0026196033  0.5239207
#> 238  T>G C[T>G]C 0.0037511770  0.7502354
#> 239  T>G C[T>G]G 0.0072441573  1.4488315
#> 240  T>G C[T>G]T 0.0041412799  0.8282560
#> 241  C>A G[C>A]A 0.0194053575  3.8810715
#> 242  C>A G[C>A]C 0.0225826855  4.5165371
#> 243  C>A G[C>A]G 0.0084490501  1.6898100
#> 244  C>A G[C>A]T 0.0155532679  3.1106536
#> 245  C>G G[C>G]A 0.0090128835  1.8025767
#> 246  C>G G[C>G]C 0.0071054154  1.4210831
#> 247  C>G G[C>G]G 0.0028885580  0.5777116
#> 248  C>G G[C>G]T 0.0088426046  1.7685209
#> 249  C>T G[C>T]A 0.0102651909  2.0530382
#> 250  C>T G[C>T]C 0.0088247027  1.7649405
#> 251  C>T G[C>T]G 0.0005100333  0.1020067
#> 252  C>T G[C>T]T 0.0075317776  1.5063555
#> 253  T>A G[T>A]A 0.0080922427  1.6184485
#> 254  T>A G[T>A]C 0.0055197439  1.1039488
#> 255  T>A G[T>A]G 0.0124071338  2.4814268
#> 256  T>A G[T>A]T 0.0090381390  1.8076278
#> 257  T>C G[T>C]A 0.0064018160  1.2803632
#> 258  T>C G[T>C]C 0.0033974373  0.6794875
#> 259  T>C G[T>C]G 0.0066652650  1.3330530
#> 260  T>C G[T>C]T 0.0055560292  1.1112058
#> 261  T>G G[T>G]A 0.0024940752  0.4988150
#> 262  T>G G[T>G]C 0.0012917057  0.2583411
#> 263  T>G G[T>G]G 0.0066954064  1.3390813
#> 264  T>G G[T>G]T 0.0030845823  0.6169165
#> 265  C>A T[C>A]A 0.0242496615  4.8499323
#> 266  C>A T[C>A]C 0.0319822393  6.3964479
#> 267  C>A T[C>A]G 0.0062876460  1.2575292
#> 268  C>A T[C>A]T 0.0258991395  5.1798279
#> 269  C>G T[C>G]A 0.0084896959  1.6979392
#> 270  C>G T[C>G]C 0.0131782627  2.6356525
#> 271  C>G T[C>G]G 0.0012002988  0.2400598
#> 272  C>G T[C>G]T 0.0135767913  2.7153583
#> 273  C>T T[C>T]A 0.0047781278  0.9556256
#> 274  C>T T[C>T]C 0.0101863896  2.0372779
#> 275  C>T T[C>T]G 0.0006486058  0.1297212
#> 276  C>T T[C>T]T 0.0077738087  1.5547617
#> 277  T>A T[T>A]A 0.0076015347  1.5203069
#> 278  T>A T[T>A]C 0.0075483505  1.5096701
#> 279  T>A T[T>A]G 0.0081893718  1.6378744
#> 280  T>A T[T>A]T 0.0093487214  1.8697443
#> 281  T>C T[T>C]A 0.0086973504  1.7394701
#> 282  T>C T[T>C]C 0.0048381744  0.9676349
#> 283  T>C T[T>C]G 0.0043690352  0.8738070
#> 284  T>C T[T>C]T 0.0072978831  1.4595766
#> 285  T>G T[T>G]A 0.0037668159  0.7533632
#> 286  T>G T[T>G]C 0.0032893109  0.6578622
#> 287  T>G T[T>G]G 0.0052257309  1.0451462
#> 288  T>G T[T>G]T 0.0055567613  1.1113523

# Alternatively, use sig_sum for a list of catalogues
catalogues <- list(cat1 = cat1, cat2 = cat2, cat3 = cat3)
total2 <- sig_sum(catalogues)