Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • prs321
    Member
    • Jun 2013
    • 96

    #1

    How would I go about calling BWA from a python script?

    I am trying to make a python script that reads in a text file of pair end reads and then calls BWA mem on the pairs and outputs SAM files.
  • rhinoceros
    Senior Member
    • Apr 2013
    • 372

    #2
    Why not just make it a shell script?

    script.sh
    Code:
    BWA-MEM $1
    sh script.sh yourfile.txt
    savetherhino.org

    Comment

    • dpryan
      Devon Ryan
      • Jul 2011
      • 3478

      #3
      os.system, os.popen, os.fork, etc. There are a few different ways to do that, each with their pros and cons.

      Edit: As rhinoceros mentions, depending on the amount of processing you want done, this would normally performed via shell script.

      Comment

      • prs321
        Member
        • Jun 2013
        • 96

        #4
        I was told specifically to make a python script because it is more stable.

        Comment

        • dpryan
          Devon Ryan
          • Jul 2011
          • 3478

          #5
          You can ignore whomever told you that, he/she doesn't have a clue.

          Python is more powerful, in that you can certainly do more with it easily, but doing something simple like stitching together a pipeline is often easier to do in a shell script (that's their intended purpose).

          There are a lot of tools, learning which ones are most convenient for what situations are an important (and error ridden) part of the learning process.

          Comment

          • liux
            Member
            • Mar 2009
            • 30

            #6
            If you have to, use subprocess package. It should work fine.

            I think shell script is straightforward, and should be used, if all it does is to run a simple command. But I prefer python when the pipeline is complex.

            In my case, it is a little more complicated. In one of pipelines I created in python, I need to submit jobs to clusters. It is so much easier to read run configuration file, parse out sample name, create proper path, make meaningful job name in python (try it in bash script, you will know why I prefer python). However the submitted command errored out when it submitted from python, but pasted the print-out commands in terminal worked fine without any problem. I did not have time to find out a solution, so I let the python script generate a full set of shell commands with all the path, parameters, job dependencies, etc, nicely made, output to a xxxx.sh file, and run the shell script afterward. I probably did it backward, and need to do one extra step, but it did work well. I COULD have done all of it in shell script but then I am not so good at shell script, especially when it comes to text manipulation.

            Comment

            • themerlin
              Member
              • Feb 2010
              • 51

              #7
              If you will have future python scripts that will use BWA, then it would be worth the time to create a python function that calls bwa. If it is a one time thing, a shell script should be fine.

              Comment

              Latest Articles

              Collapse

              • SEQadmin2
                Multiomic Liquid Biopsy: What DNA/RNA Panels Reveal That DNA Alone Can’t
                by SEQadmin2



                Tumors contain complex mixtures of cell populations that evolve in response to treatment and host-specific factors. Tissue biopsies provide only static snapshots of a tumor’s state. But what if we could follow that evolution over time using a minimally invasive technique?

                Liquid biopsies can detect tumor-derived material circulating in the bloodstream, providing a way to study treatment response, detect emerging resistance, and discover new biomarkers. Circulating
                ...
                10-14-2026, 09:55 AM
              • SEQadmin2
                New Genomics Technologies Take Aim at Long-Standing Limits
                by SEQadmin2


                Researchers using sequencing and genomics tools often have to make trade-offs. They can choose between speed or scale, short reads or long-range information, or targeted panels or a view of the whole transcriptome. New technologies that have been released this year are built to address those tough choices.

                We asked six companies the same four questions to learn about their latest products. The new technologies bring a lot to the table, including rethinking sequencing
                ...
                09-28-2026, 10:25 AM

              ad_right_rmr

              Collapse

              News

              Collapse

              Topics Statistics Last Post
              Started by SEQadmin2, Yesterday, 11:13 AM
              0 responses
              16 views
              0 reactions
              Last Post SEQadmin2  
              Started by SEQadmin2, Yesterday, 10:48 AM
              0 responses
              16 views
              0 reactions
              Last Post SEQadmin2  
              Started by SEQadmin2, 10-15-2026, 10:52 AM
              0 responses
              35 views
              0 reactions
              Last Post SEQadmin2  
              Started by SEQadmin2, 10-14-2026, 05:39 AM
              0 responses
              42 views
              0 reactions
              Last Post SEQadmin2  
              Working...