Header Leaderboard Ad

Collapse

Annotate contigs with BLAST hit names; remove contigs with no hit

Collapse

Announcement

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

  • Annotate contigs with BLAST hit names; remove contigs with no hit

    Hi. I'm wondering if anyone knows a tool I can use to annotate contigs with BLAST hit names (and remove contigs that don't have BLAST hits).

    I have an input .fa file containing the contigs and an output .xml file from blastx.

    For smaller input files, I've been using the GUI version of BLAST2GO, but it can't really handle more than 20,000 BLAST hits at once and my newest fasta file contains many hundreds of thousands of contigs.

    I could write my own bioperl script, but I wouldn't trust that it would work under all circumstances. Is there anything out there?


    Thanks!

  • #2
    For B2G are you using a local database?

    I run have been doing some annotation with B2G using a local database I setup and it works pretty well. I generate input blast.xml files using Stand Alone Blast first. Then run that through B2Gpipe.

    The BLASTing is the part that takes the longest, the actual annotation goes very quickly (around a day for ~60k sequences).

    Comment


    • #3
      Yes, I have a local database. But I don't want to annotate with GO info yet. I only want to sort out contigs that do and do not have blastx hits.

      Comment


      • #4
        This should be pretty simple to do using a unix script (maybe even a one liner).

        What format are your blast output files in?

        Comment


        • #5
          Originally posted by tboothby View Post
          This should be pretty simple to do using a unix script (maybe even a one liner).

          What format are your blast output files in?
          XML format generated with
          Code:
          >blastx -db caniformia_refseq_protein  -query mergedtrinity.fa -out blast_records.xml -evalue 1e-5 -outfmt 5 -show_gis -num_alignments 1 -num_descriptions 1 -num_threads 32

          Comment


          • #6
            To find blast queries WITHOUT hits, try something like grep? The -A option selects lines above your search term, while -B selects lines after the search term. You will have to look at your xml file and count the number of lines above and below the 'No hits found' line and input them into the command line below.

            grep -A -B 'No hits found' /path/to/your/file > /path/to/output/file

            If you want to get all the blast results that DID have hits try the command below (the -v selects the inverse of your search pattern and options):

            grep -v -A -B 'No hits found' /path/to/your/file > /path/to/output/file

            Comment


            • #7
              Yes, thanks. I can do this quite easily with grep. But as I said, what I wish to do is annotate (i.e., rename contigs) with BLAST hits and put them in one file, then remove contigs that lack BLAST hits (i.e., place them in another file).

              Comment


              • #8
                Bueller_007,

                In addition to tboothby's suggestion, which looks simple enough, a more complex way is to convert your xml file into a tab-based format. Then you can open it in excel and you will see the results right away - the contigs with no hits will only have the first column (contig ID).

                Comment


                • #9
                  Thanks, but as I've explained, this does not at all accomplish what I'm trying to do. (And the number of rows would overwhelm Excel in any case.)

                  I'll just write a bioperl script.

                  Comment


                  • #10
                    Did you manage to write that script Bueller? I'm mid way through doing something similar and would appreciate any perl tips...

                    Comment


                    • #11
                      Originally posted by nr23 View Post
                      Did you manage to write that script Bueller? I'm mid way through doing something similar and would appreciate any perl tips...
                      I don't remember... That effort has been lost to the sands of time. But in the end I think I just switched to the command-line version of Blast2GO and that mostly did what I was looking for.

                      Comment

                      Latest Articles

                      Collapse

                      • seqadmin
                        Improved Targeted Sequencing: A Comprehensive Guide to Amplicon Sequencing
                        by seqadmin



                        Amplicon sequencing is a targeted approach that allows researchers to investigate specific regions of the genome. This technique is routinely used in applications such as variant identification, clinical research, and infectious disease surveillance. The amplicon sequencing process begins by designing primers that flank the regions of interest. The DNA sequences are then amplified through PCR (typically multiplex PCR) to produce amplicons complementary to the targets. RNA targets...
                        03-21-2023, 01:49 PM
                      • seqadmin
                        Targeted Sequencing: Choosing Between Hybridization Capture and Amplicon Sequencing
                        by seqadmin




                        Targeted sequencing is an effective way to sequence and analyze specific genomic regions of interest. This method enables researchers to focus their efforts on their desired targets, as opposed to other methods like whole genome sequencing that involve the sequencing of total DNA. Utilizing targeted sequencing is an attractive option for many researchers because it is often faster, more cost-effective, and only generates applicable data. While there are many approaches...
                        03-10-2023, 05:31 AM

                      ad_right_rmr

                      Collapse

                      News

                      Collapse

                      Topics Statistics Last Post
                      Started by seqadmin, Yesterday, 11:44 AM
                      0 responses
                      8 views
                      0 likes
                      Last Post seqadmin  
                      Started by seqadmin, 03-24-2023, 02:45 PM
                      0 responses
                      18 views
                      0 likes
                      Last Post seqadmin  
                      Started by seqadmin, 03-22-2023, 12:26 PM
                      0 responses
                      18 views
                      0 likes
                      Last Post seqadmin  
                      Started by seqadmin, 03-17-2023, 12:32 PM
                      0 responses
                      19 views
                      0 likes
                      Last Post seqadmin  
                      Working...
                      X