comparison process_intensities.xml @ 3:4f5abe01531c draft

planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/mti-utils commit 4d6008b58593174b87c9d9cf50c79ddfafda7637
author goeckslab
date Fri, 10 May 2024 17:52:26 +0000
parents 7f93f472a242
children 5d541df02496
comparison
equal deleted inserted replaced
2:7f93f472a242 3:4f5abe01531c
23 cwd = os.getcwd() 23 cwd = os.getcwd()
24 quant = pd.read_csv(os.path.join(cwd, 'quant.csv'), index_col = 0) 24 quant = pd.read_csv(os.path.join(cwd, 'quant.csv'), index_col = 0)
25 marker_df = pd.read_csv('$channel_csv') 25 marker_df = pd.read_csv('$channel_csv')
26 26
27 markers_to_normalize = marker_df['marker_name'].to_list() 27 markers_to_normalize = marker_df['marker_name'].to_list()
28
29 #if $AF_method.select_method == 'SBR':
30 AF_markers = [x for x in list(marker_df['${AF_method.AF_col}'].unique()) if x != 'None']
31 print(f'Detected {quant[AF_markers].eq(0.0).any(axis=1).sum()} cells with AF values of zero in the dataset')
32
33 #if $AF_filter == 'filter':
34 pre_filter_count = len(quant)
35 quant = quant.loc[quant[AF_markers].ne(0.0).any(axis=1),:]
36 print(f'Filtered out {pre_filter_count - len(quant)} cells that had AF values of 0.0')
37
38 #elif $AF_filter == 'clip':
39 print('Clipping all AF values equal to 0.0 to the minimum non-zero AF value')
40 for af in AF_markers:
41 quant[af] = quant[af].clip(lower = quant[af][quant[af].ne(0.0)].min())
42
43 #end if
44 #end if
28 45
29 for marker in markers_to_normalize: 46 for marker in markers_to_normalize:
30 47
31 #if $exp.exposure == 'correct_exposure': 48 #if $exp.exposure == 'correct_exposure':
32 exp_time = marker_df.loc[marker_df['marker_name'] == marker, '${exp.exp_col}'].values[0] 49 exp_time = marker_df.loc[marker_df['marker_name'] == marker, '${exp.exp_col}'].values[0]
72 <when value="subtract"> 89 <when value="subtract">
73 <param name="AF_col" type="text" value="AF_channel" label="Name of column in markers file containing respective AF channel for each marker" /> 90 <param name="AF_col" type="text" value="AF_channel" label="Name of column in markers file containing respective AF channel for each marker" />
74 </when> 91 </when>
75 <when value="SBR"> 92 <when value="SBR">
76 <param name="AF_col" type="text" value="AF_channel" label="Name of column in markers file containing respective AF channel for each marker" /> 93 <param name="AF_col" type="text" value="AF_channel" label="Name of column in markers file containing respective AF channel for each marker" />
94 <param name="AF_filter" type="select" label="Select whether to clip or filter out AF values equal to 0">
95 <option value="clip">Clip autofluorescence values of 0.0 to the minimum non-zero autofluorescence value</option>
96 <option value="filter">Filter out cells with autofluorescence values equal to 0.0</option>
97 </param>
77 </when> 98 </when>
78 </conditional> 99 </conditional>
79 </inputs> 100 </inputs>
80 <outputs> 101 <outputs>
81 <data name="processed_quant" from_work_dir="processed_quant.csv" format="csv"/> 102 <data name="processed_quant" from_work_dir="processed_quant.csv" format="csv"/>
87 <conditional name="exp"> 108 <conditional name="exp">
88 <param name="exposure" value="correct_exposure" /> 109 <param name="exposure" value="correct_exposure" />
89 </conditional> 110 </conditional>
90 <conditional name="AF_method"> 111 <conditional name="AF_method">
91 <param name="select_method" value="SBR" /> 112 <param name="select_method" value="SBR" />
113 <param name="AF_filter" value="clip" />
92 </conditional> 114 </conditional>
93 <output name="processed_quant" ftype="csv"> 115 <output name="processed_quant" ftype="csv">
94 <assert_contents> 116 <assert_contents>
95 <has_n_columns n="15" sep="," /> 117 <has_n_columns n="15" sep="," />
96 <has_n_lines n="15" /> 118 <has_n_lines n="15" />