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

Update BigWig/BigBed htsjdk-igb version

    Details

    • Story Points:
      3
    • Sprint:
      Fall 3 2023 Oct 2, Fall 4 2023 Oct 16, Fall 5, Fall 6, Fall 7

      Description

      Situation: The BigWigHandler and BigBedHandler have a dependency on the artifact bigWigHandler (https://bitbucket.org/lorainelab/bigwig/src/master/). The bigWigHandler dependency has a dependency on htsjdk-igb version 2.16.2 which makes it a blocker for IGBF-3464.

      Task: Fork the bigwig repo and create a new branch with htsjdk-igb updated to a newer version (most likely >= 3). You will need to build and test the dependency locally to make sure that IGB works. See this documentation on adding local jars to local m2 repository.

        Attachments

          Issue Links

            Activity

            nfreese Nowlan Freese created issue -
            nfreese Nowlan Freese made changes -
            Field Original Value New Value
            Epic Link IGBF-1531 [ 17617 ]
            nfreese Nowlan Freese made changes -
            Link This issue blocks IGBF-3464 [ IGBF-3464 ]
            nfreese Nowlan Freese made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            nfreese Nowlan Freese made changes -
            Story Points 3
            nfreese Nowlan Freese made changes -
            Epic Link IGBF-1531 [ 17617 ] IGBF-3467 [ 22628 ]
            Hide
            ann.loraine Ann Loraine added a comment -

            Our BigWig/BigBed code currently declares a dependency on https://github.com/lorainelab/htsjdk-igb

            Show
            ann.loraine Ann Loraine added a comment - Our BigWig/BigBed code currently declares a dependency on https://github.com/lorainelab/htsjdk-igb
            Hide
            ann.loraine Ann Loraine added a comment -

            Discussed strategy for using newer htsjdk code in IGB. Made a diagram showing the strategy on a whiteboard and took a picture of it. Picture is attached for reference.

            Show
            ann.loraine Ann Loraine added a comment - Discussed strategy for using newer htsjdk code in IGB. Made a diagram showing the strategy on a whiteboard and took a picture of it. Picture is attached for reference.
            ann.loraine Ann Loraine made changes -
            Attachment IMG_3751.jpg [ 18056 ]
            Hide
            nfreese Nowlan Freese added a comment - - edited

            I was able to get IGB to build and run using htsjdk 2.24.1. After updating the pom.xml files for htsjdk (instead of htsjdk-igb), I added the following to the pom.xml for shared-lib-wrapper:

            Under the section "Dependencies which need to be "wrapped" into OSGI bundles"

                    <dependency>
                        <groupId>com.github.samtools</groupId>
                        <artifactId>htsjdk</artifactId>
                    </dependency>

            Then within the maven-bundle-plugin <Export-Package> I added

            htsjdk.*

            There is one error with BaiFileSymLoader and BaiSymLoader for samReaderFactory.open - this may be due to a change for visualizing the bai data by itself in IGB, though I'm not sure.
            I commented out the BigBedHandler, BigWigHandler, and bai modules to get around the errors. Everything else seems to be working in IGB.

            However, at this time I recommend Kaushik continue his work on updating htsjdk-igb to use the newer version of the htsjdk.

            Show
            nfreese Nowlan Freese added a comment - - edited I was able to get IGB to build and run using htsjdk 2.24.1. After updating the pom.xml files for htsjdk (instead of htsjdk-igb), I added the following to the pom.xml for shared-lib-wrapper: Under the section "Dependencies which need to be "wrapped" into OSGI bundles" <dependency> <groupId>com.github.samtools</groupId> <artifactId>htsjdk</artifactId> </dependency> Then within the maven-bundle-plugin <Export-Package> I added htsjdk.* There is one error with BaiFileSymLoader and BaiSymLoader for samReaderFactory.open - this may be due to a change for visualizing the bai data by itself in IGB, though I'm not sure. I commented out the BigBedHandler, BigWigHandler, and bai modules to get around the errors. Everything else seems to be working in IGB. However, at this time I recommend Kaushik continue his work on updating htsjdk-igb to use the newer version of the htsjdk.
            ann.loraine Ann Loraine made changes -
            Sprint Fall 3 2023 Oct 2 [ 179 ] Fall 3 2023 Oct 2, Fall 4 2023 Oct 16 [ 179, 180 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            kgopu Kaushik Gopu added a comment - - edited
            • Forked htsjdk 3.0.0 into my GitHub and made necessary changes to use it as a OSGi bundle
            • Both IGB and BigWig are now pulling htsjdk 3.0.0 from my local maven repository
            • Ran the application and no issues were found during compile time or runtime

            My concerns:

            • Cherry-picking commits can be time-consuming and often leads to dealing with merge conflicts. As a result, I manually incorporated the changes made by the IGB developers into my repository instead of using the cherry-picking process.
            Show
            kgopu Kaushik Gopu added a comment - - edited Forked htsjdk 3.0.0 into my GitHub and made necessary changes to use it as a OSGi bundle Both IGB and BigWig are now pulling htsjdk 3.0.0 from my local maven repository Ran the application and no issues were found during compile time or runtime My concerns: Cherry-picking commits can be time-consuming and often leads to dealing with merge conflicts. As a result, I manually incorporated the changes made by the IGB developers into my repository instead of using the cherry-picking process.
            nfreese Nowlan Freese made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            nfreese Nowlan Freese made changes -
            Link This issue blocks IGBF-3478 [ IGBF-3478 ]
            ann.loraine Ann Loraine made changes -
            Sprint Fall 3 2023 Oct 2, Fall 4 2023 Oct 16 [ 179, 180 ] Fall 3 2023 Oct 2, Fall 4 2023 Oct 16, Fall 5 [ 179, 180, 181 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint Fall 3 2023 Oct 2, Fall 4 2023 Oct 16, Fall 5 [ 179, 180, 181 ] Fall 3 2023 Oct 2, Fall 4 2023 Oct 16, Fall 5, Fall 6 [ 179, 180, 181, 182 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            kgopu Kaushik Gopu made changes -
            Link This issue is blocked by IGBF-3490 [ IGBF-3490 ]
            Hide
            kgopu Kaushik Gopu added a comment - - edited
            • Updated htsjdk-igb and bigwig to version 3.0.5 (previously 2.16.2) and 2.0.1 (previously 2.0.0) respectively
            • Submitted PR for the same.

            Note: This PR cannot be merged until htsjdk-3.0.5 is deployed. COMPLETED

            Show
            kgopu Kaushik Gopu added a comment - - edited Updated htsjdk-igb and bigwig to version 3.0.5 (previously 2.16.2) and 2.0.1 (previously 2.0.0) respectively Submitted PR for the same. Note: This PR cannot be merged until htsjdk-3.0.5 is deployed. COMPLETED
            kgopu Kaushik Gopu made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            kgopu Kaushik Gopu made changes -
            Status In Progress [ 3 ] Needs 1st Level Review [ 10005 ]
            kgopu Kaushik Gopu made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            kgopu Kaushik Gopu made changes -
            Status First Level Review in Progress [ 10301 ] Needs 1st Level Review [ 10005 ]
            kgopu Kaushik Gopu made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            kgopu Kaushik Gopu made changes -
            Status First Level Review in Progress [ 10301 ] Needs 1st Level Review [ 10005 ]
            kgopu Kaushik Gopu made changes -
            Status Needs 1st Level Review [ 10005 ] First Level Review in Progress [ 10301 ]
            kgopu Kaushik Gopu made changes -
            Status First Level Review in Progress [ 10301 ] Ready for Pull Request [ 10304 ]
            kgopu Kaushik Gopu made changes -
            Status Ready for Pull Request [ 10304 ] Pull Request Submitted [ 10101 ]
            kgopu Kaushik Gopu made changes -
            Assignee Kaushik Gopu [ kgopu ] Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            ann.loraine Ann Loraine made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            ann.loraine Ann Loraine made changes -
            Assignee Ann Loraine [ aloraine ]
            ann.loraine Ann Loraine made changes -
            Sprint Fall 3 2023 Oct 2, Fall 4 2023 Oct 16, Fall 5, Fall 6 [ 179, 180, 181, 182 ] Fall 3 2023 Oct 2, Fall 4 2023 Oct 16, Fall 5, Fall 6, Fall 7 [ 179, 180, 181, 182, 183 ]
            Hide
            nfreese Nowlan Freese added a comment -

            Tested on Mac using strategy described in IGBF-3464. Everything is working correctly. Closing ticket.

            Show
            nfreese Nowlan Freese added a comment - Tested on Mac using strategy described in IGBF-3464 . Everything is working correctly. Closing ticket.
            nfreese Nowlan Freese made changes -
            Assignee Kaushik Gopu [ kgopu ]
            nfreese Nowlan Freese made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            nfreese Nowlan Freese made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]
            nfreese Nowlan Freese made changes -
            Fix Version/s 10.0.0 Major Release [ 10900 ]
            nfreese Nowlan Freese made changes -
            Issue Type Task [ 3 ] Improvement [ 4 ]

              People

              • Assignee:
                kgopu Kaushik Gopu
                Reporter:
                nfreese Nowlan Freese
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: