Unconfigured Ad

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts
  • jarwulf
    Junior Member
    • Apr 2012
    • 9

    bam converting speed

    I've taken another crack at an old problem I haven't been able to fix. My goal is to be able to recreate in java with picard an acceptable substitute to bedtools bam to bed conversion. The problem is my code for some reason takes an absurdly long time to run even with a small file. I was hoping someone would know if I could make any changes that could speed up the conversion.


    This part creates a new Swingworker task where a bam file will be converted and executes it. It also adds a listener to copy the converted file once it is finished and inform the user.

    Code:
    final BamConverter task = new BamConverter(chosenFile, txtArea);
    
        		task.addPropertyChangeListener(
    
        			    new PropertyChangeListener() {
    
        			        @Override
        			            public void propertyChange(PropertyChangeEvent evt) {
    
        			           if (task.getState() == StateValue.DONE) {
    
        			                   try {
        			                   chosenFileHolder = task.get();
        			                   chosenFile = chosenFileHolder;
        			               	txtArea.append("BAM2BED complete!\n");
        			        		txtArea.setCaretPosition(txtArea.getText().length());
        			                   } catch (InterruptedException exp) {
        			                   exp.printStackTrace();
        			                } catch (ExecutionException exp) {
        			                   exp.printStackTrace();
        			                   }
        			           }
        			            }
        			    }
        			);
        		
       
        		task.execute();
            }

    The task has a loop where the actual conversion takes place. The loop is seen below. Bedtools can converted a file in maybe 4 minutes or so but for some reason this loop seems to run on the same file for nearly an hour without signs of stopping. I'm okay with something a little slower than bedtools but the current speed is way too slow. Is this an inherent deficiency or would there be a way to improve the loop? Or maybe I made an error somewhere?


    Code:
    try {
        	
    
        	
        	 FileWriter fstream = new FileWriter(BAMconverted);
             BufferedWriter out = new BufferedWriter(fstream);
        	
        while (iterator.hasNext()) {
            final SAMRecord record = iterator.next();
            if (record.getReadUnmappedFlag()) {
                continue;
            }
    
           
            out.write(record.getReferenceName() + "\t" +
                    (record.getAlignmentStart() - 1) + "\t" + //subtract 1 to shift from one-based to zero-based
                    (record.getAlignmentEnd() - 1 + 1) + "\t" + //subtract 1 to shift from one-based to zero-based, and
                                                                // then add 1 to shift from inclusive to exclusive
                    record.getReadName() + "\t" +
                    record.getMappingQuality() + "\t" +
                    (record.getReadNegativeStrandFlag()? "-": "+") );
            
            cstepcount2=cstepcount;
            Integer.toString(cstepcount2);
            innerTextArea.append(""+cstepcount2 + "\n");
            innerTextArea.setCaretPosition(innerTextArea.getText().length());
            cstepcount++;
        
            if ((cstepcount/1000)==0)
            {
    
                //processing stuff
    
                publish( cstepcount ); // Tell the GUI about counter tracking the conversion steps completed.
            }
        
        
        }
        out.close();
        }
        catch(IOException ie){
            ie.printStackTrace();
           }
       
        reader.close();

Latest Articles

Collapse

  • SEQadmin2
    Proteomic Platforms: How to Choose the Right Analytical Strategy to Improve Detection and Clinical Applications
    by SEQadmin2


    Proteomics platforms are evolving rapidly, with advances in mass spectrometry and affinity-based approaches expanding what researchers can detect and at what scale. As the field moves toward deeper proteome coverage and clinical applications, scientists face an increasingly complex landscape of tools. This article will explore how researchers are navigating these choices to find the right platform for their work.

    The systematic characterization of the human proteome has
    ...
    07-20-2026, 11:48 AM
  • SEQadmin2
    Advanced Sequencing Platforms Tackle Neuroscience’s Toughest Genomics Problems
    by SEQadmin2



    Genomics studies in neuroscience face a special challenge due to the brain’s complexity and scarcity of samples. Mapping changes in cell type and state using conventional next-generation sequencing methods remains challenging. Advances in technologies like single-cell sequencing, spatial transcriptomics, and long-read sequencing have opened the door to deeper studies of the brain and diseases like Alzheimer’s, amyotrophic lateral sclerosis (ALS), and schizophrenia.
    ...
    07-09-2026, 11:10 AM
  • SEQadmin2
    Cancer Drug Resistance: The Lingering Barrier to Rising Survival
    by SEQadmin2



    Cancer survival rates have significantly increased in the last few decades in the United States, reaching a combined 70% 5-year survival rate by 2021. Behind this number, there are years of research to find new therapies, drug targets, and early detection methods. But there is one core challenge that keeps slowing down these advances, and it’s about drug resistance.

    There is no single reason why many patients don’t respond to treatment as expected. Cancer is...
    07-08-2026, 05:17 AM

ad_right_rmr

Collapse

News

Collapse

Topics Statistics Last Post
Started by SEQadmin2, 07-24-2026, 12:17 PM
0 responses
31 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 07-23-2026, 11:41 AM
0 responses
23 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 07-20-2026, 11:10 AM
0 responses
215 views
0 reactions
Last Post SEQadmin2  
Started by SEQadmin2, 07-13-2026, 10:26 AM
0 responses
79 views
0 reactions
Last Post SEQadmin2  
Working...