← 输入框|github.com|刷新
Skip to content

Q. Inquiry for the Alignment Render in the BioJava. #983

Open

Description

@RoshanShrestha123

Hello,

I am software developer (new to biojava) currently using the Biojava API [biojava-core - 4.0.0 , alignment -1.9.3] for an application.

We are trying to accomplish Alignment render of the Query and the target
on Blast search like the image below. We are using the SmithWaterman algorithm for local Alignment. Now we are looking for a different way to visualize exactly where the sequence was aligned in our frontend application (we are using biojava in our backend side), like the following.

AAGAA
||| |
AAGGA

I found SimpleAlignment to render query and target alignment using TranslatedSequencePanel. but SimpleAlignment does not handle different length sequences and does not contain any gap-editing concepts. Upon further research I also came across formatOut which return string with the format we were looking for. But formatOut is only available in biojava-legacy. Is there any way i can get the result like this one?
image

Thanks!

Activity

  1. willishf commented on Oct 20, 2021

    @willishf
    Contributor
  2. RoshanShrestha123 commented on Oct 21, 2021

    @RoshanShrestha123
    Author

    Thank you @willishf , 🎉
    I will look into the link you shared.

  3. RoshanShrestha123 commented on Oct 22, 2021

    @RoshanShrestha123
    Author

    I looked into couple of thing you mention @willishf , I believe they are the AWT or Swing based component that render the alignment. I was really looking for the class that can return the alignments as the "Text" so that i can return it to the frontend application( of different stack) via API call and render their instead. Thanks

  4. aalhossary commented on Oct 22, 2021

    @aalhossary
    Member

    Hello @RoshanShrestha123 You are welcome to extract the text based rendering and share it to (current) BioJava.
    Alternatively, you may request it to be ported to BioJava and provide the ability to expose the text alignment. But the drawback of this approach is that you will have to wait until of the developers have time to do it for you.
    I may have time in December if you want.

  5. sbliven commented on Jan 4, 2022

    @sbliven
    Member

    @RoshanShrestha123 Take a look at SimpleProfile.toString(StringFormat). In particular, maybe the PDBWEB format would work for you. It outputs an HTML DIV like

          seq 2 ERNDKK 7
                 || | |
          seq 1 ER-DNK 5
    
    Legend: Green - identical residues | Pink - similar residues | Blue - sequence mismatch | Brown - insertion/deletion |

    (legend included, and some css has to be defined appropriately to enable colors).

    If you really want to match the text output above, this can either be implemented as a new Profile.StringFormat (easy but needs a BioJava PR) or you can do it in app code.

  6. added a commit that references this issue on Jan 27, 2022
  7. sbliven commented on Jan 27, 2022

    @sbliven
    Member

    I started working on this, thinking it would be an easy fix. However there are some things I need to clarify about how the StringFormat methods are intended to work (see separate issue). There are some commits in sbliven/biojava-sbliven/fix983 which will need to be ammended and rebased. However ProfileFormatTest.java has a method for printing the desired format in BioJava 6.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionOpen discussions about the library

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions