Skip to content

Latest commit

 

History

History
executable file
·
52 lines (34 loc) · 2.48 KB

README.md

File metadata and controls

executable file
·
52 lines (34 loc) · 2.48 KB

f5n_server

This is a job server to distribute sequencing tasks among portable devices that run f5n

Instructions to deploy server

  1. Clone the repository**

git clone https://github.com/AnjanaSenanayake/f5n_server.git

  1. Inside the cloned directory, compile source code**

mvn install

  1. Deploy in a jetty server(Feel free to use any server, jetty dependencies are already added in pom)**

mvn jetty:run

  1. Open localhost in any web browser.**

Flowchart

Diagram

Real Time Sequencing Network

The source code for the Mobile Application can be found here

Diagram

Quick Start

  1. Download a dataset
  2. Pair each reads.fastq(a) and the corresponding (multi)fast5 files. refer scripts.
  3. Compress each pair as a .zip file. (you should now have a folder with many number of .zip files)
  4. Run f5n-server
  5. Configure the folder path to the folder containing the .zip files.
  6. Configure a pipeline
  7. Create jobs
  8. Connect to f5n-server with mobile phones using the local IP address.

Features

Single Server Socket

Since client-server communication happens only when a job is requested or to get updates of a job, server side is not multi-threaded. Rest of the client requests have to wait while the first client is served. Once a client is served(ex:a job is assigned) the socket is closed. Average service time is minimal thus, we assume mutli-threaded server will not enhance the performance. Also the fact that not all the clients try to connect to the server at the same time supports this. Moreover, there is a considerable time gap between intermediate minIT ouputs. Hence, a client may have to wait until a new job get listed.

Flexible File Listener

minIT is changing their output file format continuously. Hence we advice the user to alter the code to cater for different scenarios.

To Do

  • stop server & reconfiguration pipeline components
  • data set update listner
  • pipeline configuration form validations
  • user messages/warnings/errors to frontend