Team name: sCASPers

Inspiration

The rapid advancement of gene editing and the possibilities unlocked with techniques like CRISPR have made us aware of the problem that some genes are harder to edit than others. Answer set programming happens to be the exact tool needed to see all the possibilities to get around this problem. We were so excited to discover a tool like s(CASP) that could be so readily applied to the problem.

What it does

It uses logical reasoning to find paths to help cure a certain disease. The program backtracks through the connections some genes have with others to find an endpoint that is editable. Due to how powerful s(CASP) is, the program is also able to extrapolate various other useful paths as well. It can output the set of possible diseases based on symptoms, find drugs that could have a similar effect as gene editing, and more. Using NAF (negation as failure) allows us to make assumptions on genes, even without having data on the gene, which is a very powerful tool.

How we built it

We used s(CASP) with Prolog to create the program. All input was used as facts, and rules were made to create connections between all the facts. These were recursively defined as the program backtracked to a solution.

Challenges we ran into

Some of our global constraints have contradictions that halted our output, but we figured out where it went wrong. Due to the complicated nature of gene relationships, our recursive predicates were difficult to implement. However, we were able to use NAF and other s(CASP) features to expedite that process.

Accomplishments that we're proud of

Prolog and s(CASP) made simulating human-style reasoning through negation as failure much easier than we expected, and it felt good to have a working model relatively quickly. We are also proud to be creating an application that has the potential of helping people.

What we learned

AI reasoning, as opposed to learning, is a new field to us, and it was eye-opening to use heuristics that humans use in programming. Prolog and s(CASP) are likewise new to use, and it was a lot of fun to learn how to use these tools. Now that we know a lot more about these tools, we are keeping our eyes open for problems we believe these tools can be applied to.

What's next for CRISPR Automated Reasoning

As NLP capabilities improve, potential for this application increases dramatically. Sophisticated NLP can create huge datasets of relations from medical publishings, which will allow researchers and doctors to have access to millions of connections between genes. Unrelated publishings with hidden relationships can be uncovered and added to the database without need for humans to read through millions of medical articles. As CRISPR improves, genetic research will require databases of relationships to lower costs and ensure that certain genes are safe to edit. Humans will be unable to manually track all known relationships between different genes, so an automated reasoning system will be a huge asset.

Built With

  • prolog
  • s(casp)
Share this project:

Updates