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

Fix OverlapAnnotation Operator in Experimental Apps

    Details

    • Type: Improvement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None

      Description

      There are several older Apps in repository https://bitbucket.org/lorainelab/experimental-apps-for-igb/ that demonstrate aspects of the IGB API but are not hooking into IGB's extensions points in the right way.

      Specifically, the older Apps pre-date our migration to using dependency injection annotations "Component" and "Reference."

      For this task, add these annotations to OverlapAnnotationOperator to ensure that the Operator will get properly added to the Annotation tab.

      Suggestions: Consult with Shamika Gajanan Kulkarni, who has worked on this type of thing. Also, look at the existing Apps and existing Operators that are part of the IGB core code base.

        Attachments

          Activity

          Hide
          ann.loraine Ann Loraine added a comment -

          Other suggestion:

          Read OSGi declarative services specification: https://osgi.org/specification/osgi.cmpn/7.0.0/service.component.html

          Quoting from above:

          "The service component model uses a declarative model for publishing, finding and binding to OSGi services. This model simplifies the task of authoring OSGi services by performing the work of registering the service and handling service dependencies. This minimizes the amount of code a programmer has to write; it also allows service components to be loaded only when they are needed. As a result, bundles need not provide a BundleActivator class to collaborate with others through the service registry."

          Show
          ann.loraine Ann Loraine added a comment - Other suggestion: Read OSGi declarative services specification: https://osgi.org/specification/osgi.cmpn/7.0.0/service.component.html Quoting from above: "The service component model uses a declarative model for publishing, finding and binding to OSGi services. This model simplifies the task of authoring OSGi services by performing the work of registering the service and handling service dependencies. This minimizes the amount of code a programmer has to write; it also allows service components to be loaded only when they are needed. As a result, bundles need not provide a BundleActivator class to collaborate with others through the service registry."
          Hide
          shamika Shamika Gajanan Kulkarni (Inactive) added a comment -

          Refer to the code for Merge Annotation Operator app to check how the menu entry for Merge option gets added. This can help to infer how and where OverlapAnnotation adds an option.

          Show
          shamika Shamika Gajanan Kulkarni (Inactive) added a comment - Refer to the code for Merge Annotation Operator app to check how the menu entry for Merge option gets added. This can help to infer how and where OverlapAnnotation adds an option.
          Hide
          stiwari8 Srishti Tiwari (Inactive) added a comment -

          Hello ,

          I have done required changes for this task.
          Changes made:
          1. Deleted the activator class
          2. Ensured the required plugins were present in the parent pom.
          3. Added annotation to the newly added service.

          Please find the commit below for first level review:
          https://bitbucket.org/srishtitiwari/experimental-apps-for-igb/commits/6548325

          To test:
          1. Clone this branch and run "mvn package" for OverlapAnnotationOperator to build this app.
          2. Add the target folder (of OverlapAnnotationOperator) as a plugin/app repository in the Integrated Genome Browser.
          3. Select two tracks in IGB for any genome.
          4. In the Annotations tab, a new operator (subset by overlap) should be visible under Multi-track Operations.

          Please let me know if the above steps are not clear.

          Show
          stiwari8 Srishti Tiwari (Inactive) added a comment - Hello , I have done required changes for this task. Changes made: 1. Deleted the activator class 2. Ensured the required plugins were present in the parent pom. 3. Added annotation to the newly added service. Please find the commit below for first level review: https://bitbucket.org/srishtitiwari/experimental-apps-for-igb/commits/6548325 To test: 1. Clone this branch and run "mvn package" for OverlapAnnotationOperator to build this app. 2. Add the target folder (of OverlapAnnotationOperator) as a plugin/app repository in the Integrated Genome Browser. 3. Select two tracks in IGB for any genome. 4. In the Annotations tab, a new operator (subset by overlap) should be visible under Multi-track Operations. Please let me know if the above steps are not clear.
          Hide
          ann.loraine Ann Loraine added a comment -

          Srishti Tiwari - pleases see questions in the comments on your branch

          Show
          ann.loraine Ann Loraine added a comment - Srishti Tiwari - pleases see questions in the comments on your branch
          Hide
          stiwari8 Srishti Tiwari (Inactive) added a comment -

          Hi Dr. [~aloraine], I removed extra entries in the pom and tested it again.
          Please have a look.
          https://bitbucket.org/srishtitiwari/experimental-apps-for-igb/commits/41c73ca

          Show
          stiwari8 Srishti Tiwari (Inactive) added a comment - Hi Dr. [~aloraine] , I removed extra entries in the pom and tested it again. Please have a look. https://bitbucket.org/srishtitiwari/experimental-apps-for-igb/commits/41c73ca
          Hide
          ann.loraine Ann Loraine added a comment -

          Srishti Tiwari please configure your fork to build the apps via bitbucket pipelines to confirm that

          • the project can build
          • an IGB user can use the Downloads folder to install the Apps from your fork

          If that works, submit a PR.

          Show
          ann.loraine Ann Loraine added a comment - Srishti Tiwari please configure your fork to build the apps via bitbucket pipelines to confirm that the project can build an IGB user can use the Downloads folder to install the Apps from your fork If that works, submit a PR.
          Show
          stiwari8 Srishti Tiwari (Inactive) added a comment - Hi Dr. [~aloraine] The above is working fine. https://bitbucket.org/srishtitiwari/experimental-apps-for-igb/downloads/ PR submitted - https://bitbucket.org/lorainelab/experimental-apps-for-igb/pull-requests/7/igbf-2229/diff
          Hide
          ann.loraine Ann Loraine added a comment -

          Merged and ready for testing.

          Show
          ann.loraine Ann Loraine added a comment - Merged and ready for testing.
          Hide
          shamika Shamika Gajanan Kulkarni (Inactive) added a comment -

          Tested the ticket. I was able to install the app and could see the option 'Subset by overlap' in Multi menu under Annotation Tab when I selected two tracks. Moving to closed.

          Show
          shamika Shamika Gajanan Kulkarni (Inactive) added a comment - Tested the ticket. I was able to install the app and could see the option 'Subset by overlap' in Multi menu under Annotation Tab when I selected two tracks. Moving to closed.

            People

            • Assignee:
              stiwari8 Srishti Tiwari (Inactive)
              Reporter:
              ann.loraine Ann Loraine
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: