Uploaded image for project: 'IGB'
  1. IGB
  2. IGBF-1291

Show soft-clipped bases in BAM files

    Details

    • Story Points:
      10
    • Sprint:
      B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1, Fall 2018 Sprint 2, Fall 2018 Sprint 3, Fall 2018 Sprint 4

      Description

      IGB should show soft-clipped bases in BAM files.

        Attachments

          Issue Links

            Activity

            ann.loraine Ann Loraine created issue -
            ann.loraine Ann Loraine made changes -
            Field Original Value New Value
            Link This issue relates to IGBF-1222 [ IGBF-1222 ]
            kkorey Kiran Korey (Inactive) made changes -
            Attachment soft.png [ 14102 ]
            kkorey Kiran Korey (Inactive) made changes -
            Attachment soft.png [ 14102 ]
            kkorey Kiran Korey (Inactive) made changes -
            Attachment softclip_igv.png [ 14103 ]
            ann.loraine Ann Loraine made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint B - Summer 2018 [ 48 ] B - Summer 2018, Summer 2018 Part 2 [ 48, 49 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment -

            Enable IGB users to show or hide soft-clipped bases in BAM tracks.
            Add option to track label context menu - "Show soft-clipped bases"
            See image for wording and placement relative to other menu items.

            Show
            ann.loraine Ann Loraine added a comment - Enable IGB users to show or hide soft-clipped bases in BAM tracks. Add option to track label context menu - "Show soft-clipped bases" See image for wording and placement relative to other menu items.
            ann.loraine Ann Loraine made changes -
            Attachment SoftClipped.png [ 14116 ]
            ann.loraine Ann Loraine made changes -
            Labels Advanced
            ann.loraine Ann Loraine made changes -
            Summary Correct how IGB shows soft-clipped bases in BAM files Allow showing soft-clipped bases in BAM files
            ann.loraine Ann Loraine made changes -
            Summary Allow showing soft-clipped bases in BAM files Show soft-clipped bases in BAM files
            kkorey Kiran Korey (Inactive) made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            kkorey Kiran Korey (Inactive) made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            Hide
            kkorey Kiran Korey (Inactive) added a comment -

            Adding David's comments here for future reference:
            Initial thoughts:
            1. You need to store everything you need to dynamically visualize the read in the data model when the file is loading.
            2. My understanding is likely very poor at this stage, but this probably means creating a custom "Sym" type that cares for the details of rendering.

            Additional quick thought that may or may not be useful:

            It seems the start position of the sym/glph is impacted by the soft clipping toggle. I think instead of hard-coding the position of the BAMSym at parse time you could instead capture fields in BamSym like softClipStartPosition and defaultStartPosition and then dynamically return one or the other depending on the preferences based toggle.

            i.e. in the getter for this property you could have an if condition that references this global preferences boolean

            boundaries of the glyph are important in steps such as packing, so I think you will need to take special care to repack/refresh the view when this toggle is triggered and the data model is parsed again for rendering.

            Show
            kkorey Kiran Korey (Inactive) added a comment - Adding David's comments here for future reference: Initial thoughts: 1. You need to store everything you need to dynamically visualize the read in the data model when the file is loading. 2. My understanding is likely very poor at this stage, but this probably means creating a custom "Sym" type that cares for the details of rendering. Additional quick thought that may or may not be useful: It seems the start position of the sym/glph is impacted by the soft clipping toggle. I think instead of hard-coding the position of the BAMSym at parse time you could instead capture fields in BamSym like softClipStartPosition and defaultStartPosition and then dynamically return one or the other depending on the preferences based toggle. i.e. in the getter for this property you could have an if condition that references this global preferences boolean boundaries of the glyph are important in steps such as packing, so I think you will need to take special care to repack/refresh the view when this toggle is triggered and the data model is parsed again for rendering.
            kkorey Kiran Korey (Inactive) made changes -
            Status In Progress [ 3 ] Open [ 1 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint B - Summer 2018, Summer 2018 Part 2 [ 48, 49 ] B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3 [ 48, 49, 50 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Story Points 2 10
            ann.loraine Ann Loraine made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Assignee Kiran Korey [ kkorey ] Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Anh Moss [ aduong ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3 [ 48, 49, 50 ] B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1 [ 48, 49, 50, 51 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1 [ 48, 49, 50, 51 ] B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1, Fall 2018 Sprint 2 [ 48, 49, 50, 51, 52 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1, Fall 2018 Sprint 2 [ 48, 49, 50, 51, 52 ] B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1, Fall 2018 Sprint 2, Fall 2018 Sprint 3 [ 48, 49, 50, 51, 52, 53 ]
            ann.loraine Ann Loraine made changes -
            Assignee Anh Moss [ aduong ] Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ] Nowlan Freese [ nfreese ]
            Hide
            nfreese Nowlan Freese added a comment -

            I am going to try to implement soft-clipping visualization similar to how insertions are drawn.
            This will most likely involve editing the following files:

            1. BAMSym.java
            2. XAM.java
            3. BAM.java
            4. SAM.java
            5. AnnotationGlyphFactory.java

            When testing, it will be important to look at memory use, as we will be drawing new glyphs for each instance of soft-clipping.
            We will also need to check paired-end reads, as they add an additional layer of complexity.

            Show
            nfreese Nowlan Freese added a comment - I am going to try to implement soft-clipping visualization similar to how insertions are drawn. This will most likely involve editing the following files: BAMSym.java XAM.java BAM.java SAM.java AnnotationGlyphFactory.java When testing, it will be important to look at memory use, as we will be drawing new glyphs for each instance of soft-clipping. We will also need to check paired-end reads, as they add an additional layer of complexity.
            Hide
            nfreese Nowlan Freese added a comment -

            My current branch with implemented softclipping:
            https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-1291-Softclipping

            Show
            nfreese Nowlan Freese added a comment - My current branch with implemented softclipping: https://bitbucket.org/nfreese/nowlanfork-igb/branch/IGBF-1291-Softclipping
            nfreese Nowlan Freese made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ]
            nfreese Nowlan Freese made changes -
            Status Needs 1st Level Review [ 10005 ] Pull Request Submitted [ 10101 ]
            nfreese Nowlan Freese made changes -
            Status Pull Request Submitted [ 10101 ] Needs 1st Level Review [ 10005 ]
            Hide
            nfreese Nowlan Freese added a comment -

            New implementation showing soft clips as black rectangles with red triangles. The soft clip glyph shows up on the first/last nucleotide that is matched (M on cigar string) after/before the soft clip.

            Show
            nfreese Nowlan Freese added a comment - New implementation showing soft clips as black rectangles with red triangles. The soft clip glyph shows up on the first/last nucleotide that is matched (M on cigar string) after/before the soft clip.
            nfreese Nowlan Freese made changes -
            Attachment softClipExample.png [ 14156 ]
            nfreese Nowlan Freese made changes -
            aduong Anh Moss (Inactive) made changes -
            Link This issue relates to IGBF-1422 [ IGBF-1422 ]
            nfreese Nowlan Freese made changes -
            Status Needs 1st Level Review [ 10005 ] In Progress [ 3 ]
            nfreese Nowlan Freese made changes -
            Assignee Nowlan Freese [ nfreese ]
            Hide
            nfreese Nowlan Freese added a comment -

            New implementation shows the entire length of the soft clip. Soft clip is selectable and has tooltips and edge matching.

            Show
            nfreese Nowlan Freese added a comment - New implementation shows the entire length of the soft clip. Soft clip is selectable and has tooltips and edge matching.
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1, Fall 2018 Sprint 2, Fall 2018 Sprint 3 [ 48, 49, 50, 51, 52, 53 ] B - Summer 2018, Summer 2018 Part 2, Summer 2018 Part 3, Fall 2018 1, Fall 2018 Sprint 2, Fall 2018 Sprint 3, Fall 2018 Sprint 4 [ 48, 49, 50, 51, 52, 53, 54 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            nfreese Nowlan Freese added a comment -

            New implementation has more options, better selection through menu. Appears to be working with the changes to HTSJDK.

            Show
            nfreese Nowlan Freese added a comment - New implementation has more options, better selection through menu. Appears to be working with the changes to HTSJDK.
            ann.loraine Ann Loraine made changes -
            Status In Progress [ 3 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Assignee Nowlan Freese [ nfreese ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Assignee Srishti Tiwari [ stiwari8 ]
            nfreese Nowlan Freese made changes -
            Link This issue is blocked by IGBF-1440 [ IGBF-1440 ]
            nfreese Nowlan Freese made changes -
            Link This issue is blocked by IGBF-1441 [ IGBF-1441 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-1442 [ IGBF-1442 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-1441 [ IGBF-1441 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-1440 [ IGBF-1440 ]
            nfreese Nowlan Freese made changes -
            Link This issue is blocked by IGBF-1441 [ IGBF-1441 ]
            nfreese Nowlan Freese made changes -
            Link This issue is blocked by IGBF-1440 [ IGBF-1440 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-1443 [ IGBF-1443 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status Needs Testing [ 10002 ] Testing In Progress [ 10003 ]
            Hide
            stiwari8 Srishti Tiwari (Inactive) added a comment -

            Tested using master branch of Loraine Lab and also using local build on Windows.
            The functionality is working correctly and the menu options are also easy to understand now. The code is not breaking anywhere.

            Show
            stiwari8 Srishti Tiwari (Inactive) added a comment - Tested using master branch of Loraine Lab and also using local build on Windows. The functionality is working correctly and the menu options are also easy to understand now. The code is not breaking anywhere.
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Resolution Done [ 10000 ]
            Status Testing In Progress [ 10003 ] Closed [ 6 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-1447 [ IGBF-1447 ]
            ann.loraine Ann Loraine made changes -
            Fix Version/s 9.0.2 Minor Release [ 10600 ]
            ann.loraine Ann Loraine made changes -
            Fix Version/s 9.1.0 Major Release [ 10601 ]
            nfreese Nowlan Freese made changes -
            Link This issue relates to IGBF-9 [ IGBF-9 ]
            ann.loraine Ann Loraine made changes -
            Workflow Loraine Lab Workflow [ 17982 ] Fall 2019 Workflow Update [ 19881 ]
            ann.loraine Ann Loraine made changes -
            Workflow Fall 2019 Workflow Update [ 19881 ] Revised Fall 2019 Workflow Update [ 22000 ]
            nfreese Nowlan Freese made changes -
            Assignee Srishti Tiwari [ stiwari8 ] Nowlan Freese [ nfreese ]

              People

              • Assignee:
                nfreese Nowlan Freese
                Reporter:
                ann.loraine Ann Loraine
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: