{"id":15604544,"url":"https://github.com/jacobgrisham/dna-identification-algorithm-using-python","last_synced_at":"2025-08-21T07:05:23.156Z","repository":{"id":105088078,"uuid":"312496000","full_name":"JacobGrisham/DNA-Identification-Algorithm-using-Python","owner":"JacobGrisham","description":"Program takes a sequence of DNA and a CSV file containing Short Tandem Repeats (STR) counts for a list of individuals and then outputs to whom the DNA (most likely) belongs.","archived":false,"fork":false,"pushed_at":"2021-05-02T21:27:48.000Z","size":6580,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-04T14:46:53.893Z","etag":null,"topics":["algorithms","data-structures","dna","dna-identification-algorithm","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JacobGrisham.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-13T06:51:06.000Z","updated_at":"2024-02-28T12:01:36.000Z","dependencies_parsed_at":null,"dependency_job_id":"d5a6b7d6-e7a5-484d-ab1f-b6d82845f54d","html_url":"https://github.com/JacobGrisham/DNA-Identification-Algorithm-using-Python","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobGrisham%2FDNA-Identification-Algorithm-using-Python","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobGrisham%2FDNA-Identification-Algorithm-using-Python/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobGrisham%2FDNA-Identification-Algorithm-using-Python/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JacobGrisham%2FDNA-Identification-Algorithm-using-Python/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JacobGrisham","download_url":"https://codeload.github.com/JacobGrisham/DNA-Identification-Algorithm-using-Python/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246193156,"owners_count":20738450,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","data-structures","dna","dna-identification-algorithm","python"],"created_at":"2024-10-03T03:41:56.032Z","updated_at":"2025-03-29T13:44:59.740Z","avatar_url":"https://github.com/JacobGrisham.png","language":"Python","readme":"# DNA Identification Algorithm using Python\n[![Maintainability](https://api.codeclimate.com/v1/badges/6bcc0d5500aab9a14742/maintainability)](https://codeclimate.com/github/JacobGrisham/DNA-Identification-Algorithm-using-Python/maintainability)\n### Homework from [Harvard's Introduction to Computer Science CS50 hosted on eDX](https://www.edx.org/course/cs50s-introduction-to-computer-science)\n### 🎓 [Problem Set 6](https://cs50.harvard.edu/x/2020/psets/6/)\n- [DNA](https://cs50.harvard.edu/x/2020/psets/6/dna/): Program takes a sequence of DNA and a CSV file containing Short Tandem Repeats (STR) counts for a list of individuals and then outputs to whom the DNA (most likely) belongs.\n- I wrote the code in dna.py. The other files were provided by the instructor.\n\n![DNA Program Demo](img/demo.gif)\n\n## 💡Lessons Learned\n- Array and dictionary data structures in python\n- Parsing data from csv file using `enumerate()`, `.strip()`, and `.split()`\n- Substring `s[i:j]` iteration and multiple nested iterations in python\n\n## 🚀 Getting Started\nTo run this project locally:\n- In your terminal, navigate to the root program directory and run the following commands\n```\n$ python dna.py databases/large.csv sequences/#.txt\n```\nWhere `#` is a number between 1 and 20. Refer to the txt files in the sequences directory. The sequences directory contains a targeted DNA sequence. The database directory contains data on individuals.\n\nThe output can be compared for accuracy against the list under the header \"Testing\" in the specifications (near the end of the file)\n\n- Quick use examples\n```\npython dna.py databases/large.csv sequences/11.txt\npython dna.py databases/large.csv sequences/17.txt\npython dna.py databases/large.csv sequences/20.txt\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobgrisham%2Fdna-identification-algorithm-using-python","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjacobgrisham%2Fdna-identification-algorithm-using-python","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjacobgrisham%2Fdna-identification-algorithm-using-python/lists"}