Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • lyz1030
    Member
    • Mar 2011
    • 33

    Picard's SamLocusIterator

    Hi,

    I want to use Picard to traverse mutiple sam file from different samples simultaneously. The information on every locus (from all the bam files) is useful to me. Now, I find 'SamLocusIterator' is only useful for traversing a single sam file. How can I use Picard or SamLocusIterator to traverse mutiple sam file simultaneously.

    Thanks
  • nilshomer
    Nils Homer
    • Nov 2008
    • 1283

    #2
    Why can't you just have multiple iterators, then wrap them in your own class?

    Comment

    • lyz1030
      Member
      • Mar 2011
      • 33

      #3
      I try to use multiple iterators (SamLocusIterator) to solve this problem. Howerver, it is very difficult to control the iterator order. I want to process the pileups from mutiple sam file when traversing a position (Calling variants) . Can you give me some suggestions?

      Comment

      • nilshomer
        Nils Homer
        • Nov 2008
        • 1283

        #4
        What order would you like each iterator to return records? Are they not individually ordered by genomic coordinate? You could have your Class that wraps the iterators itself implement the iterator interface, say by having a priority queue of records that tracks from which underlying iterator the record came, and when it is going to be returned by "next()" a new record from that specific iterator is added to the queue. The priority queue is prioritized based on a genomic coordinate comparitor.

        Comment

        • lyz1030
          Member
          • Mar 2011
          • 33

          #5
          Nils, thanks a lot for you suggestions. For example, I have two different bam files (from two samples, like normal and tumor, more than 2 bam files are also OK) and these two files are ordered by genomic coordinate. Now I want to use two SamLocusIt​erator to start traversing the two bam files. For any position, I want to get two Locusinfo (pileups) simultaneously (using two pileups to calling SNV) and proceed to traverse. I think the priority queue can solve this problem, but the speed may be slow especially for mutiple bam files. I want to know if I need a 'for loop'? Do you have any other suggestions?

          Comment

          • lyz1030
            Member
            • Mar 2011
            • 33

            #6
            For your first question, I merely want to get records in every locus simultaneously, not in any other order.

            Comment

            Latest Articles

            Collapse

            ad_right_rmr

            Collapse

            News

            Collapse

            Topics Statistics Last Post
            Started by SEQadmin2, Yesterday, 10:09 AM
            0 responses
            9 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-04-2026, 08:59 AM
            0 responses
            17 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-02-2026, 12:03 PM
            0 responses
            26 views
            0 reactions
            Last Post SEQadmin2  
            Started by SEQadmin2, 06-02-2026, 11:40 AM
            0 responses
            21 views
            0 reactions
            Last Post SEQadmin2  
            Working...