====== Calculator ======
Calculator lets you write python scripts to manipulate freely viewed data.
1) To open the calculator, click on the calculator icon (not available on all views for the moment)
On the left part of the calculator, you can access to all viewed data, double click to add a table or a column to the script.
2) Write your python script on the text area
3) Execute it by clicking on the green Arrow.
4) When the script has been executed, the results of the calculations (variables, new columns) are available in the "Results" tab. Double click on a new column to add it to the table. Or like in the example, directly add the column to the table programmatically.
{{:how_to:studio:calculatorV2.png}}
==== Examples ====
=== Script to calculate a log column ===
#### Algorithm to calculate the logarithm of a column ####
# get the Table 3 which corresponds to table newSC Quanti Protein Set
t = Table.get(3)
# get the constant column 10 of the table t ( Specific SC column)
# mutable() is called to be able to modify data
specificSCCol = t[10].mutable()
# number of rows of the column
nb = len(specificSCCol)
# loop on the data of the column
for i in range (0,nb):
# calculate the log (NaN values for errors)
v = specificSCCol[i]
if v <= 0:
specificSCCol[i] = float('NaN')
else:
specificSCCol[i] = math.log(v)
# set the column name which will be used to the user
specificSCCol.setColumnName("log(specificSC)")
# add the created column to the table t
t.addColumn(specificSCCol)
=== Script to perform a difference and a mean between two columns ===
#### Algorithm to perform a difference and a mean between two columns ####
t = Table.get(9)
colAbundance1 = t[3]
colAbundance2 = t[5]
# difference between two columns
colDiff = colAbundance1-colAbundance2
# set the name of the column
colDiff.setColumnName("diff")
# mean between two columns
colMean = (colAbundance1+colAbundance2)/2
# set the name of the column
colMean.setColumnName("mean")
# add columns to the table
t.addColumn(colDiff)
t.addColumn(colMean)
=== Script to perform a perform a pvalue and a ttd on a XIC quantitation table ===
#### Algorithm to perform a pvalue and a ttd on abundances column of a XIC quantitation ####
t = Table.get(1)
pvalueCol = Stats.pvalue( (t[2], t[3]), (t[4],t[5]) )
ttdCol = Stats.ttd( (t[2], t[3]), (t[4],t[5]) )
pvalueCol.setColumnName("pvalue")
ttdCol.setColumnName("ttd")
t.addColumn(pvalueCol)
t.addColumn(ttdCol)