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

Investigate: How does IGB select com.affymetrix.igb.view.factories class when loading data into a track

    Details

    • Type: Task
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: None
    • Labels:
      None
    • Story Points:
      1
    • Sprint:
      Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr, Spring 8 : 24 Apr to 8 May, Spring 8 : 11 May to 25 May

      Description

      Add breakpoints to the annotation factory class in com.affymetrix.igb.view.factories and observe what happens when you click Load Data after opening a narrowpeak file.

      Based on looking at the code, it looks like this method:

      private void addAnnotationGlyphs(SeqMapView smv, RootSeqSymmetry annotSym, BioSeq seq)

      in

      com.affymetrix.igb.view.TrackView
      Is where the MapTierGlyphFactoryI for a given data set is identified and used to add Glyphs to IGB's SeqMapView

      We need to confirm this.

      Ideally, we can write a new new factory class that will let us add custom Glyphs to a genotyping results class, simply by adding the factory to the service registry for same.

        Attachments

          Issue Links

            Activity

            ann.loraine Ann Loraine created issue -
            ann.loraine Ann Loraine made changes -
            Field Original Value New Value
            Epic Link IGBF-2246 [ 18393 ]
            ann.loraine Ann Loraine made changes -
            Link This issue relates to IGBF-2247 [ IGBF-2247 ]
            ann.loraine Ann Loraine made changes -
            Link This issue blocks IGBF-2251 [ IGBF-2251 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            ann.loraine Ann Loraine made changes -
            Description Add breakpoints to the annotation factory class in com.affymetrix.igb.view.factories and observe what happens when you click *Load Data* after opening a narrowpeak file.

            Based on looking at the code, it looks like this method:

            private void addAnnotationGlyphs(SeqMapView smv, RootSeqSymmetry annotSym, BioSeq seq)
            in

            com.affymetrix.igb.view.TrackView
            Is where the MapTierGlyphFactoryI for a given data set is identified and used to add Glyphs to IGB's SeqMapView

            We need to confirm this.

            Ideally, we can write a new new factory class that will let us add custom Glyphs to a genotyping results class, simply by adding the factory to the service registry for same.
            Add breakpoints to the annotation factory class in com.affymetrix.igb.view.factories and observe what happens when you click *Load Data* after opening a narrowpeak file.

            Based on looking at the code, it looks like this method:

            private void addAnnotationGlyphs(SeqMapView smv, RootSeqSymmetry annotSym, BioSeq seq)

            in

            com.affymetrix.igb.view.TrackView
            Is where the MapTierGlyphFactoryI for a given data set is identified and used to add Glyphs to IGB's SeqMapView

            We need to confirm this.

            Ideally, we can write a new new factory class that will let us add custom Glyphs to a genotyping results class, simply by adding the factory to the service registry for same.
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            Hide
            stiwari8 Srishti Tiwari (Inactive) added a comment -

            Hi Dr. [~aloraine],

            The above understanding is correct. However, as per current implementation, we cannot have multiple GylphFactories for one File type category. (Please refer: MapTierTypeRegistry.java > getDefaultFactoryFor(FileTypeCategory) This method returns the first GlyphFactory in the list of preprocessors it has)
            For our case, we could change this behavior by making a change in the above method or add a new file type category.

            Also,
            In FileTypeHolder there is a Map that stores file extensions and their FileTypeHandlers.
            As per current implementation, the number of FileTypeCategories is fixed (as enums). Every new extension must belong to one of the predefined file type categories. If the new file type category needs to be added, we have to touch the core IGB codebase. We can change this by making the FileTypeCategory extensible. The way to do that is mentioned below:
            https://dzone.com/articles/java-extensible-enum-with-interface

            Show
            stiwari8 Srishti Tiwari (Inactive) added a comment - Hi Dr. [~aloraine] , The above understanding is correct. However, as per current implementation, we cannot have multiple GylphFactories for one File type category. (Please refer: MapTierTypeRegistry.java > getDefaultFactoryFor(FileTypeCategory) This method returns the first GlyphFactory in the list of preprocessors it has) For our case, we could change this behavior by making a change in the above method or add a new file type category. Also, In FileTypeHolder there is a Map that stores file extensions and their FileTypeHandlers. As per current implementation, the number of FileTypeCategories is fixed (as enums). Every new extension must belong to one of the predefined file type categories. If the new file type category needs to be added, we have to touch the core IGB codebase. We can change this by making the FileTypeCategory extensible. The way to do that is mentioned below: https://dzone.com/articles/java-extensible-enum-with-interface
            Hide
            stiwari8 Srishti Tiwari (Inactive) added a comment -

            Findings regarding whether Annotation Track is extensible to proposed user-created file type categories:
            In AnnotationTrackPanel and AnnotationOperationImpl classes there is a static array of file type categories defined, which contains only three values - Annotation, Alignment, and ProbeSet.

            Show
            stiwari8 Srishti Tiwari (Inactive) added a comment - Findings regarding whether Annotation Track is extensible to proposed user-created file type categories: In AnnotationTrackPanel and AnnotationOperationImpl classes there is a static array of file type categories defined, which contains only three values - Annotation, Alignment, and ProbeSet.
            Hide
            ann.loraine Ann Loraine added a comment -

            Srishti Tiwari - follow-up question:

            If you were to remove "Annotation" from the static array, would that cause the Annotation tab to stop becoming active when users click on an "Annotation" track label?

            Show
            ann.loraine Ann Loraine added a comment - Srishti Tiwari - follow-up question: If you were to remove "Annotation" from the static array, would that cause the Annotation tab to stop becoming active when users click on an "Annotation" track label?
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb [ 86 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 21 Feb [ 86, 87 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb [ 86, 87 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar [ 86, 87, 89 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar [ 86, 87, 89 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar [ 86, 87, 89, 90 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            nfreese Nowlan Freese made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar [ 86, 87, 89, 90 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10 [ 86, 87, 89, 90, 91 ]
            nfreese Nowlan Freese made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10 [ 86, 87, 89, 90, 91 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr [ 86, 87, 89, 90, 91, 92 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr [ 86, 87, 89, 90, 91, 92 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr, Spring 8 : 24 Apr to 8 May [ 86, 87, 89, 90, 91, 92, 93 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            ann.loraine Ann Loraine made changes -
            Sprint Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr, Spring 8 : 24 Apr to 8 May [ 86, 87, 89, 90, 91, 92, 93 ] Spring 3 : 3 Feb to 14 Feb, Spring 3 : 17 Feb to 28 Feb, Spring 4 : 2 Mar to 13 Mar, Spring 5 : 16 Mar to 27 Mar, Spring 6 : 30 Mar to Apr 10, Spring 7 : 13 Apr to 24 Apr, Spring 8 : 24 Apr to 8 May, Spring 8 : 11 May to 25 May [ 86, 87, 89, 90, 91, 92, 93, 94 ]
            ann.loraine Ann Loraine made changes -
            Rank Ranked higher
            Hide
            ann.loraine Ann Loraine added a comment -

            If you have some tips or advice for the next developer who works on this, please add them to this ticket. Then move to Done. If not, also move to Done.

            cc: Srishti Tiwari

            Show
            ann.loraine Ann Loraine added a comment - If you have some tips or advice for the next developer who works on this, please add them to this ticket. Then move to Done. If not, also move to Done. cc: Srishti Tiwari
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status To-Do [ 10305 ] In Progress [ 3 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status In Progress [ 3 ] To-Do [ 10305 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status To-Do [ 10305 ] Pull Request Submitted [ 10101 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status Pull Request Submitted [ 10101 ] Reviewing Pull Request [ 10303 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status Reviewing Pull Request [ 10303 ] Merged Needs Testing [ 10002 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Status Merged Needs Testing [ 10002 ] Post-merge Testing In Progress [ 10003 ]
            stiwari8 Srishti Tiwari (Inactive) made changes -
            Resolution Done [ 10000 ]
            Status Post-merge Testing In Progress [ 10003 ] Closed [ 6 ]

              People

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

                Dates

                • Created:
                  Updated:
                  Resolved: