feat(io): Enable input from FASTA files #16
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To maximize the ease of use of RF3, it would be nice to be able to directly load in FASTA files (such that you can directly predict from a FASTA of your system). This PR puts together a potential system to add loading of systems from FASTA files, basically making it syntactic sugar around the JSON input format (though less powerful).
The file format is inspired by Boltz's FASTA input format, but slightly more flexible. Most fields are optional, and it should be robust to "extra" information in the label line. (You should be able to input most arbitrary polymeric FASTA files as-is and have them work, albeit without MSA ... which is also easy enough to add.)
While limited to FASTA input currently, it's written with an eye to be flexible for additional sequence file input formats, as desire dictates.
This is intended as a "draft" PR, for comment & feedback.