Interested in evaluating Project Premonition technologies and data?
Project Premonition aims to detect pathogens before they cause outbreaks
Emerging infectious diseases such as Zika, Ebola, Chikungunya and MERS are dangerous and unpredictable. Public health organizations need data as early as possible to predict disease spread and plan responses. Yet early data is very difficult to obtain, because it must be proactively collected from potential disease sources in the environment. Researchers estimate between 60 and 75% of emerging infectious diseases originate from animals, which are very difficult to monitor.
Project Premonition aims to detect pathogens before they cause outbreaks — by turning mosquitoes into devices that collect data from animals in the environment. There are over 3,600 known species of mosquitoes, which bite a wide range of animals from dogs and chickens to snakes and mice. Each bite may collect a few microliters of blood, containing genetic information about the animal that was bitten and pathogens circulating in that animal. In fact, it has already been shown that the DNA collected from mosquitoes can be used to identify: (1) the types of animals that were bitten, (2) mosquito-borne diseases such as Zika and West Nile that infect both mosquitoes and hosts (e.g. humans and animals), and (3) previously unknown viruses of unknown origin.
Collect
mosquitoes with robots
However, catching and analyzing mosquitoes isn’t as easy as it sounds. First, the Project Premonition system must efficiently find and collect many live specimens from the environment; traditionally a labor intensive task. Second, it must sort through the tremendous amount of data generated by gene sequencing mosquitoes to accurately detect potential pathogens. In fact, it is only due to recent advances in robotics, gene sequencing, and cloud computing that such a system could feasibly be constructed. To accomplish these tasks, we are developing drones that autonomously locate mosquito hotspots, robotic traps to identify and collect interesting specimens, and cloud-scale genomics and machine learning algorithms to search for pathogens. These technologies are being developed in a collaboration among researchers at Microsoft, University of Pittsburgh, Johns Hopkins University, University of California Riverside, and Vanderbilt University utilizing the Microsoft Cloud, and in collaboration with public health organizations. This project is part of Microsoft Healthcare NExT and powered by the Microsoft Cloud — watch this to learn more.
See more at: CNN, Today Show, GeekWire
Drones that locate mosquito hotspots…and eventually place robotic traps
Monitoring pathogens through mosquitoes means first finding where mosquitoes hide. It turns out finding mosquito hotspots is harder than it sounds. Mosquito populations change daily with weather. One urban block might have thousands of mosquitoes, and the next block almost none. This challenge is well-understood by public health organizations that must continually inspect large areas for new mosquito hotspots and breeding sites.
Drones offer an efficient means to scan large areas for likely mosquito habitat. In order to evaluate the capabilities of drones, the Project Premonition team collaborated with the island nation of Grenada to survey locations across the country. At each site a standard mosquito trap (CO2 baited CDC light trap) was placed to determine whether it was a hotspot, and a drone was flown to capture high resolution visual data. Grenada was an ideal location to evaluate drone capabilities because of its diverse habitats ranging from low-lying urban environments to dense cloud forests all within 135 square miles.
The map below shows the sites that were evaluated. The adjacent map shows the current method for finding potential hotspots using satellite imagery to estimate vegetation density (NDVI). From the satellite’s point-of-view, the entire island appears as a hotspot (everything is green), even though some of these locations were hotspots while others were not. The image to the right shows the drone’s point-of-view, which can clearly distinguish pools of water, containers, and unsealed structures that are associated with mosquitoes. The drone data is more effective at distinguishing hotspots because of its ability to see small features under trees and around buildings. We concluded drones have significant potential for public health applications.
Grenada: Satellite view shows most places appear as possible hotspots (green)
Grenada: Drone view shows standing water and structures that can be directly observed
Project Premonition aims to perform these tasks safely and at scale, which means drones that can autonomously navigate complex environments to search for hotspots (eventually retrieving specimens on their own). We are investigating new engineering methods to give systems, such as drones, more autonomous capabilities while ensuring they behave correctly. For instance, Microsoft’s protocol programming language P is being used to build safer flight logic from scratch. And, Microsoft’s state-of-the-art Corral code analyzer is being used to find potential catastrophic failures in existing drone code. A recent National Science Foundation student competition challenged teams of undergraduate students to build drones that could retrieve mosquito specimens, helping the next generation of engineers to learn how to build autonomous systems.
See more at: P Language (GitHub), Corral (GitHub), NSF Student Competition (YouTube)
Robotic mosquito traps that identify and capture interesting mosquitoes in milliseconds
Project Premonition requires lots of interesting mosquitoes, but this is easier said than done. Existing mosquito traps can’t distinguish mosquitoes from other insects, requiring entomologists to process the insects collected from every trap. This is a skilled and labor intensive process.
Project Premonition redesigned the mosquito trap to be robotic and smart. It is comprised of 64 smart cells, each of which monitors the insects flying into it. If the wing movements of an insect match that of an interesting mosquito, then a cell can close a door, capturing that insect and tagging it with key environmental data including time, temperature and light levels. The trap can learn from its mistakes to become more efficient, and it is designed to run for more than 20 hours in hot and humid environments.
The Project Premonition robotic trap was deployed in Houston, TX in collaboration with Harris County Public Health Mosquito and Vector Disease Control Division during the Summer of 2016. In 87 experiments it captured an unprecedented 20GB of data about mosquito behavior, including the behavior of Zika mosquitoes. It detected over 22,000 mosquito encounters and has been tested on 9 species of mosquitoes, including those that carry Zika, Dengue, West Nile, and Malaria.
Data analytics using the Microsoft Cloud and R for understanding behavior
Captured mosquitoes are high quality and suitable for laboratory analysis
In collaboration with University of California Riverside, fine-grained data collected from the Project Premonition trap has been used to evaluate the effects of chemical lures on mosquitoes. Epidemiologists at Vanderbilt University are studying how to improve models of mosquito-borne diseases by incorporating the big data collected by the system. Scalable cloud-based data analytics and machine learning with an R interface running in the Microsoft Cloud enable these studies.
See more at: CNN, Today Show, GeekWire
Cloud-scale algorithms that detect known and unknown pathogens
Some emerging infectious diseases are caused by pathogens that were known to exist, but were not regularly tested for in labs, e.g. Zika and Ebola. Others are caused by pathogens that were previously unknown to science, e.g. SARS and MERS. These properties make emerging diseases very difficult to detect early using traditional techniques.
In order to detect all potential pathogens and their hosts with a single test, we are developing algorithms that analyze the genetic material obtained from mosquitoes. Gene sequencing converts mosquitoes into hundreds of gigabytes of genetic data without focusing on a specific set of pathogens. These data can tell us about the species of mosquitoes collected, the animals they have bitten, and the pathogens they may have encountered. However, new algorithms must be developed to quickly search for viruses and microbes, which are needles in this haystack of data.
The Project Premonition metagenomics pipeline reconstructs the mixture of organisms present in a sequenced biological sample. As a starting point, it uses a reference library of over 250,000 genomes (over 1 trillion base pairs), covering all types of organisms from viruses and bacteria to reptiles and mammals, drawn from public sequence databases. Using the SNAP alignment tool, small parts (called reads) of the input genetic sequences are matched (soft-aligned) against all reference genomes (using weak thresholds) to identify all plausible organisms that may have contributed genetic material. The inevitable ambiguities that arise from the close genetic similarity among species is then resolved using a mixture model approach, which shares information among reads and across the tree of life, guiding the algorithm to the best-supported assignments. (The SNAP aligner was developed in a collaboration between Microsoft Research, University of California Berkeley, and University of California San Francisco.)
Genetic mixture is reconstructed and can be easily explored
Mosquitoes with known viruses are prepared at Johns Hopkins University for calibrating pipeline
In order to guide development, the system includes a “mosquito synthesizer” that can simulate the genetic material that would be obtained from a mosquito having fed on a particular animal harboring a set of viruses and bacteria. On these synthetic experiments, the pipeline reconstructs the correct mixture of organisms with 99.99% accuracy, provided the correct genomes have been previously sequenced and are in the reference database. More importantly, sharing information across the taxonomy allows us to detect the correct genus and family of novel species and genera with >90% accuracy. In collaboration with Johns Hopkins University and University of Pittsburgh, the pipeline is being evaluated and refined on laboratory and wild-caught mosquitoes.
Inspired by the challenge mosquito metagenomics presents, our aim is to develop a generic drag-n-drop metagenomics pipeline, which makes no assumptions about the source of the genetic material, yet can accurately reconstruct the mixture of source organisms. We have begun testing this pipeline on DNA and RNA data from a range of tissues and hosts, including from mosquitos, ticks, birds, and humans. This pipeline runs end-to-end in the cloud in <12 hours for DNA/RNA samples with 100 million short reads. We are currently developing an online service to expose this pipeline.
More Articles and News
Research Team
In this post we’ll discuss how to split tasks in Microsoft Project. In other words, how to break tasks into segments representing the exact times work will be performed.
Microsoft Project tasks do not necessarily need to start on one day, and continue until the task is complete. They can be broken up into segments. In other words, work can be performed in a discontinguous fashion. For instance, 16 hours in one week, 16 hours in the next week, and a final 4 hours the following week. This technique is illustrated below. Steps to perform it as also included.
Split bar, showing each segment of work Split hours, in Task Usage view
I must warn you… I feel this is a micro-management technique. It can be good to define exactly when the work will be performed, right down to the hour, but do you really want to spend your time doing that? That’s better left to the discretion of engineers who will actually be doing the work.
Follow these steps to split Microsoft Project tasks:
–ray
In this post we’ll discuss how to split tasks in Microsoft Project. In other words, how to break tasks into segments representing the exact times work will be performed.
Microsoft Project tasks do not necessarily need to start on one day, and continue until the task is complete. They can be broken up into segments. In other words, work can be performed in a discontinguous fashion. For instance, 16 hours in one week, 16 hours in the next week, and a final 4 hours the following week. This technique is illustrated below. Steps to perform it as also included.
Split bar, showing each segment of work Split hours, in Task Usage view
I must warn you… I feel this is a micro-management technique. It can be good to define exactly when the work will be performed, right down to the hour, but do you really want to spend your time doing that? That’s better left to the discretion of engineers who will actually be doing the work.
Microsoft Project Spread Task Over Time 1
Follow these steps to split Microsoft Project tasks:
Microsoft Project Spread Task Over Times
–ray
In most cases, the tasks in a project are related to each other, and the relationships between them drive the schedule for the project. The relationships between the tasks are called 'dependencies.' In Microsoft Office Project, you can create dependencies between tasks in the same project, and between tasks in different projects.
What kinds of task dependencies are available?
Project offers four kinds of task dependencies: finish-to-start, start-to-start, finish-to-finish, and start-to-finish.
First, let's talk about finish-to-start (FS) dependencies. This is the most common type of dependency and is the default type of dependency that Project uses. In a finish-to-start dependency, the second task in the relationship can't begin until the first task finishes. So, for example, if you were planning a project to make a wedding cake, you might use a finish-to-start dependency between the 'Bake cake' and 'Decorate cake' tasks. When the 'Bake cake' task is finished, the 'Decorate cake' task begins.
Start-to-start (SS) dependencies are used when the second task in the relationship can't begin until after the first task in the relationship begins. Start-to-start dependencies don't require that both tasks start at the same time. They simply require that the first task has begun, in order for the second task to begin. Going back to the wedding cake example, let's say you had planned to make the icing for the cake while the cake is baking in the oven. You can't start making the icing until the cake has started baking, so you might use a start-to-start dependency between the 'Bake cake' and 'Make icing' tasks.
If one of your tasks can't finish until another one finishes, you can use a finish-to-finish (FF) dependency between them. Finish-to-finish dependencies don't require that both tasks be completed simultaneously. They simply require that the first task be finished, in order for the second task to finish. The second task can finish any time after the first task finishes. In our wedding cake example, let's say there are some finishing touches to the decorations that you can't finish until the cake is delivered. You can use a finish-to-finish dependency between the 'Decorate cake' and 'Deliver cake' tasks. When the 'Decorate cake' task is finished, then the 'Deliver cake' task can be completed.
Finally, the start-to-finish (SF) dependency is a little tricky. When you use this type of dependency, you are saying that the second task in the relationship can't finish until the first task starts. However, the second task can finish any time after the first task starts. Going back to our wedding cake example, let's say you have a task for billing the customer. It begins when the customer requests the cake, but it can't be completed until after the cake delivery has begun. You can use a start-to-finish dependency between the 'Deliver cake' and 'Bill customer' tasks, so that when the 'Deliver cake' task has begun, it is okay for the 'Bill customer' task to finish.
So when you put the entire plan together, with these dependencies intact, the plan might look something like this:
How do I create dependencies?
First, you need to determine whether you want to create a dependency between two tasks in the same project, or between a task in one project and a task in another project.
If you want to create a dependency between two tasks in the same project, review Create task dependencies (links) within your project.
If you want to create a dependency between a task in one project and a task in another project, review Create task dependencies (links) across projects.
Where can I learn more?
Learn more about task dependencies in the following articles:
· View and update task dependencies (links) across projects
· Create and link tasks with Project 2007
· Watch this: Create a cross-project link
· Watch this: Link tasks in your project
· Change or remove task dependencies (links)
A colleague and I were discussing how Microsoft Project calculates duration, work, and resource utilization. My colleague was managing an outsourced project under a time and materials contract and wanted to schedule a four-hour task over three days. He had a few challenges trying to schedule the task in Microsoft Project until we discussed the importance of task types and the Duration X Units = Workequation.
Microsoft Project schedules tasks based on three variables: duration, units (or resources), and work. You get to choose two of these variables, and Microsoft Project calculates the third. Project managers run into a scheduling circle when they try to hold all three of these variables fixed. Just like the scope, cost, and time project triangle, if you change one variable, the others adjust as well.
In my colleague's scenario, the project manager has three days to complete four hours of work. Since the project is outsourced to a vendor, and the project manager doesn't have direct control of the resource, a fixed duration task type is recommended. The project manager doesn't care when the work gets done, as long as it's in the three day estimate. By setting the task to use a fixed duration task type, the number of hours and resources can fluctuate, and the three day duration will remain constant.
In actual practice using a time and materials contract, the project manager would care about the number of hours spent from a budget perspective. From a schedule perspective, the project manager is still expecting a three day fixed duration for the task.
Using the Duration X Units = Workformula, the project manager will enter duration and work into Microsoft Project and let the tool calculate resources.
To create a four-hour task using a three day fixed duration, follow these steps:
![]() Figure A: three-day duration with four hours of work
In the Task B example, a Fixed Work task could be entered with a resource assigned 100%, and the resulting duration would be 0.5 days. Since the requirement is to complete the task within three days, the fixed duration task is recommended.
For internal projects with internal resource costs, I prefer to build fixed duration tasks using 100% allocated resources and let Microsoft Project calculate the work. For external projects that use different contract types, the mix of task types will depend upon the work and the level of tracking required in your project schedule.
To learn more about the different task types, read my Microsoft Project tutorial, Use Fixed Duration, Fixed Work and Fixed Unit Type Fields.
Comments are closed.
|
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |