Example Recipe
Here is the example.json recipe file with comments:
{
"outputfiles": [
{
"fields": [
# for fields, the name must be a name that has been given in the tablelist section below
# these are often field names from the input datasets, but also can be fieldnames generated from actions
# newname is the fieldname that will be generated in the output file and replace the old field name
{
"newname": "gene_symbol",
"name": "Gene Symbol"
},
{
"newname": "uniprot_ac",
"name": "Uniprot AC"
},
{
"newname": "chr_num",
"name": "Chr Num"
},
{
"newname": "chr_pos",
"name": "Chr Pos"
},
{
"newname": "ref_nt",
"name": "Ref NT"
},
{
"newname": "alt_nt",
"name": "Alt NT"
}
],
# the tableid denotes what table from the tablelist will be used for this output file
"tableid": 3,
# the masterlistfilter field denotes the fieldname that is used as the primary field name for filtering
"masterlistfilterfield":"gene_symbol",
# the filepath gives the name and path for the outputfile
"filepath": "unreviewed/example_dataset.csv"
}
],
"tablelist": [
{
# every table in tablelist has a tableid, which can be referenced by other acgtions or the outputfile
"id": 1,
# input denotes we are taking a file in from the filepath listed
"type": "input",
# the separator denotes the structure of the input file
# here the separator is 'doublequote comma doublequote'
# so each line of the input file looks like this "a","b","c"
"separator": "\",\"",
# list of the fields in the inout file
"fields": [
"Uniprot AC",
"Chr Num",
"Chr Pos",
"Ref NT",
"Alt NT",
"EXAC Alt Frequency",
"1000 Genomes Alt Frequency"
],
"filepath": "downloads/example_mutations.csv"
},
{
# same as above for table '"id":1', but for a different input file
"id": 2,
"type": "input",
"separator": "\",\"",
"fields": [
"uniprot accession",
"Gene Symbol"
],
"filepath": "downloads/example_mapping.csv"
},
{
# this table performs an action
"id": 3,
# the type is output so it will be generating a new table based on the action used
"type": "output",
# the tables that are input to generate this new table.
# in this case our input files from tables 1 and 2
"inputtables":[1,2],
# what action will be taken to make the new table
"action":{
# the name gives the specific action to take
"name":"jointables",
# different actions have their own parameters.
# in this case the jointables action has only the parameter "anchorfields".
# specific details on actions are below in the README
"anchorfields":["Uniprot AC", "uniprot accession"]
},
}
]
}