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.