Header Leaderboard Ad


About script to combine steps of BWA



No announcement yet.
  • Filter
  • Time
  • Show
Clear All
new posts

  • About script to combine steps of BWA

    For BWA, first do alignment (generate .sai), then sampe the paired-ends (generate .sam), then convert .sam to .bam. Now I'm going to write script to combine all these steps. ie, input is fastq, then output is .bam file.

    Now a big question is, I need to guarantee, say, the first step (generating .sai) is COMPLETE (instead of being aborted) before going to the second step; and the second step (generating .sam) before the third. I there any way to check that for BWA? Or what's the sign for the completeness of each step?

    btw, for combining of steps of BWA, I just need to put those three commands together? Or any other trick?


  • #2
    Just write a shell script that calls your three commands in order... unless you are executing BWA on a server with a scheduler, in which case you can just submit all three commands independently with wait conditions.


    • #3
      If you are looking for one to cut and paste there is one on my introduction thread that will take samples from fastq files straight to sorted bams with dupsmarked. It doesn't do a check for errors after each step, but others could likely suggest a simple method to capture if the exit status of the previous step. Generally, I've not had many issue with errors except when I messed up...


      • #4
        Hello CNVboy,

        If you are running your combined script on a Scheduler then, only problem with giving all the commands together is that you will get to know about the errors only at the end, that too only "IF" you are not keeping an eye on the log file.
        (use "$tail -f <filename>" for that, keep looking at it every 10-15 mins)
        I use SGE and just tail -f the err and out files

        Same way for running the script directly, only difference is your output is now the terminal and not a file.

        Hope this helps,


        • #5
          THanks everyone.

          I think the core question is: how can we guarantee the quality of the generated .sai, .sam file? How do you know the programming at this step is complete? Just look at the size of files; or ,say judge the quality of .sai file by checking if it can produce .sam file?

          For example, some of my .sai file looks good size-wise, but somehow cannot produce .sam file with correct size (.sam file is only 8.0kb); then I just reproduce .sai file, and it can generate .sam file with correct size.

          Also, seems BWA returns exit codes; can we use this as the sign of completeness of each step? And try to make it like, command 2 will execute only if command 1 runs successfully
          Last edited by CNVboy; 06-22-2011, 05:19 AM.


          • #6
            In my experience BWA won't really ever error out unless there's a problem with your data or your command (or lack of memory). As long as your data/commands are correct you can just use a shell script - command n in a shell script will wait until command (n - 1) is complete before running so you're guaranteed to start in the correct order.

            As far as you yourself knowing if the .sai stage is complete, just check your stderr output - if it says "n sequences have been processed", where n = the number of sequences in your FASTQ file, then it's complete. But the shell will check this for you if it's running a script.


            Latest Articles


            • seqadmin
              A Brief Overview and Common Challenges in Single-cell Sequencing Analysis
              by seqadmin

              ​​​​​​The introduction of single-cell sequencing has advanced the ability to study cell-to-cell heterogeneity. Its use has improved our understanding of somatic mutations1, cell lineages2, cellular diversity and regulation3, and development in multicellular organisms4. Single-cell sequencing encompasses hundreds of techniques with different approaches to studying the genomes, transcriptomes, epigenomes, and other omics of individual cells. The analysis of single-cell sequencing data i...

              01-24-2023, 01:19 PM
            • seqadmin
              Introduction to Single-Cell Sequencing
              by seqadmin
              Single-cell sequencing is a technique used to investigate the genome, transcriptome, epigenome, and other omics of individual cells using high-throughput sequencing. This technology has provided many scientific breakthroughs and continues to be applied across many fields, including microbiology, oncology, immunology, neurobiology, precision medicine, and stem cell research.

              The advancement of single-cell sequencing began in 2009 when Tang et al. investigated the single-cell transcriptomes
              01-09-2023, 03:10 PM