Skip to content

Commit 9e0894b

Browse files
authored
Merge pull request #46 from AlexandrovLab/development
Development
2 parents 3095567 + cf1ccae commit 9e0894b

File tree

6 files changed

+82
-76
lines changed

6 files changed

+82
-76
lines changed

README.md

Lines changed: 21 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Unzip the contents of SigProfilerExtractor-master.zip or the zip file of a corre
2828
$ cd SigProfilerAssignment-master
2929
$ pip install .
3030
```
31-
## Signature Subtypes
31+
## Signature Subgroups
3232
```python
3333
exclude_signature_subgroups = ['remove_MMR_deficiency_signatures',
3434
'remove_POL_deficiency_signatures',
@@ -47,22 +47,22 @@ exclude_signature_subgroups = ['remove_MMR_deficiency_signatures',
4747
```
4848

4949

50-
| Signature Subgroup | SBS Signatures that are excluded |
51-
| ----------- | ----------- |
52-
|MMR_deficiency_signatures| 6, 14, 15, 20, 21, 26, 44|
53-
|POL_deficiency_signatures| 10a, 10b, 10c, 10d, 28|
54-
|HR_deficiency_signatures| 3|
55-
|BER_deficiency_signatures| 30, 36|
56-
|Chemotherapy_signatures| 11, 25, 31, 35, 86, 87, 90|
57-
|Immunosuppressants_signatures| 32|
58-
|Treatment_signatures| 11, 25, 31, 32, 35, 86, 87, 90|
59-
|APOBEC_signatures| 2, 13|
60-
|Tobacco_signatures |4, 29, 92|
61-
|UV_signatures| 7a, 7b, 7c, 7d, 38|
62-
|AA_signatures| 22|
63-
|Colibactin_signatures| 88|
64-
|Artifact_signatures| 27, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 95|
65-
|Lymphoid_signatures| 9, 84, 85|
50+
|Signature subgroup | SBS signatures excluded | DBS signatures excluded | ID signatures excluded |
51+
| ----------- | ----------- | ----------- | ----------- |
52+
|MMR_deficiency_signatures| 6, 14, 15, 20, 21, 26, 44| 7, 10| 7|
53+
|POL_deficiency_signatures| 10a, 10b, 10c, 10d, 28| 3| -|
54+
|HR_deficiency_signatures| 3| -| 6|
55+
|BER_deficiency_signatures| 30, 36| -| -|
56+
|Chemotherapy_signatures| 11, 25, 31, 35, 86, 87, 90| 5| -|
57+
|Immunosuppressants_signatures| 32| -| -|
58+
|Treatment_signatures| 11, 25, 31, 32, 35, 86, 87, 90| 5| -|
59+
|APOBEC_signatures| 2, 13| -| -|
60+
|Tobacco_signatures | 4, 29, 92| 2| 3|
61+
|UV_signatures| 7a, 7b, 7c, 7d, 38| 1| 13|
62+
|AA_signatures| 22| -| -|
63+
|Colibactin_signatures| 88| -| 18|
64+
|Artifact_signatures| 27, 43, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 95|-|-|
65+
|Lymphoid_signatures| 9, 84, 85| -| -|
6666

6767
<!--
6868
```python
@@ -132,10 +132,11 @@ Analyze.cosmic_fit( samples,
132132
| **genome_build** | String | The reference genome build. List of supported genomes: "GRCh37", "GRCh38", "mm9", "mm10" and "rn6". The default value is "GRCh37". If the selected genome is not in the supported list, the default genome will be used. |
133133
| **cosmic_version** | Float | Takes a positive float among 1, 2, 3, 3.1, 3.2 and 3.3. Defines the version of the COSMIC reference signatures. The default value is 3.3. |
134134
| **new_signature_thresh_hold**| Float | Parameter in cosine similarity to declare a new signature. Applicable for decompose_fit only. The default value is 0.8. |
135-
| **make_plots** | Boolean | Toggle on and off for making and saving all plots. Default value is True. |
136-
| **exclude_signature_subgroups** | List | Removes the signatures corresponding to specific subtypes for better fitting. The usage is given above. Default value is None. |
135+
| **exclude_signature_subgroups** | List | Removes the signatures corresponding to specific subtypes for better fitting. The usage is given above. The default value is None. |
137136
| **exome** | Boolean | Defines if the exome renormalized signatures will be used. The default value is False. |
138-
| **verbose** | Boolean | Prints statements. Default value is False. |
137+
| **export_probabilities** | Boolean | Defines if the probability matrix is created. The default value is True. |
138+
| **make_plots** | Boolean | Toggle on and off for making and saving all plots. The default value is True. |
139+
| **verbose** | Boolean | Prints statements. The default value is False. |
139140

140141

141142

SigProfilerAssignment/Analyzer.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
from SigProfilerAssignment import decomposition as decomp
22

3-
def decompose_fit(samples, output, signatures=None, signature_database=None,nnls_add_penalty=0.05, nnls_remove_penalty=0.01, initial_remove_penalty=0.05,genome_build="GRCh37", cosmic_version=3.3, make_plots=True, collapse_to_SBS96=True,connected_sigs=True, verbose=False,devopts=None,new_signature_thresh_hold=0.8,exclude_signature_subgroups=None,exome=False,input_type='matrix',context_type="96"):
3+
def decompose_fit(samples, output, signatures=None, signature_database=None,nnls_add_penalty=0.05, nnls_remove_penalty=0.01, initial_remove_penalty=0.05,genome_build="GRCh37", cosmic_version=3.3, make_plots=True, collapse_to_SBS96=True,connected_sigs=True, verbose=False,devopts=None,new_signature_thresh_hold=0.8,exclude_signature_subgroups=None,exome=False,input_type='matrix',context_type="96",export_probabilities=True):
44

5-
decomp.spa_analyze(samples=samples, output=output, signatures=signatures, signature_database=signature_database,nnls_add_penalty=nnls_add_penalty, nnls_remove_penalty=nnls_remove_penalty, initial_remove_penalty=initial_remove_penalty,genome_build=genome_build, cosmic_version=cosmic_version, make_plots=make_plots, collapse_to_SBS96=collapse_to_SBS96,connected_sigs=connected_sigs, verbose=verbose,decompose_fit_option= True,denovo_refit_option=False,cosmic_fit_option=False,devopts=devopts,new_signature_thresh_hold=new_signature_thresh_hold,exclude_signature_subgroups=exclude_signature_subgroups,exome=exome,input_type=input_type,context_type=context_type)
5+
decomp.spa_analyze(samples=samples, output=output, signatures=signatures, signature_database=signature_database,nnls_add_penalty=nnls_add_penalty, nnls_remove_penalty=nnls_remove_penalty, initial_remove_penalty=initial_remove_penalty,genome_build=genome_build, cosmic_version=cosmic_version, make_plots=make_plots, collapse_to_SBS96=collapse_to_SBS96,connected_sigs=connected_sigs, verbose=verbose,decompose_fit_option= True,denovo_refit_option=False,cosmic_fit_option=False,devopts=devopts,new_signature_thresh_hold=new_signature_thresh_hold,exclude_signature_subgroups=exclude_signature_subgroups,exome=exome,input_type=input_type,context_type=context_type,export_probabilities=export_probabilities)
66

7-
def denovo_fit(samples, output, signatures=None, signature_database=None,nnls_add_penalty=0.05,nnls_remove_penalty=0.01, initial_remove_penalty=0.05, genome_build="GRCh37", cosmic_version=3.3, make_plots=True, collapse_to_SBS96=True,connected_sigs=True, verbose=False,devopts=None,new_signature_thresh_hold=0.8,input_type='matrix',context_type="96"):
8-
decomp.spa_analyze(samples=samples, output=output, signatures=signatures, signature_database=signature_database,nnls_add_penalty=nnls_add_penalty, nnls_remove_penalty=nnls_remove_penalty, initial_remove_penalty=initial_remove_penalty,genome_build=genome_build, cosmic_version=cosmic_version, new_signature_thresh_hold=new_signature_thresh_hold, make_plots=make_plots, collapse_to_SBS96=collapse_to_SBS96,connected_sigs=connected_sigs, verbose=verbose,decompose_fit_option= False,denovo_refit_option=True,cosmic_fit_option=False,devopts=devopts,input_type=input_type,context_type=context_type)
7+
def denovo_fit(samples, output, signatures=None, signature_database=None,nnls_add_penalty=0.05,nnls_remove_penalty=0.01, initial_remove_penalty=0.05, genome_build="GRCh37", cosmic_version=3.3, make_plots=True, collapse_to_SBS96=True,connected_sigs=True, verbose=False,devopts=None,new_signature_thresh_hold=0.8,input_type='matrix',context_type="96",export_probabilities=True):
8+
decomp.spa_analyze(samples=samples, output=output, signatures=signatures, signature_database=signature_database,nnls_add_penalty=nnls_add_penalty, nnls_remove_penalty=nnls_remove_penalty, initial_remove_penalty=initial_remove_penalty,genome_build=genome_build, cosmic_version=cosmic_version, new_signature_thresh_hold=new_signature_thresh_hold, make_plots=make_plots, collapse_to_SBS96=collapse_to_SBS96,connected_sigs=connected_sigs, verbose=verbose,decompose_fit_option= False,denovo_refit_option=True,cosmic_fit_option=False,devopts=devopts,input_type=input_type,context_type=context_type,export_probabilities=export_probabilities)
99

10-
def cosmic_fit(samples, output, signatures=None, signature_database=None,nnls_add_penalty=0.05, nnls_remove_penalty=0.01, initial_remove_penalty=0.05,genome_build="GRCh37", cosmic_version=3.3, make_plots=True, collapse_to_SBS96=True,connected_sigs=True, verbose=False,devopts=None,exclude_signature_subgroups=None,exome=False,input_type='matrix',context_type="96"):
11-
decomp.spa_analyze(samples=samples, output=output, signatures=signatures, signature_database=signature_database,nnls_add_penalty=nnls_add_penalty, nnls_remove_penalty=nnls_remove_penalty, initial_remove_penalty=initial_remove_penalty,genome_build=genome_build, cosmic_version=cosmic_version, make_plots=make_plots, collapse_to_SBS96=collapse_to_SBS96,connected_sigs=connected_sigs, verbose=verbose,decompose_fit_option= False,denovo_refit_option=False,cosmic_fit_option=True,devopts=devopts,exclude_signature_subgroups=exclude_signature_subgroups,exome=exome,input_type=input_type,context_type=context_type)
10+
def cosmic_fit(samples, output, signatures=None, signature_database=None,nnls_add_penalty=0.05, nnls_remove_penalty=0.01, initial_remove_penalty=0.05,genome_build="GRCh37", cosmic_version=3.3, make_plots=True, collapse_to_SBS96=True,connected_sigs=True, verbose=False,devopts=None,exclude_signature_subgroups=None,exome=False,input_type='matrix',context_type="96",export_probabilities=True):
11+
decomp.spa_analyze(samples=samples, output=output, signatures=signatures, signature_database=signature_database,nnls_add_penalty=nnls_add_penalty, nnls_remove_penalty=nnls_remove_penalty, initial_remove_penalty=initial_remove_penalty,genome_build=genome_build, cosmic_version=cosmic_version, make_plots=make_plots, collapse_to_SBS96=collapse_to_SBS96,connected_sigs=connected_sigs, verbose=verbose,decompose_fit_option= False,denovo_refit_option=False,cosmic_fit_option=True,devopts=devopts,exclude_signature_subgroups=exclude_signature_subgroups,exome=exome,input_type=input_type,context_type=context_type,export_probabilities=export_probabilities)

SigProfilerAssignment/decompose_subroutines.py

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ def get_items_from_index(x,y):
169169
pass
170170
return z
171171

172-
def signature_decomposition(signatures, mtype, directory, genome_build="GRCh37", cosmic_version=3.3,signature_database=None, add_penalty=0.05, remove_penalty=0.01, mutation_context=None, connected_sigs=True, make_decomposition_plots=True, originalProcessAvg=None,new_signature_thresh_hold=0.8,sig_exclusion_list=[],exome=False):
172+
def signature_decomposition(signatures, mtype, directory, genome_build="GRCh37", cosmic_version=3.3,signature_database=None, add_penalty=0.05, remove_penalty=0.01, mutation_context=None, connected_sigs=True, make_decomposition_plots=True, originalProcessAvg=None,new_signature_thresh_hold=0.8,sig_exclusion_list=[],exome=False, m_for_subgroups='SBS'):
173173

174174
originalProcessAvg = originalProcessAvg.reset_index()
175175
if not os.path.exists(directory+"/Solution_Stats"):
@@ -236,7 +236,7 @@ def signature_decomposition(signatures, mtype, directory, genome_build="GRCh37",
236236
except:
237237
sys.exit("Wrong format of signature database for decompose_fit, Please pass a text file of signatures in the format of COSMIC sig database")
238238

239-
sig_exclusion_list= ['SBS'+items for items in sig_exclusion_list]
239+
sig_exclusion_list= [m_for_subgroups+items for items in sig_exclusion_list]
240240
lognote.write("The following signatures are excluded: "+" ".join(str(item) for item in sig_exclusion_list))
241241
sigDatabase.drop(sig_exclusion_list, axis=1, inplace=True,errors='ignore')
242242
signames=sigDatabase.columns
@@ -772,19 +772,21 @@ def make_final_solution(processAvg, allgenomes, allsigids, layer_directory, m, i
772772
else:
773773
custom_signatures_plot(processes, layer_directory+"/Signatures")
774774

775-
probability = probabilities(processAvg, exposureAvg, index, allsigids, allcolnames)
776-
probability=probability.set_index("Sample Names" )
775+
if export_probabilities==True:
776+
777+
probability = probabilities(processAvg, exposureAvg, index, allsigids, allcolnames)
778+
probability=probability.set_index("Sample Names" )
779+
780+
if cosmic_sigs==False:
781+
782+
if refit_denovo_signatures==True:
783+
probability.to_csv(layer_directory+"/Activities"+"/"+"De_Novo_Mutation_Probabilities_refit.txt", "\t")
784+
else:
785+
probability.to_csv(layer_directory+"/Activities"+"/"+"De_Novo_Mutation_Probabilities.txt", "\t")
786+
if cosmic_sigs==True:
787+
probability.to_csv(layer_directory+"/Activities"+"/"+"Decomposed_Mutation_Probabilities.txt", "\t")
777788

778-
if cosmic_sigs==False:
779-
780-
if refit_denovo_signatures==True:
781-
probability.to_csv(layer_directory+"/Activities"+"/"+"De_Novo_Mutation_Probabilities_refit.txt", "\t")
782-
else:
783-
probability.to_csv(layer_directory+"/Activities"+"/"+"De_Novo_Mutation_Probabilities.txt", "\t")
784-
if cosmic_sigs==True:
785-
probability.to_csv(layer_directory+"/Activities"+"/"+"Decomposed_Mutation_Probabilities.txt", "\t")
786789

787-
788790
return exposures
789791
################################################################### FUNCTION ONE ###################################################################
790792
#function to calculate multiple similarities/distances

0 commit comments

Comments
 (0)