Unconfigured Ad

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • joscarhuguet
    Member
    • Feb 2010
    • 18

    #1

    splitting big genbank file

    I have a big gbk file containing multiple gbks, is there any simple way to split this big gbk into small gbks Thanks.
  • nickloman
    Senior Member
    • Jul 2009
    • 355

    #2
    I haven't tried it out but 'seqretsplit' from the EMBOSS package might do what you want. Otherwise it's a quick script in Bioperl or Biopython, e.g. in BioPython (untested)

    Run like python splitgbk.py < input.gbk

    Will create a file for each entry in the current directory.

    -- splitgbk.py

    Code:
    from Bio import SeqIO
    import sys
    
    for rec in SeqIO.parse(sys.stdin, "genbank"):
       SeqIO.write([rec], open(rec.id + ".gbk", "w"), "genbank")

    Comment

    • maubp
      Peter (Biopython etc)
      • Jul 2009
      • 1544

      #3
      If you want one file per record, try EMBOSS seqret and the -ossingle_outseq option.

      EDIT: That probably does the same as EMBOSS seqretsplit suggested by Nick while I was writing this.


      Do you just want to break it up into batches, say 10 records in each file? Or, do you have a particular order in mind (which could involve either sorting or random access).
      Last edited by maubp; 03-19-2012, 11:28 AM. Reason: Nick posted at same time

      Comment

      • nickloman
        Senior Member
        • Jul 2009
        • 355

        #4
        Come on Peter, I caught you napping again

        Comment

        • Richard Finney
          Senior Member
          • Feb 2009
          • 701

          #5
          split genbank files using awk

          awk -v n=1 '/^\/\//{close("out"n);n++;next} {print > "out"n}' yourfilename.gbk

          Split yourfilename.gbk into multiple files by splitting at "//" (end of record) line.
          Last edited by Richard Finney; 03-20-2012, 09:51 AM.

          Comment

          • thmourikis
            Junior Member
            • May 2013
            • 8

            #6
            Hi all,

            I have the same problem but I want to split the file every 1000 entries. My file has 500,000 records and I want 500 files of 1000 records each. Any suggestions?

            Thanks in advance.
            Thanos

            Comment

            • maubp
              Peter (Biopython etc)
              • Jul 2009
              • 1544

              #7
              Thanos - which scripting languages do you know? GenBank records end with a // line (which is what Richard's awk command exploits) so it is very simple to split up a file into sub-files named however you like using Perl, Python or Ruby.

              Comment

              • thmourikis
                Junior Member
                • May 2013
                • 8

                #8
                Hi Peter and thank you for your immediate reply.

                I currently use Perl (not very experienced though). I guess I can try to alter Richard's awk command and implement it in a Perl script for renaming etc.

                Thank you once again.

                Comment

                • Richard Finney
                  Senior Member
                  • Feb 2009
                  • 701

                  #9
                  awk -v n=1 -v p=0 '/^\/\//{p++;if(((p%1000)==0)&&(p!=0)){close("out"n);n++;next}} {print > "out"n}' yourfilename.gbk

                  splits at 1000 records.

                  Comment

                  • thmourikis
                    Junior Member
                    • May 2013
                    • 8

                    #10
                    Thanks a lot Richard! I really appreciate that!

                    Best,
                    Thanos

                    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
                    19 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, Yesterday, 10:48 AM
                    0 responses
                    18 views
                    0 reactions
                    Last Post SEQadmin2  
                    Started by SEQadmin2, 10-15-2026, 10:52 AM
                    0 responses
                    36 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...