Difference between revisions of "Team:BostonU HW/Attributions"

Line 655: Line 655:
 
     <div class="row" style="padding-top:20px; padding-bottom:20px;">
 
     <div class="row" style="padding-top:20px; padding-bottom:20px;">
 
       <div class="col-md-3">
 
       <div class="col-md-3">
         <img src="https://static.igem.org/mediawiki/2016/8/8e/T--BostonU_HW--MakerFluidicsLogo_rcwolf.png" width="90%" style="padding-left:20px">
+
         <img src="https://static.igem.org/mediawiki/2016/8/8e/T--BostonU_HW--MakerFluidicsLogo_rcwolf.png" width="100%" style="padding-left:20px">
 
       </div>
 
       </div>
 
       <div class="col-md-9">  
 
       <div class="col-md-9">  

Revision as of 02:53, 19 October 2016


ATTRIBUTIONS







The NEPTUNE Flow
Neptune abstracts a very intricate workflow to provide an intuitive experience for its user. Below is a detailed depiction of all of the components that are under Neptune's hood.




Each of BostonU Hardware Team's members played an integral part in the success of Neptune's development.



Liquid Flow Relations & User Constraints File | Shane McCormack
In order to increase accessibility of our tool (and microfluidics in general), a method for describing microfluidics in a few simple lines was formed! This standard consists of Liquid Flow Relations (or LFR), and the User Constraints File (or UCF). The LFR file is where the user describes the inputs, outputs, and tells of any operations which occur on those inputs and outputs. These operations are described as symbols on the LFR, but are informed by the UCF. The few lines of LFR are the only things needed to run a chip through Neptune; a sample UCF is provided with Neptune that can be fine-tuned, but will not need to be written in its entirety.

The UCF can be thought of as a library of microfluidic components where, once a component is defined, it will never have to be written again! In more detail, once a component is defined inside the UCF, all subsequent LFR files can utilize the symbol the component is linked to without redefining the details of the component. The UCF leverages the MINT standard of describing parametric microfluidics. This parametrization unlocks great potential in the rapid prototyping of designs, where one number can be changed in the UCF, and all subsequent designs will have the updated component! For example, if our fictional synthetic biologist Dr. Ali found that his mixer's bends were too short in length, with one number edit in the UCF he could fix every bend of every mixer in all of his designs thereafter! This is far more accessible than redrawing every bend by hand on AutoCAD.

MμShroom Mapper | Shane McCormack
With the new facilitated design method of Liquid Flow Relations, a behind-the-scenes software tool was needed to interpret and translate the LFR and UCF into a functional MINT file. This task is fulfilled with muShroomMapper; muShroomMapper takes LFR and UCF as inputs, maps the LFR into a graph with the support of NetSynth, then informs that graph with the UCF. The informed graph is then translated into a MINT file, to be placed and routed to a blueprint for fabrication.

MμShroom Mapper-Neptune Integration | Kestas Subacius & Shane McCormack
Description Here

Fluigi-Neptune Integration | Kestas Subacius & Shane McCormack
Description Here

Control Infrastructure Prototyping | Zach Lasiuk & Priya Kapadia
To create the control infrastructure for all the hardware components, the hardware team had to design many prototypes to create the optimal support system. The prototyping took into account the upcoming standard of microfluidic control, which are the MEC platforms, and also had to consider how the system could be adapted to many different hardware setups. The design infrastructure was made to modular and allow easy access to all the parts. So, switching out components is extremely easy.

Parametric Control Infrastructure | Zach Lasiuk
Description Here

Neptune's Specify & Design Pages | Kestas Subacius
Description Here

Neptune's Build & Assembly Pages | Priya Kapadia
After the user has designed the microfluidic chip, they can then move on to select hardware components to match their needs. They would need to first input the volume of liquid they would like to dispense, and the precision they require. Neptune would then search through its database of servos and syringes to recommend hardware combinations to the user based on complex calculations involving torque, the range of pulse-width modulations, the bandwidth-delay product, and so on. Consequently, users are provided with a large personalized list of items that they can choose from. The user can then map the hardware to the dispensers on the chip that they just designed. The mapping allows Neptune to calibrate the dispensers for the experiment. The user is then provided with an ordering list consisting of all the parts that they need for the experiment. The ordering list would include the new hardware that the user has just selected, some predetermined items such as a roll of 3D printing support, and also some variable items like the number of 6-32 screws for instance. These would be calculated using the user's choices and the chip at hand.

To ease the usage and to help the user put all the pieces together, Neptune's Assembly Page takes the user through a step by step process where they can make and connect all the pieces required to control the microfluidic device. Currently, the users can download all the file required to 3D print the infrastructure of the hardware we suggest to them in the Build page. However, moving forward, both the Build and Assembly page would allow for the user to input their own servo and syringe combination into Neptune. The ability for the user to create custom 3D printing files are currently in development. Aside from that, the Assembly page includes descriptions on how to create the infrastructure, mill out the microfluidic chip, connect the Arduino to the hardware, and set up the system for control.

Neptune's Control Page | Becca Wolf
Once users have milled out their microfluidic chip and assembled the supporting control infrastructure, he or she can control the valves and dispensers of their device through Neptune’s Control user interface. This interface displays a visual of their chip with controls to open or close valves, set a dispense rate for any given dispenser, or increment the dispensed liquid volume one unit of resolution at a time with only the click of a button. Through this page, a user may change the preset specs of each servo-syringe combination if he or she decides to change their setup. The control feature may be used to control any device using hardware formatted for use in Neptune regardless of the current project being designed to enable quick control adaption to different project environments. It is also through the control page that the user will establish connection to the arduino so that commands may be sent to pumps to operate valves and dispensers.

3DuF Integration | Becca Wolf
3DuF is a microfluidic design CAD tool which is part of a project led by Josh Lippai (see mentor section below for further details). We decided to leverage the JSON visualization features which 3DuF has to offer in Neptune to display a visual of the user’s chip for intuitive interaction with valves and dispensers on their microfluidic device in Neptune’s Control user interface. 3DuF is integrated into Neptune’s front end operation to this end. 3DuF’s version upkeep within Neptune is designed to handle the primitive features which are used in chip design bu Fluigi (see mentor section below) outputs.

Neptune-Arduino Integration | Johan Ospina & Becca Wolf
Neptune can be used to operate the valves and dispensers of a microfluidic chip through an Arduino Mega. In order to be able to send commands to the arduino to be interpreted and acted upon by firmware, Neptune opens a serial communication connection with the port the arduino is connected to. This is done quite simply by the user through the Control page and is as simple as selecting the port and pushing the “Connect” button. Neptune will then send commands specified by the user in the Control page to the arduino through UART.

Arduino Firmware | Zach Lasiuk
Description Here

Firmware-Neptune Integration | Zach Lasiuk & Becca Wolf
The way in which Neptune communicates to the Arduino Mega which powers the control of the microfluidic chip is standardized throughout the Neptune UI-firmware interaction. Commands are sent to the arduino through the Neptune Control page in the form of an 8-digit code where the first 4 digits indicate the index of the pin on the arduino which the servo-syringe combination is connected to, and the last 4 digits indicate a PWM value which indicates the position which the servo should rotate to.

Even Fluid Dispension | Zach Lasiuk
Description Here

Even Fluid Dispension-Neptune Integration | Zach Lasiuk, Becca Wolf, & Priya Kapadia
Description Here

Neptune Packaging | Priya Kapadia
After creating Neptune as a web-application, the hardware team thought of packaging the entire application into a desktop application that the biologist could download onto his local computer. This would enable the user to use Neptune offline, making it more convenient. To do so, a packaging tool called Electron was introduced to host Neptune. This is under development, and moving forward, Neptune may become a desktop application that biologists can use anywhere and anytime.

Microfluidic Chip Prototyping | Shane McCormack
Description Here



We stand on the shoulders of giants.
Our work would not have been possible without the foundations laid by our mentors. Neptune’s microfluidic design and fabrication tool leverages projects such as Fluigi Place and Route, Mint description language, MakerFluidics, and 3DuF in order to provide the most intuitive and cohesive experience for users. These projects have been built and expanded on by our graduate student mentors. We would like to thank our mentors for all of the work they have done to allow us to bring Neptune to life.
Fluigi | Radhakrishna Sanka
A place and route tool for microfluidic devices. Fluigi takes a MINT file as input and strategically routes the features specified in the MINT into an optimized microfluidic design. Fluigi outputs the design in a series of visual formats: SVG files (which can be used to mill out the different layers of the microfluidic chip using a CNC mill), a JSON file (which can be used to visualize the microfluidic design with 3DuF), and EPS files (which can be used to build the chip using photolithography if the user so chooses).

MINT | Radhakrishna Sanka
A microfluidic description language generated as an output of MuShroom mapper and used as an input to Fluigi. This language is used to describe the features of the specified microfluidic device in great detail including specification of feature shape, size and spacing.

Netsynth | Prashant Vaidyanathan
Netsynth is a software tool that was originally built by Prashant Vaidyanathan to translate Verilog logic descriptions into wire and gate lists. Netsynth has been modified for use in Neptune through a collaboration between Shane McCormack (BostonU_HW Team member) and Vaidyanathan to produce output formatted for interpretation in the context of microfluidic design. MuShroom mapper (a tool build by McCormack) uses this output alongside a variety of other inputs to produce a MINT file output in the Specify stage of Neptune.

3DuF | Joshua Lippai
A CAD-like drawing web application. 3DuF can be used to manually draw a microfluidic design if the user wishes to bypass high-level specifications. 3DuF will then output SVG files (for CNC milling layers of the microfluidic chip) and a JSON file for later visualization and editing purposes. When used in the context of Neptune, 3DuF is leveraged to visualize the JSON output of Fluigi so that the user may control his or her microfluidic device intuitively through the Neptune interface.

MakerFluidics | Ryan Silva
MakerFluidics is an accessible, inexpensive microfluidic fabrication technique used to manufacture microfluidic chips. A user will use an SVG file to mill out both the control and flow layers of a microfluidic chip. Then he or she will use these 2 layers to sandwich a piece of PDMS and vacuum the chip to create a seal. Through Neptune, the user is encouraged to use this fabrication infrastructure to make their chip so that they may rapidly prototype many chips inexpensively for any iterations of their experiment and easily control their microfluidic system through the Neptune interface.

Microfluidic Application | Ali Lashkaripour
Explorations into the biological applications for Neptune’s workflow are spearheaded by Ali Lashkaripour. He designs and tests features to be added to our UCF repo as relevant primitives to chip designs for synthetic biological application. Design constraints of microfluidic design through Neptune’s toolchain are also investigated by Lashkaripour.

Thank you to our sponsors for their support