Third Party Server ****************** Configuration ============= The Third Party Server must provide at least 2 scripts : - one to get a public RSA Key for a Session - one to launch a series of Association Tests GetPublicRSAKey --------------- Example For Simple Unix based System: .. code-block:: bash #!/bin/bash if [ $# -lt 1 ] then echo -e "usage :\t$0 SessionID"; exit 1; fi installDir=/path/to/PrivAS/WorkingDirectory jar=/path/to/PrivAS.TPS.VERSION.jar java -jar $jar --keygen $installDir/sessions $1 LaunchAssociationTest --------------------- Example For Simple Unix based System: .. code-block:: bash #!/bin/bash if [ $# -lt 1 ] then echo -e "usage :\t$0 SessionID"; exit 1; fi session=$1 installDir=/path/to/PrivAS/WorkingDirectory jar=/path/to/PrivAS.TPS.VERSION.jar core=24 seed="random" #random seed for Production #seed="123456789" #fixed seed for Debugging d=`date +"%Y-%m-%d"`; log=$installDir/log/$d.log mkdir -p $installDir/sessions/$session; status=$installDir/sessions/$session/tps.status; epoch=`date +%s`000; echo -e "$epoch\tPENDING\tJob submitted from $HOSTNAME" >> $status; java -jar $jar "$session" "$installDir" "$core" "$seed" &>> $log PrivAS TPS's Command Lines ========================== Main Command ------------ Launch the Third-Party Server (should be called by the provided script, to manage scheduler issues) ................................................................................................... .. code-block:: bash java -jar PrivAS.TPS.jar Session_ID Work_Directory Integer Long +----------------+----------------------------------------------------------------------------+ | Session_ID | the session ID used to generate the key pair | +----------------+----------------------------------------------------------------------------+ | Work_Directory | The path to the directory where the keys will be stored | +----------------+----------------------------------------------------------------------------+ | Integer | Number of cores (actually threads) to use | +----------------+----------------------------------------------------------------------------+ | Long | Initial seed for the random number generator (or "random" for random seed) | +----------------+----------------------------------------------------------------------------+ Tools ----- Generate a keypair for the Third-Party Server ............................................. .. code-block:: bash java -jar PrivAS.TPS.jar --keygen Work_Directory Session_ID +----------------+---------------------------------------------------------+ | Work_Directory | The path to the directory where the keys will be stored | +----------------+---------------------------------------------------------+ | Session_ID | the session ID used to generate the key pair | +----------------+---------------------------------------------------------+ Compute a WSS Association Test (locally) ........................................ .. code-block:: bash java -jar PrivAS.TPS.jar --wss genotype_files.tsv phenotypes.bool Integer Long results.tsv +--------------------+-----------------------------------------------------------------------------------------------------------------------+ | genotype_files.tsv | A TSV file that lists the genotypes files to used as input (Column1: Gene Name, Column2: /path/to/the/file.genotypes) | +--------------------+-----------------------------------------------------------------------------------------------------------------------+ | phenotypes.bool | A TSV file that stores the phenotypes of the samples (0/false = unaffected, 1/true = affected | +--------------------+-----------------------------------------------------------------------------------------------------------------------+ | Integer | Number of cores (actually threads) to use | +--------------------+-----------------------------------------------------------------------------------------------------------------------+ | Long | Initial seed for the random number generator (or "random" for random seed) | +--------------------+-----------------------------------------------------------------------------------------------------------------------+ | results.tsv | TSV file that will store the result table | +--------------------+-----------------------------------------------------------------------------------------------------------------------+ Compute a WSS Ranksum ..................... .. code-block:: bash java -jar PrivAS.TPS.jar --ranksum geneName input.genotypes phenotypes.bool +-----------------+-----------------------------------------------------------------------------------------------+ | geneName | The Name of the gene | +-----------------+-----------------------------------------------------------------------------------------------+ | input.genotypes | the path to the genotypes file to use as input | +-----------------+-----------------------------------------------------------------------------------------------+ | phenotypes.bool | A TSV file that stores the phenotypes of the samples (0/false = unaffected, 1/true = affected | +-----------------+-----------------------------------------------------------------------------------------------+