jasmine_amir@9: #!/dep/_conda/bin/python jasmine_amir@0: # coding: utf-8 jasmine_amir@0: ########################################################### jasmine_amir@0: ########################################################### jasmine_amir@0: ## Jasmine Amirzadegan jasmine_amir@0: ## 2022 APRIL 14 jasmine_amir@0: ########################################################### jasmine_amir@0: ## SNRQC.py: jasmine_amir@0: ## compute QC metrics specific to SSQuAWK v4 + workflows jasmine_amir@0: ## usage: python SNRQC.py intermediateSSQuAWKfile.txt jasmine_amir@0: ## python 3.7 jasmine_amir@0: ########################################################### jasmine_amir@0: import pandas as pd jasmine_amir@0: import sys jasmine_amir@0: jasmine_amir@0: fn = sys.argv[1] jasmine_amir@0: df = pd.read_csv(fn, sep = "\t", header = 0) jasmine_amir@0: jasmine_amir@0: jasmine_amir@0: jasmine_amir@0: if (df['Sample'].str.contains('negativeControl')).any(): jasmine_amir@0: m = df.loc[ (df['Sample'].str.contains('negativeControl')) ] jasmine_amir@0: noise = m['readsAlignPassFilt'] jasmine_amir@0: SNR = [] jasmine_amir@0: jasmine_amir@0: for i in df['readsAlignPassFilt']: jasmine_amir@0: SNR.append(i/noise.item()) jasmine_amir@0: #[float(j) for j in SNR] jasmine_amir@0: df['SNR'] = SNR jasmine_amir@0: jasmine_amir@0: else: jasmine_amir@0: df['SNR'] = "NA" jasmine_amir@0: jasmine_amir@0: #print(df) jasmine_amir@0: #fn1 = fn.split("/")[1] jasmine_amir@0: #df.to_csv('test-data/snrqk_result' + fn1 + '.tsv', sep="\t") jasmine_amir@0: df.to_csv('snrqk_result.tsv', sep='\t')