about project
This project involved the development of an automated genotyping software based on electrophoresis data from genetic analyzers. The software is intended for use in forensic science, forensic medicine, and establishing biological relationships.
It was designed to meet international standards and provide results comparable to established western software, such as Genemapper, while offering a more modern and user-friendly interface.
tasks
Create algorithms for automated genetic analysis that meet international standards, ensuring the results are consistent with those produced by American software like Genemapper.
Design and develop a cross-platform user interface that supports all required functions and is accessible on both Windows and Linux.
Implement a scalable database for storing source data and results.
Ensure the software is protected against unauthorized copying using physical keys.
Results
Within 12 months, the software was developed to meet all the client’s requirements, including protection against unauthorized copying using physical security keys.
The software produced results that were consistent with those from Genemapper. Additionally, it provided a more user-friendly and modern interface.
The database was designed for scalability and is accessible on both Windows and Linux. It supports the import of standard data formats used by genetic analyzers (sequencers).
process
Discussion of Business Requirements
Initial discussions with the client to understand their needs. The challenge was that the client had little IT experience, while the development team had limited knowledge of genetics and genome analysis.
Development of System Requirements
Based on the business requirements, system requirements were developed and decomposed into tasks for developers. Test cases were created from these requirements.
Literature Review and Algorithm Development
Conducted a literature review on genetic analysis algorithms. The team analyzed the literature, modeled the results, and refined the algorithms to align with reference results.
Technology Stack Analysis
Analyzed existing technology stacks that met the project’s requirements. The decision was made to use C# and Avalonia for cross-platform desktop application development.
Application Architecture Development
Developed a modern architecture that adheres to current design principles and is scalable for future enhancements.
Agile Development Process
The coding was conducted in sprints using Agile methodology, with unit tests, code reviews, and adherence to internal coding standards.
Software Debugging
The software was debugged using real data provided by the client, obtained from various instruments under different conditions. This phase included refining the algorithms based on test results.
Comprehensive Testing
Conducted regression testing and other testing activities based on the developed test cases. Final testing was performed using a custom program and methodology.
Deployment
The software was deployed using an automated build system on GitLab, resulting in a secure, copy-protected release for both Windows and Linux.
review
contacts
If you hae questions or need any general information, please complete this form to request the information you need, it will be an honor to help you