Skip to content

Add Nussinov Algorithm for RNA Secondary Structure Prediction #6071

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from

Conversation

alexcerezo
Copy link

Description:
This pull request introduces the implementation of the Nussinov algorithm, which predicts the secondary structure of RNA by maximizing base-pair compatibility. The algorithm uses dynamic programming to compute an optimal structure based on RNA sequence input.

Changes:

  • Added Nussinov class: Implements the Nussinov algorithm with methods for:
    • Checking base-pair compatibility.
    • Constructing the dynamic programming matrix to predict secondary structures.
    • Reconstructing the optimal folding structure from the computed matrix.
    • Evaluating the accuracy of predictions based on paired bases.
  • Test file: estRNAFolding
    • Tests base-pair compatibility with various pairs.
    • Verifies correct secondary structure prediction for short RNA sequences.

Files Added:

  1. Nussinov.java: Contains the main algorithm.
  2. TestRNAFolding.java: Includes unit tests to verify functionality and accuracy.

Additional Notes:

  • The implementation follows standard dynamic programming principles and is optimized for clarity.
  • Future improvements could involve more complex test cases and compatibility with additional nucleotide pairs.

Testing:
All tests included in TestRNAFolding have been successfully run, covering both base-pair compatibility and basic structure prediction. A library it needed, link on the Nussinov.java file.

This addition should be a valuable resource for bioinformatics and computational biology algorithms in the repository.

Initial commit: Implemented Nussinov algorithm for RNA secondary structure prediction

- Added main class `Nussinov` for RNA secondary structure prediction using dynamic programming.
- Implemented base pair compatibility checks and dynamic programming matrix setup.
- Included support for reconstructing the RNA folding structure.
- Added evaluation function to score the correctness of RNA folding predictions.

This implementation aims to maximize base-pair compatibility in RNA sequences.
Add link to the library
Copy link
Member

@siriak siriak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please replace main with JUnit tests, remove printing to console, and fix PR checks

@alexcerezo
Copy link
Author

It would be best if you stopped posting comments without sense.

@TheAlgorithms TheAlgorithms deleted a comment from cwst66 Nov 8, 2024
@TheAlgorithms TheAlgorithms deleted a comment from cwst66 Nov 8, 2024
@TheAlgorithms TheAlgorithms deleted a comment from cwst66 Nov 8, 2024
Copy link

This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contribution!

@github-actions github-actions bot added the stale label Dec 12, 2024
Copy link

Please reopen this pull request once you have made the required changes. If you need help, feel free to ask in our Discord server or ping one of the maintainers here. Thank you for your contribution!

@github-actions github-actions bot closed this Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants