Skip to content
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

Harmonize Profile and LightweightProfile #1018

Open
sbliven opened this issue Jan 27, 2022 · 0 comments
Open

Harmonize Profile and LightweightProfile #1018

sbliven opened this issue Jan 27, 2022 · 0 comments
Milestone

Comments

@sbliven
Copy link
Member

sbliven commented Jan 27, 2022

I think Profile was indended to be general enough to represent multiple sequence alignments. However SimpleProfile is the only current implementation and it only supports pairwise alignments. There is also LightweightProfile with similarly named methods that is implemented by MultipleSequenceAlignment and seems intended for ungapped sequences. Is that an accurate summary of the situation?

If so, I propose steps to

  • Make Profile<S,C> extend LightweightProfile<AlignedSequence<S,C>,C>
  • Improve documentation clarifying that SimpleProfile is pairwise
  • Deprecate one of Profile.StringFormat or LightweightProfile.StringFormat
  • Add constructors to ease conversion between SimpleProfile and MultipleSequenceAlignment instances
  • Document what toString(StringFormat) is expected to produce for each format. Ideally it should be the same for two or more sequences. If a format is only applicable to pairwise alignments this needs to be clearly documented.

The last point regarding formats is relevant to #983. I had difficulties recommending a solution because the pairwise and MSA outputs are different and undocumented.

@sbliven sbliven added this to the 6.1.0 milestone Jan 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant