I have a couple of issues I would like to discuss ( I am not sure if these are bug or unfinished items - a roadmap of your progress in this regards will be useful). Sorry for the long description.
FIRST: I noticed that both in SequenceAssembler and the Bio.dll that I am using to implement aligners to do sequence alignment, the original sequence names and IDs are missing. Consequently, I cannot tell which original sequence corresponds to which aligned
sequence. An example will make this clear, and help you understand the issue (I am using NUCmer aligner here):
Original sequences named: Seq-1, Seq-2, Seq-3, Seq-4
The result is:
How can I tell for sure, without looking at the actual aligned sequences, that Sequence1 in the result corresponds to Seq-1 in the original sequence list? Or Sequence2 in the result of aligned sequences corresponds to Seq-2, Seq-3 or Seq-4 of the input sequences,
and in that order? Is it guarenteed that Sequence1 corresponds to Seq-1, and that Sequence2 corresponds to Seq-2, Seq-3 and Seq-4 respectively in the aligned sequences? Is the order in the returned aligned sequences preserved and guarenteed?
If I use PAMSAM, again original sequence names (Seq-1, Seq-2, Seq-3, Seq-4) are translated to Sequences1, Sequences2, Sequences3 and Sequences4. Is the order preserved in the aligned sequences?
Why not update ID in the aligned sequences to the original ID?
SECOND: The Metadata object of the aligned sequences is not being updated, at least for PAMSAM, consequently, there is no staistics available from PAMSAM. Is there a way to obtain these statistics? An example, using AlignedSequences will be helpful.
THIRD: I need Consensus sequences for PAMSAM alinment data. Is there a way to get this? I noticed that Metadata object is not populated. An example, using AlignedSequences will be helpful. For example, I get Consensus like:
MUMmer: Encoding.ASCII.GetString(alignedList.PairwiseAlignedSequences.Consensus.ToArray()); <--- from Consensus property
NUCmer: Encoding.ASCII.GetString(((Bio.Sequence)(alseq.Metadata["Consensus"])).ToArray()); <--- from Consensus item of Metadata dictionary
Your help in this regards will be highly appreciated.