long read pipeline

SquiggleFilter: An Accelerator for Portable Virus Detection

Advisor: Satish Narayanasamy
Sep 2019 - Dec 2020

Nanopore sequencing is a relatively new technology which enables portable genome sequencing, including strain-level virus detection. The vast majority of DNA in a typical spit sample is non-viral. Nanopore sequencers provide a unique feature called Read Until, which can eject non-viral DNA strands in real time to increase the proportion of viral DNA sequenced. This approach comes with several computational challenges, and in this work we propose replacing the traditional pipeline of basecalling and alignment with a hardware accelerated squiggle-level read filter. Our resulting SquiggleFilter is an efficient high thoughput and low latency non-viral read filter capable of keeping pace with the next generation of sequencing devices.

Paper: SquiggleFilter: An Accelerator for Portable Virus Detection
Conference: MICRO 2021

qemu-xen-openxt image

Hypervisor vTPM Integration

Advisors: Paul Mogren and Rich Turner
May - Aug 2019

During my internship at Assured Information Security (AIS) I worked with Danika Gaviola and Jason Rising on integrating a virtual Trusted Platform Module (vTPM) into OpenXT in order to provide virtual machines (VMs) the same security guarantees as a physical TPM would provide. A TPM is a secure cryptoprocessor most frequently used to verify machine state at each stage of the boot process. OpenXT is a security-enhanced fork of Xen which uses QEMU internally for peripheral device emulation. In addition to successfully providing TPM 2.0 for Linux VMs in OpenXT, we modified the Xen Project so that it could use TPM 2.0 and provide TPMs to Windows virtual machines.

Using ConvNets for Robust Swipe Pressure Detection

Advisors: Sean and Natasha Banerjee
Sep - Dec 2018

This research constitutes my Clarkson Honors Thesis, which extends my previous work on using thermal cameras to reliably detect swipe pressure. I explored using convolutional neural networks to perform action classification, and found that the best results were obtained by training ConvNets on video frames with the user's hand removed, using filtering techniques designed previously.

Honors Thesis: Detection of Swipe Pressure using a Thermal Camera and ConvNets for Natural Surface Interaction

Parallel Semidefinite Optimization

Advisor: Daniel Thuerck
May - Aug 2018

During my internship at TU Darmstadt I worked on extending an existing solver for linear optimization programs to perform semidefinite optimization. The most challenging obstacle I overcame involved computing the product of multiple large sparse matrices without storing any intermediate results. Each element in the resulting matrix could be computed individually due to certain matrix properties, and the process is shown in the image above.

User-Independent Detection of Swipe Pressure Using Thermal Cameras

Advisors: Sean and Natasha Banerjee
Jan - May 2018

The goal of this research was to improve the capabilities of current augmented reality systems and projective touchscreens by detecting the pressure at which a user interacts with objects using a thermal camera. The main challenge in developing such a classifier was in removing the user's hand from the thermal video, which required utilizing a series of morphological filters as demonstrated above.

Paper: User-Independent Detection of Swipe Pressure using a Thermal Camera for Natural Surface Interaction
Conference: MMSP 2018
Awards: Top 5% Paper

Ptychographic Image Reconstruction

Advisor: Christine Sweeney
May - Aug 2017

During my internship at Los Alamos National Laboratory I worked with an interdisciplinary team of scientists to enable their ptychographic image reconstruction algorithms to run on CPUs in addition to Los Alamos' GPU cluster. Afterwards, I greatly improved the software's ease of use and automated the installation and building processes. Lastly, I worked on implementing a parallel beam position refinement algorithm to improve image reconstruction accuracy.

Image from

Optimization of MATLAB PointCloud Generation

Advisors: Sean and Natasha Banerjee
Jan - May 2017

While working with the TARS research group at Clarkson, I improved the algorithms for generating a single PointCloud from our multi-Kinect system. By the end of the semester, I had decreased the total runtime required to generate a single PointCloud from 7.33 seconds to 0.178 seconds.

Using GPUs to Mine Large-Scale Software Problem Repositories

Adviser: Sean Banerjee
May - July 2016

This project involved accelerating the detection of duplicate problem reports in large software problem report repositories. I implemented several basic parallel algorithms in CUDA C++ which could more quickly compare reports from massive repositories such as Bugzilla.

Paper: GPU Acceleration of Document Similarity Measures for Automated Bug Triaging
Workshop: IWSF 2016
Awards: Best Poster Presentation in EE & CS, Clarkson University Symposium on Undergraduate Research Experiences