Header Leaderboard Ad

Collapse

python blastxml_to_tabular.py

Collapse

Announcement

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

  • python blastxml_to_tabular.py

    Good afternoon, all. I am relatively new to bioinformatics and am running into an error when I try to convert my xml file to a tabular file. I have used this command line before and didn't have any problems with it, but for some reason, I just can't get these files to be converted.

    Command line used:
    python blastxml_to_tabular.py -o P_jeffreysii_agatoxin.tab -c ext P_jeffreysii_agatoxin.xml

    This is the error that pops up after I hit enter:
    Problem splitting multuple hits?
    'tr_E9FSX5_Daphnia_pul_Cru_Bra'
    --> list index out of range

    I have checked, I am in the folders I'm supposed to be in, I've got the xml to tabular converter file with the xml file. There doesn't seem to be anything glaringly obviously wrong on the fasta file from the database. And I do have results on the xml files. But this is an error I get on every file I try to convert from xml to tabular that is run against this one database, except each time, it's a different sequence.

    I have googled the bananas out of this error and I have yet to find something that is helpful because they're all the "out of range" error but with different programs.

    Since I am pretty new, I'm hoping someone can help me understand what this error means and how I can fix it.

    Thank you in advance!

    Irene

  • #2
    Hi Irene,

    That error is because python is trying to get the second item in a list but the list only contains one item. Looking at the code (line 299), it appears that the script is trying to make a list from the hit definition by splitting is apart at the ">" symbol.

    As you can see from the output, that particular hit 'tr_E9FSX5_Daphnia_pul_Cru_Bra' does not contain a ">" symbol, and, therefore, the resulting list only contains this single item.

    Basically I think the input is just not in the correct format for this script. You could probably change the code a bit to get it to run but perhaps easiest would be to generate another input format? This help is provided in the script:

    # Expecting either this,
    # <Hit_id>gi|3024260|sp|P56514.1|OPSD_BUFBU</Hit_id>
    # <Hit_def>RecName: Full=Rhodopsin</Hit_def>
    # <Hit_accession>P56514</Hit_accession>
    # or,
    # <Hit_id>Subject_1</Hit_id>
    # <Hit_def>gi|57163783|ref|NP_001009242.1| rhodopsin [Felis catus]</Hit_def>
    # <Hit_accession>Subject_1</Hit_accession>
    #
    # apparently depending on the parse_deflines switch
    #
    # Or, with a local database not using -parse_seqids can get this,
    # <Hit_id>gnl|BL_ORD_ID|2</Hit_id>
    # <Hit_def>chrIII gi|240255695|ref|NC_003074.8| Arabidopsis
    # thaliana chromosome 3, complete sequence</Hit_def>
    # <Hit_accession>2</Hit_accession>

    Cheers,

    Matt.

    Comment


    • #3
      Thank you for your reply, Matt. I guess that's what I'm finding strange... The xml file is being generated using the same BLAST command line that I have used before and haven't had this issue... the only thing I am changing is the query and the database.

      The only thing that is really different is that the fasta file I turned into a database, was converted from a philip file into a fasta file before being turned into a database, while the other files I have turned into a database were downloaded as fasta files from Uniprot. I'll keep playing with it and see if I can figure it out!

      Thanks again,

      Irene

      Comment


      • #4
        Hmm, yep might need a bit of digging. It does seem that the script is requiring headers that look like NCBI / uniprot, e.g:

        <Hit_id>gi|3024260|sp|P56514.1|OPSD_BUFBU</Hit_id>

        Perhaps when you go from phylip to fasta, this header information is lost? You could also open up your xml file and compare the hit information to an xml file that you know works..

        Good luck!

        Matt.

        Comment

        Latest Articles

        Collapse

        • 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
        • seqadmin
          Expert Advice on Automating Your Library Preparations
          by seqadmin



          Using automation to prepare sequencing libraries isn’t a new concept, and most researchers are aware that there are numerous benefits to automating this process. However, many labs are still hesitant to switch to automation and often believe that it’s not suitable for their lab. To combat these concerns, we’ll cover some of the key advantages, review the most important considerations, and get real-world advice from automation experts to remove any lingering anxieties....
          02-21-2023, 02:14 PM

        ad_right_rmr

        Collapse

        News

        Collapse

        Topics Statistics Last Post
        Started by seqadmin, 03-17-2023, 12:32 PM
        0 responses
        8 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 03-15-2023, 12:42 PM
        0 responses
        17 views
        0 likes
        Last Post seqadmin  
        Started by seqadmin, 03-09-2023, 10:17 AM
        0 responses
        66 views
        1 like
        Last Post seqadmin  
        Started by seqadmin, 03-03-2023, 12:03 PM
        0 responses
        64 views
        0 likes
        Last Post seqadmin  
        Working...
        X