Seqanswers Leaderboard Ad

Collapse

Announcement

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

  • 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.

  • #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


    • #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


      • #4
        Come on Peter, I caught you napping again

        Comment


        • #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


          • #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


            • #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


              • #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


                • #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


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

                    Best,
                    Thanos

                    Comment

                    Latest Articles

                    Collapse

                    • seqadmin
                      Current Approaches to Protein Sequencing
                      by seqadmin


                      Proteins are often described as the workhorses of the cell, and identifying their sequences is key to understanding their role in biological processes and disease. Currently, the most common technique used to determine protein sequences is mass spectrometry. While still a valuable tool, mass spectrometry faces several limitations and requires a highly experienced scientist familiar with the equipment to operate it. Additionally, other proteomic methods, like affinity assays, are constrained...
                      04-04-2024, 04:25 PM
                    • seqadmin
                      Strategies for Sequencing Challenging Samples
                      by seqadmin


                      Despite advancements in sequencing platforms and related sample preparation technologies, certain sample types continue to present significant challenges that can compromise sequencing results. Pedro Echave, Senior Manager of the Global Business Segment at Revvity, explained that the success of a sequencing experiment ultimately depends on the amount and integrity of the nucleic acid template (RNA or DNA) obtained from a sample. “The better the quality of the nucleic acid isolated...
                      03-22-2024, 06:39 AM

                    ad_right_rmr

                    Collapse

                    News

                    Collapse

                    Topics Statistics Last Post
                    Started by seqadmin, 04-11-2024, 12:08 PM
                    0 responses
                    24 views
                    0 likes
                    Last Post seqadmin  
                    Started by seqadmin, 04-10-2024, 10:19 PM
                    0 responses
                    25 views
                    0 likes
                    Last Post seqadmin  
                    Started by seqadmin, 04-10-2024, 09:21 AM
                    0 responses
                    22 views
                    0 likes
                    Last Post seqadmin  
                    Started by seqadmin, 04-04-2024, 09:00 AM
                    0 responses
                    52 views
                    0 likes
                    Last Post seqadmin  
                    Working...
                    X