Process Tables
For each numerical values Xi of a table, this software perform the transformation f(Xi). This software is multithreaded at the file level (see command line options).
This software has been designed for multi-core computers with lot of RAM since the tables are loaded in memory. For very large tables or old computers, you can modifiy Log2 transformation.
Manual :
1- install Julia free programming language and install packages :
ArgParse : Pkg.add("ArgParse")
DataFrames : Pkg.add("DataFrames")
2- unzip the software
3- copy your n tables in csv (TAB delimitated by default) files in the “data” directory.
- first line of the table : column names by default
- next lines : values
- first column : row names by default
The software accept NA or NaN values
4- execute the software by the command : julia software_name
To change the function f(x), edit process_table-001.jl :
###########################
# EDIT THIS PART
###########################
# for decimal numbers
function f(x::Float64)
# y = x^2 # x*x
# y = x+10.3265 # x+10
y = log2(x)
return y
end
# for integer numbers
function f(x::Int64)
# y = x^2 # x*x
# y = x+10.3265 # x+10
y = log2(x)
return y
end
############## Software options #############
usage: main_process_table_001.jl [-s SEP] [-c CPU] [--noh] [-h]
optional arguments:
-s, --sep SEP separator for CSV tables (default: '\t')
-c, --cpu CPU number of cpu (type: Int64, default: 1)
--noh no header
-h, --help show this help message and exit
known issues : the final table have to be of the same type than the start table. For example if the initial table have only integers, f(x) have to produce integers.