Finding something worth knowing…

Technology

How computer science solves crimes by analyzing the repeating patterns in human DNA

Forensic investigators identify individuals by examining specific genetic markers known as Short Tandem Repeats. In this classic computer science assignment, students build a program that acts as a digital detective, processing DNA sequences to match them against a database and solve a mystery through the power of algorithmic analysis.

The core of this forensic technique relies on Short Tandem Repeats, or STRs. These are specific, short sequences of DNA that appear consecutively at designated locations within an individual's genetic code. Because the number of times these sequences repeat varies significantly between people, they serve as a unique biological signature. By calculating the exact frequency of these repeats, investigators can create a profile that distinguishes one person from another with high precision.

In the context of this computer science exercise, students are tasked with building a program that automates this identification process. The assignment functions as a digital whodunit, requiring participants to write code that searches a database for a match to a target DNA sequence. This process involves several technical steps: first, the program must compute the STR counts from the provided DNA sample; second, it must compare those counts against a pre-existing database of known individuals; and finally, it must determine to whom the DNA most likely belongs based on the resulting data.

Beyond the biological application, the project serves as a foundational tool for learning programming fundamentals. It introduces students to Python, a versatile language, while providing practical experience with essential concepts such as loops, string manipulation, and file input and output operations. By applying these technical skills to a real-world forensic scenario, students gain a deeper understanding of how computer science intersects with biology. This exercise demonstrates that coding is not just about abstract logic, but a powerful method for analyzing complex data, solving practical problems, and uncovering truths hidden within biological information.

Ultimately, this assignment bridges the gap between theoretical computer science and its tangible impact on fields like criminal justice. By simulating the work of forensic investigators, students learn to handle data structures effectively and refine their problem-solving abilities. The project highlights the versatility of programming, showing how simple computational techniques can be scaled to perform sophisticated tasks, such as identifying a suspect from a DNA database, thereby emphasizing the vital role of technology in modern scientific inquiry.

Source: DNA - Nifty Assignments - SIGCSE 2020

More in Technology · All topics