Mercurial > repos > peterjc > blastxml_to_top_descr
changeset 13:8dc4ba7eba5d draft default tip
v0.1.2 with Python 3.9 declaration
author | peterjc |
---|---|
date | Sun, 17 Sep 2023 13:01:56 +0000 |
parents | fe1ed74793c9 |
children | |
files | test-data/blastp_four_human_vs_rhodopsin.xml test-data/blastp_four_human_vs_rhodopsin_converted_ext.tabular test-data/blastp_four_human_vs_rhodopsin_top3.tabular test-data/blastp_four_human_vs_rhodopsin_top3_positive.tabular tools/blastxml_to_top_descr/README.rst tools/blastxml_to_top_descr/blastxml_to_top_descr.py tools/blastxml_to_top_descr/blastxml_to_top_descr.xml tools/blastxml_to_top_descr/repository_dependencies.xml |
diffstat | 8 files changed, 235 insertions(+), 575 deletions(-) [+] |
line wrap: on
line diff
--- a/test-data/blastp_four_human_vs_rhodopsin.xml Wed Jul 30 05:36:52 2014 -0400 +++ b/test-data/blastp_four_human_vs_rhodopsin.xml Sun Sep 17 13:01:56 2023 +0000 @@ -2,10 +2,10 @@ <!DOCTYPE BlastOutput PUBLIC "-//NCBI//NCBI BlastOutput/EN" "http://www.ncbi.nlm.nih.gov/dtd/NCBI_BlastOutput.dtd"> <BlastOutput> <BlastOutput_program>blastp</BlastOutput_program> - <BlastOutput_version>BLASTP 2.2.29+</BlastOutput_version> + <BlastOutput_version>BLASTP 2.10.1+</BlastOutput_version> <BlastOutput_reference>Stephen F. Altschul, Thomas L. Madden, Alejandro A. Sch&auml;ffer, Jinghui Zhang, Zheng Zhang, Webb Miller, and David J. Lipman (1997), "Gapped BLAST and PSI-BLAST: a new generation of protein database search programs", Nucleic Acids Res. 25:3389-3402.</BlastOutput_reference> <BlastOutput_db></BlastOutput_db> - <BlastOutput_query-ID>sp|Q9BS26|ERP44_HUMAN</BlastOutput_query-ID> + <BlastOutput_query-ID>Q9BS26</BlastOutput_query-ID> <BlastOutput_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</BlastOutput_query-def> <BlastOutput_query-len>406</BlastOutput_query-len> <BlastOutput_param> @@ -20,7 +20,7 @@ <BlastOutput_iterations> <Iteration> <Iteration_iter-num>1</Iteration_iter-num> - <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> + <Iteration_query-ID>Q9BS26</Iteration_query-ID> <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> <Iteration_query-len>406</Iteration_query-len> <Iteration_hits> @@ -29,8 +29,8 @@ <Statistics> <Statistics_db-num>0</Statistics_db-num> <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>30</Statistics_hsp-len> - <Statistics_eff-space>119568</Statistics_eff-space> + <Statistics_hsp-len>42</Statistics_hsp-len> + <Statistics_eff-space>657748</Statistics_eff-space> <Statistics_kappa>0.041</Statistics_kappa> <Statistics_lambda>0.267</Statistics_lambda> <Statistics_entropy>0.14</Statistics_entropy> @@ -40,17 +40,17 @@ </Iteration> <Iteration> <Iteration_iter-num>2</Iteration_iter-num> - <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> - <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>406</Iteration_query-len> + <Iteration_query-ID>Q9NSY1</Iteration_query-ID> + <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> + <Iteration_query-len>1161</Iteration_query-len> <Iteration_hits> </Iteration_hits> <Iteration_stat> <Statistics> <Statistics_db-num>0</Statistics_db-num> <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>30</Statistics_hsp-len> - <Statistics_eff-space>119568</Statistics_eff-space> + <Statistics_hsp-len>50</Statistics_hsp-len> + <Statistics_eff-space>1954249</Statistics_eff-space> <Statistics_kappa>0.041</Statistics_kappa> <Statistics_lambda>0.267</Statistics_lambda> <Statistics_entropy>0.14</Statistics_entropy> @@ -60,17 +60,17 @@ </Iteration> <Iteration> <Iteration_iter-num>3</Iteration_iter-num> - <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> - <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>406</Iteration_query-len> + <Iteration_query-ID>P06213</Iteration_query-ID> + <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> + <Iteration_query-len>1382</Iteration_query-len> <Iteration_hits> </Iteration_hits> <Iteration_stat> <Statistics> <Statistics_db-num>0</Statistics_db-num> <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>30</Statistics_hsp-len> - <Statistics_eff-space>119568</Statistics_eff-space> + <Statistics_hsp-len>51</Statistics_hsp-len> + <Statistics_eff-space>2333243</Statistics_eff-space> <Statistics_kappa>0.041</Statistics_kappa> <Statistics_lambda>0.267</Statistics_lambda> <Statistics_entropy>0.14</Statistics_entropy> @@ -80,307 +80,7 @@ </Iteration> <Iteration> <Iteration_iter-num>4</Iteration_iter-num> - <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> - <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>406</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>30</Statistics_hsp-len> - <Statistics_eff-space>119568</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>5</Iteration_iter-num> - <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> - <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>406</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>30</Statistics_hsp-len> - <Statistics_eff-space>119568</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>6</Iteration_iter-num> - <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> - <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>406</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>30</Statistics_hsp-len> - <Statistics_eff-space>119568</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>7</Iteration_iter-num> - <Iteration_query-ID>sp|Q9NSY1|BMP2K_HUMAN</Iteration_query-ID> - <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> - <Iteration_query-len>1161</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>38</Statistics_hsp-len> - <Statistics_eff-space>348130</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>8</Iteration_iter-num> - <Iteration_query-ID>sp|Q9NSY1|BMP2K_HUMAN</Iteration_query-ID> - <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> - <Iteration_query-len>1161</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>38</Statistics_hsp-len> - <Statistics_eff-space>348130</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>9</Iteration_iter-num> - <Iteration_query-ID>sp|Q9NSY1|BMP2K_HUMAN</Iteration_query-ID> - <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> - <Iteration_query-len>1161</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>38</Statistics_hsp-len> - <Statistics_eff-space>348130</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>10</Iteration_iter-num> - <Iteration_query-ID>sp|Q9NSY1|BMP2K_HUMAN</Iteration_query-ID> - <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> - <Iteration_query-len>1161</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>38</Statistics_hsp-len> - <Statistics_eff-space>348130</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>11</Iteration_iter-num> - <Iteration_query-ID>sp|Q9NSY1|BMP2K_HUMAN</Iteration_query-ID> - <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> - <Iteration_query-len>1161</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>38</Statistics_hsp-len> - <Statistics_eff-space>348130</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>12</Iteration_iter-num> - <Iteration_query-ID>sp|Q9NSY1|BMP2K_HUMAN</Iteration_query-ID> - <Iteration_query-def>BMP-2-inducible protein kinase OS=Homo sapiens GN=BMP2K PE=1 SV=2</Iteration_query-def> - <Iteration_query-len>1161</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>38</Statistics_hsp-len> - <Statistics_eff-space>348130</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>13</Iteration_iter-num> - <Iteration_query-ID>sp|P06213|INSR_HUMAN</Iteration_query-ID> - <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> - <Iteration_query-len>1382</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>39</Statistics_hsp-len> - <Statistics_eff-space>414987</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>14</Iteration_iter-num> - <Iteration_query-ID>sp|P06213|INSR_HUMAN</Iteration_query-ID> - <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> - <Iteration_query-len>1382</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>39</Statistics_hsp-len> - <Statistics_eff-space>414987</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>15</Iteration_iter-num> - <Iteration_query-ID>sp|P06213|INSR_HUMAN</Iteration_query-ID> - <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> - <Iteration_query-len>1382</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>39</Statistics_hsp-len> - <Statistics_eff-space>414987</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>16</Iteration_iter-num> - <Iteration_query-ID>sp|P06213|INSR_HUMAN</Iteration_query-ID> - <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> - <Iteration_query-len>1382</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>39</Statistics_hsp-len> - <Statistics_eff-space>414987</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>17</Iteration_iter-num> - <Iteration_query-ID>sp|P06213|INSR_HUMAN</Iteration_query-ID> - <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> - <Iteration_query-len>1382</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>39</Statistics_hsp-len> - <Statistics_eff-space>414987</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>18</Iteration_iter-num> - <Iteration_query-ID>sp|P06213|INSR_HUMAN</Iteration_query-ID> - <Iteration_query-def>Insulin receptor OS=Homo sapiens GN=INSR PE=1 SV=4</Iteration_query-def> - <Iteration_query-len>1382</Iteration_query-len> -<Iteration_hits> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>39</Statistics_hsp-len> - <Statistics_eff-space>414987</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> - <Iteration_message>No hits found</Iteration_message> -</Iteration> -<Iteration> - <Iteration_iter-num>19</Iteration_iter-num> - <Iteration_query-ID>sp|P08100|OPSD_HUMAN</Iteration_query-ID> + <Iteration_query-ID>P08100</Iteration_query-ID> <Iteration_query-def>Rhodopsin OS=Homo sapiens GN=RHO PE=1 SV=1</Iteration_query-def> <Iteration_query-len>348</Iteration_query-len> <Iteration_hits> @@ -412,74 +112,36 @@ </Hsp> </Hit_hsps> </Hit> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>29</Statistics_hsp-len> - <Statistics_eff-space>101761</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> -</Iteration> -<Iteration> - <Iteration_iter-num>20</Iteration_iter-num> - <Iteration_query-ID>sp|P08100|OPSD_HUMAN</Iteration_query-ID> - <Iteration_query-def>Rhodopsin OS=Homo sapiens GN=RHO PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>348</Iteration_query-len> -<Iteration_hits> <Hit> - <Hit_num>1</Hit_num> - <Hit_id>gi|3024260|sp|P56514.1|OPSD_BUFBU</Hit_id> - <Hit_def>RecName: Full=Rhodopsin</Hit_def> - <Hit_accession>P56514</Hit_accession> - <Hit_len>354</Hit_len> + <Hit_num>2</Hit_num> + <Hit_id>gi|223523|prf||0811197A</Hit_id> + <Hit_def>rhodopsin [Bos taurus]</Hit_def> + <Hit_accession>0811197A</Hit_accession> + <Hit_len>347</Hit_len> <Hit_hsps> <Hsp> <Hsp_num>1</Hsp_num> - <Hsp_bit-score>619.002</Hsp_bit-score> - <Hsp_score>1595</Hsp_score> + <Hsp_bit-score>673.315</Hsp_bit-score> + <Hsp_score>1736</Hsp_score> <Hsp_evalue>0</Hsp_evalue> <Hsp_query-from>1</Hsp_query-from> - <Hsp_query-to>341</Hsp_query-to> + <Hsp_query-to>348</Hsp_query-to> <Hsp_hit-from>1</Hsp_hit-from> - <Hsp_hit-to>342</Hsp_hit-to> + <Hsp_hit-to>347</Hsp_hit-to> <Hsp_query-frame>0</Hsp_query-frame> <Hsp_hit-frame>0</Hsp_hit-frame> - <Hsp_identity>290</Hsp_identity> - <Hsp_positive>322</Hsp_positive> + <Hsp_identity>324</Hsp_identity> + <Hsp_positive>336</Hsp_positive> <Hsp_gaps>1</Hsp_gaps> - <Hsp_align-len>342</Hsp_align-len> - <Hsp_qseq>MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEA-SATVSKTE</Hsp_qseq> - <Hsp_hseq>MNGTEGPNFYIPMSNKTGVVRSPFEYPQYYLAEPWQYSILCAYMFLLILLGFPINFMTLYVTIQHKKLRTPLNYILLNLAFANHFMVLCGFTVTMYSSMNGYFILGATGCYVEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFSENHAVMGVAFTWIMALSCAVPPLLGWSRYIPEGMQCSCGVDYYTLKPEVNNESFVIYMFVVHFTIPLIIIFFCYGRLVCTVKEAAAQQQESATTQKAEKEVTRMVIIMVVFFLICWVPYASVAFFIFSNQGSEFGPIFMTVPAFFAKSSSIYNPVIYIMLNKQFRNCMITTLCCGKNPFGEDDASSAATSKTE</Hsp_hseq> - <Hsp_midline>MNGTEGPNFY+P SN TGVVRSPFEYPQYYLAEPWQ+S+L AYMFLLI+LGFPINF+TLYVT+QHKKLRTPLNYILLNLA A+ FMVL GFT T+Y+S++GYF+ G TGC +EGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRF ENHA+MGVAFTW+MAL+CA PPL GWSRYIPEG+QCSCG+DYYTLKPEVNNESFVIYMFVVHFTIP+IIIFFCYG+LV TVKEAAAQQQESATTQKAEKEVTRMVIIMV+ FLICWVPYASVAF+IF++QGS FGPIFMT+PAFFAKS++IYNPVIYIM+NKQFRNCM+TT+CCGKNP G+D+A SA SKTE</Hsp_midline> + <Hsp_align-len>348</Hsp_align-len> + <Hsp_qseq>MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVSKTETSQVAPA</Hsp_qseq> + <Hsp_hseq>MNGTEGPNFYVPFSNKTGVVRSPFEAPQYYLAEPWQFSMLAAYMFLLIMLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIPEGMQCSCGID-YTPHEETNNESFVIYMFVVHFIIPLIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWLPYAGVAFYIFTHQGSDFGPIFMTIPAFFAKTSAVYNPVIYIMMNKQFRNCMVTTLCCGKNPLGDDEASTTVSKTETSQVAPA</Hsp_hseq> + <Hsp_midline>MNGTEGPNFYVPFSN TGVVRSPFE PQYYLAEPWQFSMLAAYMFLLI+LGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMV GGFT+TLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPL GWSRYIPEG+QCSCGID YT E NNESFVIYMFVVHF IP+I+IFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICW+PYA VAFYIFTHQGS+FGPIFMTIPAFFAK++A+YNPVIYIMMNKQFRNCM+TT+CCGKNPLGDDEAS TVSKTETSQVAPA</Hsp_midline> </Hsp> </Hit_hsps> </Hit> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>29</Statistics_hsp-len> - <Statistics_eff-space>101761</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> -</Iteration> -<Iteration> - <Iteration_iter-num>21</Iteration_iter-num> - <Iteration_query-ID>sp|P08100|OPSD_HUMAN</Iteration_query-ID> - <Iteration_query-def>Rhodopsin OS=Homo sapiens GN=RHO PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>348</Iteration_query-len> -<Iteration_hits> <Hit> - <Hit_num>1</Hit_num> + <Hit_num>3</Hit_num> <Hit_id>gi|283855846|gb|ADB45242.1|</Hit_id> <Hit_def>rhodopsin [Cynopterus brachyotis]</Hit_def> <Hit_accession>ADB45242</Hit_accession> @@ -506,27 +168,8 @@ </Hsp> </Hit_hsps> </Hit> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>29</Statistics_hsp-len> - <Statistics_eff-space>101761</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> -</Iteration> -<Iteration> - <Iteration_iter-num>22</Iteration_iter-num> - <Iteration_query-ID>sp|P08100|OPSD_HUMAN</Iteration_query-ID> - <Iteration_query-def>Rhodopsin OS=Homo sapiens GN=RHO PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>348</Iteration_query-len> -<Iteration_hits> <Hit> - <Hit_num>1</Hit_num> + <Hit_num>4</Hit_num> <Hit_id>gi|283855823|gb|ADB45229.1|</Hit_id> <Hit_def>rhodopsin [Myotis pilosus]</Hit_def> <Hit_accession>ADB45229</Hit_accession> @@ -553,74 +196,36 @@ </Hsp> </Hit_hsps> </Hit> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>29</Statistics_hsp-len> - <Statistics_eff-space>101761</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> -</Iteration> -<Iteration> - <Iteration_iter-num>23</Iteration_iter-num> - <Iteration_query-ID>sp|P08100|OPSD_HUMAN</Iteration_query-ID> - <Iteration_query-def>Rhodopsin OS=Homo sapiens GN=RHO PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>348</Iteration_query-len> -<Iteration_hits> <Hit> - <Hit_num>1</Hit_num> - <Hit_id>gi|223523|prf||0811197A</Hit_id> - <Hit_def>rhodopsin [Bos taurus]</Hit_def> - <Hit_accession>0811197A</Hit_accession> - <Hit_len>347</Hit_len> + <Hit_num>5</Hit_num> + <Hit_id>gi|3024260|sp|P56514.1|OPSD_BUFBU</Hit_id> + <Hit_def>RecName: Full=Rhodopsin</Hit_def> + <Hit_accession>P56514</Hit_accession> + <Hit_len>354</Hit_len> <Hit_hsps> <Hsp> <Hsp_num>1</Hsp_num> - <Hsp_bit-score>673.315</Hsp_bit-score> - <Hsp_score>1736</Hsp_score> + <Hsp_bit-score>619.002</Hsp_bit-score> + <Hsp_score>1595</Hsp_score> <Hsp_evalue>0</Hsp_evalue> <Hsp_query-from>1</Hsp_query-from> - <Hsp_query-to>348</Hsp_query-to> + <Hsp_query-to>341</Hsp_query-to> <Hsp_hit-from>1</Hsp_hit-from> - <Hsp_hit-to>347</Hsp_hit-to> + <Hsp_hit-to>342</Hsp_hit-to> <Hsp_query-frame>0</Hsp_query-frame> <Hsp_hit-frame>0</Hsp_hit-frame> - <Hsp_identity>324</Hsp_identity> - <Hsp_positive>336</Hsp_positive> + <Hsp_identity>290</Hsp_identity> + <Hsp_positive>322</Hsp_positive> <Hsp_gaps>1</Hsp_gaps> - <Hsp_align-len>348</Hsp_align-len> - <Hsp_qseq>MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVSKTETSQVAPA</Hsp_qseq> - <Hsp_hseq>MNGTEGPNFYVPFSNKTGVVRSPFEAPQYYLAEPWQFSMLAAYMFLLIMLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIPEGMQCSCGID-YTPHEETNNESFVIYMFVVHFIIPLIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWLPYAGVAFYIFTHQGSDFGPIFMTIPAFFAKTSAVYNPVIYIMMNKQFRNCMVTTLCCGKNPLGDDEASTTVSKTETSQVAPA</Hsp_hseq> - <Hsp_midline>MNGTEGPNFYVPFSN TGVVRSPFE PQYYLAEPWQFSMLAAYMFLLI+LGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMV GGFT+TLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPL GWSRYIPEG+QCSCGID YT E NNESFVIYMFVVHF IP+I+IFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICW+PYA VAFYIFTHQGS+FGPIFMTIPAFFAK++A+YNPVIYIMMNKQFRNCM+TT+CCGKNPLGDDEAS TVSKTETSQVAPA</Hsp_midline> + <Hsp_align-len>342</Hsp_align-len> + <Hsp_qseq>MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEA-SATVSKTE</Hsp_qseq> + <Hsp_hseq>MNGTEGPNFYIPMSNKTGVVRSPFEYPQYYLAEPWQYSILCAYMFLLILLGFPINFMTLYVTIQHKKLRTPLNYILLNLAFANHFMVLCGFTVTMYSSMNGYFILGATGCYVEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFSENHAVMGVAFTWIMALSCAVPPLLGWSRYIPEGMQCSCGVDYYTLKPEVNNESFVIYMFVVHFTIPLIIIFFCYGRLVCTVKEAAAQQQESATTQKAEKEVTRMVIIMVVFFLICWVPYASVAFFIFSNQGSEFGPIFMTVPAFFAKSSSIYNPVIYIMLNKQFRNCMITTLCCGKNPFGEDDASSAATSKTE</Hsp_hseq> + <Hsp_midline>MNGTEGPNFY+P SN TGVVRSPFEYPQYYLAEPWQ+S+L AYMFLLI+LGFPINF+TLYVT+QHKKLRTPLNYILLNLA A+ FMVL GFT T+Y+S++GYF+ G TGC +EGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRF ENHA+MGVAFTW+MAL+CA PPL GWSRYIPEG+QCSCG+DYYTLKPEVNNESFVIYMFVVHFTIP+IIIFFCYG+LV TVKEAAAQQQESATTQKAEKEVTRMVIIMV+ FLICWVPYASVAF+IF++QGS FGPIFMT+PAFFAKS++IYNPVIYIM+NKQFRNCM+TT+CCGKNP G+D+A SA SKTE</Hsp_midline> </Hsp> </Hit_hsps> </Hit> -</Iteration_hits> - <Iteration_stat> - <Statistics> - <Statistics_db-num>0</Statistics_db-num> - <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>29</Statistics_hsp-len> - <Statistics_eff-space>101761</Statistics_eff-space> - <Statistics_kappa>0.041</Statistics_kappa> - <Statistics_lambda>0.267</Statistics_lambda> - <Statistics_entropy>0.14</Statistics_entropy> - </Statistics> - </Iteration_stat> -</Iteration> -<Iteration> - <Iteration_iter-num>24</Iteration_iter-num> - <Iteration_query-ID>sp|P08100|OPSD_HUMAN</Iteration_query-ID> - <Iteration_query-def>Rhodopsin OS=Homo sapiens GN=RHO PE=1 SV=1</Iteration_query-def> - <Iteration_query-len>348</Iteration_query-len> -<Iteration_hits> <Hit> - <Hit_num>1</Hit_num> + <Hit_num>6</Hit_num> <Hit_id>gi|12583665|dbj|BAB21486.1|</Hit_id> <Hit_def>fresh water form rod opsin [Conger myriaster]</Hit_def> <Hit_accession>BAB21486</Hit_accession> @@ -652,8 +257,8 @@ <Statistics> <Statistics_db-num>0</Statistics_db-num> <Statistics_db-len>0</Statistics_db-len> - <Statistics_hsp-len>29</Statistics_hsp-len> - <Statistics_eff-space>101761</Statistics_eff-space> + <Statistics_hsp-len>41</Statistics_hsp-len> + <Statistics_eff-space>556591</Statistics_eff-space> <Statistics_kappa>0.041</Statistics_kappa> <Statistics_lambda>0.267</Statistics_lambda> <Statistics_entropy>0.14</Statistics_entropy>
--- a/test-data/blastp_four_human_vs_rhodopsin_converted_ext.tabular Wed Jul 30 05:36:52 2014 -0400 +++ b/test-data/blastp_four_human_vs_rhodopsin_converted_ext.tabular Sun Sep 17 13:01:56 2023 +0000 @@ -1,6 +1,6 @@ -sp|P08100|OPSD_HUMAN gi|57163783|ref|NP_001009242.1| 96.55 348 12 0 1 348 1 348 0.0 701 gi|57163783|ref|NP_001009242.1| 1808 336 343 0 98.56 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVSKTETSQVAPA MNGTEGPNFYVPFSNKTGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIPEGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTLPAFFAKSSSIYNPVIYIMMNKQFRNCMLTTLCCGKNPLGDDEASTTGSKTETSQVAPA 348 348 rhodopsin [Felis catus] -sp|P08100|OPSD_HUMAN gi|3024260|sp|P56514.1|OPSD_BUFBU 84.80 342 51 1 1 341 1 342 0.0 619 gi|3024260|sp|P56514.1|OPSD_BUFBU 1595 290 322 1 94.15 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEA-SATVSKTE MNGTEGPNFYIPMSNKTGVVRSPFEYPQYYLAEPWQYSILCAYMFLLILLGFPINFMTLYVTIQHKKLRTPLNYILLNLAFANHFMVLCGFTVTMYSSMNGYFILGATGCYVEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFSENHAVMGVAFTWIMALSCAVPPLLGWSRYIPEGMQCSCGVDYYTLKPEVNNESFVIYMFVVHFTIPLIIIFFCYGRLVCTVKEAAAQQQESATTQKAEKEVTRMVIIMVVFFLICWVPYASVAFFIFSNQGSEFGPIFMTVPAFFAKSSSIYNPVIYIMLNKQFRNCMITTLCCGKNPFGEDDASSAATSKTE 348 354 RecName: Full=Rhodopsin -sp|P08100|OPSD_HUMAN gi|283855846|gb|ADB45242.1| 94.82 328 17 0 11 338 1 328 0.0 653 gi|283855846|gb|ADB45242.1| 1684 311 321 0 97.87 1 1 VPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVS VPFSNKTGVVRSPFEHPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGLALTWVMALACAAPPLVGWSRYIPEGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWLPYAGVAFYIFTHQGSNFGPIFMTLPAFFAKSSSIYNPVIYIMMNKQFRNCMLTTLCCGKNPLGDDEASTTAS 348 328 rhodopsin [Cynopterus brachyotis] -sp|P08100|OPSD_HUMAN gi|283855823|gb|ADB45229.1| 94.82 328 17 0 11 338 1 328 0.0 631 gi|283855823|gb|ADB45229.1| 1627 311 323 0 98.48 1 1 VPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVS VPFSNKTGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVANLFMVFGGFTTTLYTSMHGYFVFGATGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGLAFTWVMALACAAPPLAGWSRYIPEGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVVAFLICWLPYASVAFYIFTHQGSNFGPVFMTIPAFFAKSSSIYNPVIYIMMNKQFRNCMLTTLCCGKNPLGDDEASTTAS 348 328 rhodopsin [Myotis pilosus] -sp|P08100|OPSD_HUMAN gi|223523|prf||0811197A 93.10 348 23 1 1 348 1 347 0.0 673 gi|223523|prf||0811197A 1736 324 336 1 96.55 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVSKTETSQVAPA MNGTEGPNFYVPFSNKTGVVRSPFEAPQYYLAEPWQFSMLAAYMFLLIMLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIPEGMQCSCGID-YTPHEETNNESFVIYMFVVHFIIPLIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWLPYAGVAFYIFTHQGSDFGPIFMTIPAFFAKTSAVYNPVIYIMMNKQFRNCMVTTLCCGKNPLGDDEASTTVSKTETSQVAPA 348 347 rhodopsin [Bos taurus] -sp|P08100|OPSD_HUMAN gi|12583665|dbj|BAB21486.1| 82.16 342 60 1 1 341 1 342 0.0 599 gi|12583665|dbj|BAB21486.1| 1544 281 314 1 91.81 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPL-GDDEASATVSKTE MNGTEGPNFYIPMSNATGVVRSPFEYPQYYLAEPWAFSALSAYMFFLIIAGFPINFLTLYVTIEHKKLRTPLNYILLNLAVADLFMVFGGFTTTMYTSMHGYFVFGPTGCNIEGFFATLGGEIALWCLVVLAIERWMVVCKPVTNFRFGESHAIMGVMVTWTMALACALPPLFGWSRYIPEGLQCSCGIDYYTRAPGINNESFVIYMFTCHFSIPLAVISFCYGRLVCTVKEAAAQQQESETTQRAEREVTRMVVIMVISFLVCWVPYASVAWYIFTHQGSTFGPIFMTIPSFFAKSSALYNPMIYICMNKQFRHCMITTLCCGKNPFEEEDGASATSSKTE 348 354 fresh water form rod opsin [Conger myriaster] +P08100 gi|57163783|ref|NP_001009242.1| 96.552 348 12 0 1 348 1 348 0.0 701 gi|57163783|ref|NP_001009242.1| 1808 336 343 0 98.56 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVSKTETSQVAPA MNGTEGPNFYVPFSNKTGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIPEGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTLPAFFAKSSSIYNPVIYIMMNKQFRNCMLTTLCCGKNPLGDDEASTTGSKTETSQVAPA 348 348 rhodopsin [Felis catus] +P08100 gi|223523|prf||0811197A 93.103 348 23 1 1 348 1 347 0.0 673 gi|223523|prf||0811197A 1736 324 336 1 96.55 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVSKTETSQVAPA MNGTEGPNFYVPFSNKTGVVRSPFEAPQYYLAEPWQFSMLAAYMFLLIMLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLVGWSRYIPEGMQCSCGID-YTPHEETNNESFVIYMFVVHFIIPLIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWLPYAGVAFYIFTHQGSDFGPIFMTIPAFFAKTSAVYNPVIYIMMNKQFRNCMVTTLCCGKNPLGDDEASTTVSKTETSQVAPA 348 347 rhodopsin [Bos taurus] +P08100 gi|283855846|gb|ADB45242.1| 94.817 328 17 0 11 338 1 328 0.0 653 gi|283855846|gb|ADB45242.1| 1684 311 321 0 97.87 1 1 VPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVS VPFSNKTGVVRSPFEHPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVFGGFTTTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGLALTWVMALACAAPPLVGWSRYIPEGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWLPYAGVAFYIFTHQGSNFGPIFMTLPAFFAKSSSIYNPVIYIMMNKQFRNCMLTTLCCGKNPLGDDEASTTAS 348 328 rhodopsin [Cynopterus brachyotis] +P08100 gi|283855823|gb|ADB45229.1| 94.817 328 17 0 11 338 1 328 0.0 631 gi|283855823|gb|ADB45229.1| 1627 311 323 0 98.48 1 1 VPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEASATVS VPFSNKTGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVANLFMVFGGFTTTLYTSMHGYFVFGATGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGLAFTWVMALACAAPPLAGWSRYIPEGMQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIVIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVVAFLICWLPYASVAFYIFTHQGSNFGPVFMTIPAFFAKSSSIYNPVIYIMMNKQFRNCMLTTLCCGKNPLGDDEASTTAS 348 328 rhodopsin [Myotis pilosus] +P08100 gi|3024260|sp|P56514.1|OPSD_BUFBU 84.795 342 51 1 1 341 1 342 0.0 619 gi|3024260|sp|P56514.1|OPSD_BUFBU 1595 290 322 1 94.15 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPLGDDEA-SATVSKTE MNGTEGPNFYIPMSNKTGVVRSPFEYPQYYLAEPWQYSILCAYMFLLILLGFPINFMTLYVTIQHKKLRTPLNYILLNLAFANHFMVLCGFTVTMYSSMNGYFILGATGCYVEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFSENHAVMGVAFTWIMALSCAVPPLLGWSRYIPEGMQCSCGVDYYTLKPEVNNESFVIYMFVVHFTIPLIIIFFCYGRLVCTVKEAAAQQQESATTQKAEKEVTRMVIIMVVFFLICWVPYASVAFFIFSNQGSEFGPIFMTVPAFFAKSSSIYNPVIYIMLNKQFRNCMITTLCCGKNPFGEDDASSAATSKTE 348 354 RecName: Full=Rhodopsin +P08100 gi|12583665|dbj|BAB21486.1| 82.164 342 60 1 1 341 1 342 0.0 599 gi|12583665|dbj|BAB21486.1| 1544 281 314 1 91.81 1 1 MNGTEGPNFYVPFSNATGVVRSPFEYPQYYLAEPWQFSMLAAYMFLLIVLGFPINFLTLYVTVQHKKLRTPLNYILLNLAVADLFMVLGGFTSTLYTSLHGYFVFGPTGCNLEGFFATLGGEIALWSLVVLAIERYVVVCKPMSNFRFGENHAIMGVAFTWVMALACAAPPLAGWSRYIPEGLQCSCGIDYYTLKPEVNNESFVIYMFVVHFTIPMIIIFFCYGQLVFTVKEAAAQQQESATTQKAEKEVTRMVIIMVIAFLICWVPYASVAFYIFTHQGSNFGPIFMTIPAFFAKSAAIYNPVIYIMMNKQFRNCMLTTICCGKNPL-GDDEASATVSKTE MNGTEGPNFYIPMSNATGVVRSPFEYPQYYLAEPWAFSALSAYMFFLIIAGFPINFLTLYVTIEHKKLRTPLNYILLNLAVADLFMVFGGFTTTMYTSMHGYFVFGPTGCNIEGFFATLGGEIALWCLVVLAIERWMVVCKPVTNFRFGESHAIMGVMVTWTMALACALPPLFGWSRYIPEGLQCSCGIDYYTRAPGINNESFVIYMFTCHFSIPLAVISFCYGRLVCTVKEAAAQQQESETTQRAEREVTRMVVIMVISFLVCWVPYASVAWYIFTHQGSTFGPIFMTIPSFFAKSSALYNPMIYICMNKQFRHCMITTLCCGKNPFEEEDGASATSSKTE 348 354 fresh water form rod opsin [Conger myriaster]
--- a/test-data/blastp_four_human_vs_rhodopsin_top3.tabular Wed Jul 30 05:36:52 2014 -0400 +++ b/test-data/blastp_four_human_vs_rhodopsin_top3.tabular Sun Sep 17 13:01:56 2023 +0000 @@ -1,5 +1,5 @@ #Query BLAST hit 1 BLAST hit 2 BLAST hit 3 -sp|Q9BS26|ERP44_HUMAN -sp|Q9NSY1|BMP2K_HUMAN -sp|P06213|INSR_HUMAN -sp|P08100|OPSD_HUMAN gi|57163783|ref|NP_001009242.1| rhodopsin [Felis catus] gi|3024260|sp|P56514.1|OPSD_BUFBU RecName: Full=Rhodopsin gi|283855846|gb|ADB45242.1| rhodopsin [Cynopterus brachyotis] +Q9BS26 +Q9NSY1 +P06213 +P08100 gi|57163783|ref|NP_001009242.1| rhodopsin [Felis catus] gi|223523|prf||0811197A rhodopsin [Bos taurus] gi|283855846|gb|ADB45242.1| rhodopsin [Cynopterus brachyotis]
--- a/test-data/blastp_four_human_vs_rhodopsin_top3_positive.tabular Wed Jul 30 05:36:52 2014 -0400 +++ b/test-data/blastp_four_human_vs_rhodopsin_top3_positive.tabular Sun Sep 17 13:01:56 2023 +0000 @@ -1,2 +1,2 @@ #Query BLAST hit 1 BLAST hit 2 BLAST hit 3 -sp|P08100|OPSD_HUMAN gi|57163783|ref|NP_001009242.1| rhodopsin [Felis catus] gi|3024260|sp|P56514.1|OPSD_BUFBU RecName: Full=Rhodopsin gi|283855846|gb|ADB45242.1| rhodopsin [Cynopterus brachyotis] +P08100 gi|57163783|ref|NP_001009242.1| rhodopsin [Felis catus] gi|223523|prf||0811197A rhodopsin [Bos taurus] gi|283855846|gb|ADB45242.1| rhodopsin [Cynopterus brachyotis]
--- a/tools/blastxml_to_top_descr/README.rst Wed Jul 30 05:36:52 2014 -0400 +++ b/tools/blastxml_to_top_descr/README.rst Sun Sep 17 13:01:56 2023 +0000 @@ -1,7 +1,7 @@ Galaxy tool to extract top BLAST hit descriptions from BLAST XML ================================================================ -This tool is copyright 2012-2013 by Peter Cock, The James Hutton Institute +This tool is copyright 2012-2015 by Peter Cock, The James Hutton Institute (formerly SCRI, Scottish Crop Research Institute), UK. All rights reserved. See the licence text below. @@ -12,38 +12,39 @@ It is available from the Galaxy Tool Shed at: http://toolshed.g2.bx.psu.edu/view/peterjc/blastxml_to_top_descr -This requires the 'blast_datatypes' repository from the Galaxy Tool Shed -to provide the 'blastxml' file format definition. +This requires the ``blast_datatypes`` repository from the Galaxy Tool Shed +to provide the ``blastxml`` file format definition. Automated Installation ====================== This should be straightforward, Galaxy should automatically install the -'blast_datatypes' dependency. +``blast_datatypes`` dependency. Manual Installation =================== -If you haven't done so before, first install the 'blast_datatypes' repository. +If you haven't done so before, first install the ``blast_datatypes`` repository. There are just two files to install (if doing this manually): -* blastxml_to_top_descr.py (the Python script) -* blastxml_to_top_descr.xml (the Galaxy tool definition) +- ``blastxml_to_top_descr.py`` (the Python script) +- ``blastxml_to_top_descr.xml`` (the Galaxy tool definition) -The suggested location is in the Galaxy folder tools/ncbi_blast_plus next to -the NCBI BLAST+ tool wrappers. +The suggested location is in the Galaxy folder ``tools/ncbi_blast_plus/`` +next to the NCBI BLAST+ tool wrappers. -You will also need to modify the tools_conf.xml file to tell Galaxy to offer +You will also need to modify the ``tools_conf.xml`` file to tell Galaxy to offer the tool. e.g. next to the NCBI BLAST+ tools. Simply add the line:: <tool file="ncbi_blast_plus/blastxml_to_top_descr.xml" /> -To run the tool's tests, also add this line to tools_conf.xml.sample then:: +If you wish to run the unit tests, alsomove/copy the ``test-data/`` files +under Galaxy's ``test-data/`` folder. Then:: - $ sh run_functional_tests.sh -id blastxml_to_top_descr + $ sh run_tests.sh -id blastxml_to_top_descr History @@ -54,13 +55,13 @@ ------- ---------------------------------------------------------------------- v0.0.1 - Initial version. v0.0.2 - Since BLAST+ was moved out of the Galaxy core, now have a dependency - on the 'blast_datatypes' repository in the Tool Shed. + on the ``blast_datatypes`` repository in the Tool Shed. v0.0.3 - Include the test files required to run the unit tests v0.0.4 - Quote filenames in case they contain spaces (internal change) v0.0.5 - Include number of queries with BLAST matches in stdout (peek text) v0.0.6 - Check for errors via the script's return code (internal change) v0.0.7 - Link to Tool Shed added to help text and this documentation. - - Tweak dependency on blast_datatypes to also work on Test Tool Shed + - Tweak dependency on ``blast_datatypes`` to also work on Test Tool Shed - Adopt standard MIT License. v0.0.8 - Development moved to GitHub, https://github.com/peterjc/galaxy_blast v0.0.9 - Updated citation information (Cock et al. 2013). @@ -70,6 +71,11 @@ - Support BLAST XML with multiple ``<Iteration>`` blocks per query. - Support the default 25 column extended tabular BLAST output. v0.1.1 - Embed citation information in the tool XML (new Galaxy feature). +v0.1.2 - Reorder XML elements (internal change only). + - Planemo for Tool Shed upload (``.shed.yml``, internal change only). + - Use ``<command detect_errors="aggressive">`` (internal change only). + - Single quote command line arguments (internal change only). + - Python 3 compatible syntax. ======= ====================================================================== @@ -89,22 +95,31 @@ As of July 2013, development is continuing on a dedicated GitHub repository: https://github.com/peterjc/galaxy_blast -For making the "Galaxy Tool Shed" http://toolshed.g2.bx.psu.edu/ tarball use -the following command from the GitHub repository root folder:: +For pushing a release to the test or main "Galaxy Tool Shed", use the following +Planemo commands (which requires you have set your Tool Shed access details in +``~/.planemo.yml`` and that you have access rights on the Tool Shed):: + + $ planemo shed_update -t testtoolshed --check_diff ~/repositories/galaxy_blast/tools/blastxml_to_top_descr/ + ... + +or:: - $ tar -czf blastxml_to_top_descr.tar.gz tools/blastxml_to_top_descr/README.rst tools/blastxml_to_top_descr/blastxml_to_top_descr.* tools/blastxml_to_top_descr/repository_dependencies.xml test-data/blastp_four_human_vs_rhodopsin.xml test-data/blastp_four_human_vs_rhodopsin_top3.tabular test-data/blastp_four_human_vs_rhodopsin_converted_ext.tabular test-data/blastp_four_human_vs_rhodopsin_top3_positive.tabular + $ planemo shed_update -t toolshed --check_diff ~/repositories/galaxy_blast/tools/blastxml_to_top_descr/ + ... + +To just build and check the tar ball, use:: -Check this worked:: - - $ tar -tzf blastxml_to_top_descr.tar.gz + $ planemo shed_upload --tar_only ~/repositories/galaxy_blast/tools/blastxml_to_top_descr/ + ... + $ tar -tzf shed_upload.tar.gz + test-data/blastp_four_human_vs_rhodopsin.xml + test-data/blastp_four_human_vs_rhodopsin_converted_ext.tabular + test-data/blastp_four_human_vs_rhodopsin_top3.tabular + test-data/blastp_four_human_vs_rhodopsin_top3_positive.tabular tools/blastxml_to_top_descr/README.rst tools/blastxml_to_top_descr/blastxml_to_top_descr.py tools/blastxml_to_top_descr/blastxml_to_top_descr.xml tools/blastxml_to_top_descr/repository_dependencies.xml - test-data/blastp_four_human_vs_rhodopsin.xml - test-data/blastp_four_human_vs_rhodopsin_top3.tabular - test-data/blastp_four_human_vs_rhodopsin_converted_ext.tabular - test-data/blastp_four_human_vs_rhodopsin_top3_positive.tabular Licence (MIT)
--- a/tools/blastxml_to_top_descr/blastxml_to_top_descr.py Wed Jul 30 05:36:52 2014 -0400 +++ b/tools/blastxml_to_top_descr/blastxml_to_top_descr.py Sun Sep 17 13:01:56 2023 +0000 @@ -6,25 +6,26 @@ Assumes the hits are pre-sorted, so "best" 3 hits gives first 3 hits. """ +from __future__ import print_function + import os +import re import sys -import re from optparse import OptionParser if "-v" in sys.argv or "--version" in sys.argv: - print "v0.1.0" + print("v0.1.2") sys.exit(0) -if sys.version_info[:2] >= ( 2, 5 ): +if sys.version_info[:2] >= (2, 5): import xml.etree.cElementTree as ElementTree else: - from galaxy import eggs - import pkg_resources; pkg_resources.require( "elementtree" ) + from galaxy import eggs # noqa - ignore flake8 F401 + import pkg_resources + + pkg_resources.require("elementtree") from elementtree import ElementTree -def stop_err( msg ): - sys.stderr.write("%s\n" % msg) - sys.exit(1) usage = """Use as follows: @@ -39,23 +40,54 @@ """ parser = OptionParser(usage=usage) -parser.add_option("-t", "--topN", dest="topN", default=3, - help="Number of descriptions to collect (in order from file)") -parser.add_option("-o", "--output", dest="out_file", default=None, - help="Output filename for tabular file", - metavar="FILE") -parser.add_option("-f", "--format", dest="format", default="blastxml", - help="Input format (blastxml or tabular)") -parser.add_option("-q", "--qseqid", dest="qseqid", default="1", - help="Column for query 'qseqid' (for tabular input; default 1)") -parser.add_option("-s", "--sseqid", dest="sseqid", default="2", - help="Column for subject 'sseqid' (for tabular input; default 2)") -parser.add_option("-d", "--salltitles", dest="salltitles", default="25", - help="Column for descriptions 'salltitles' (for tabular input; default 25)") +parser.add_option( + "-t", + "--topN", + dest="topN", + default=3, + help="Number of descriptions to collect (in order from file)", +) +parser.add_option( + "-o", + "--output", + dest="out_file", + default=None, + help="Output filename for tabular file", + metavar="FILE", +) +parser.add_option( + "-f", + "--format", + dest="format", + default="blastxml", + help="Input format (blastxml or tabular)", +) +parser.add_option( + "-q", + "--qseqid", + dest="qseqid", + default="1", + help="Column for query 'qseqid' (for tabular input; default 1)", +) +parser.add_option( + "-s", + "--sseqid", + dest="sseqid", + default="2", + help="Column for subject 'sseqid' (for tabular input; default 2)", +) +parser.add_option( + "-d", + "--salltitles", + dest="salltitles", + default="25", + help="Column for descriptions 'salltitles' (for tabular input; default 25)", +) (options, args) = parser.parse_args() if len(sys.argv) == 4 and len(args) == 3 and not options.out_file: - stop_err("""The API has changed, replace this: + sys.exit( + """The API has changed, replace this: $ python blastxml_to_top_descr.py input.xml output.tab 3 @@ -64,12 +96,13 @@ $ python blastxml_to_top_descr.py -o output.tab -t 3 input.xml Sorry. -""") +""" + ) if not args: - stop_err("Input filename missing, try -h") + sys.exit("Input filename missing, try -h") if len(args) > 1: - stop_err("Expects a single argument, one input filename") + sys.exit("Expects a single argument, one input filename") in_file = args[0] out_file = options.out_file topN = options.topN @@ -77,12 +110,12 @@ try: topN = int(topN) except ValueError: - stop_err("Number of hits argument should be an integer (at least 1)") + sys.exit("Number of hits argument should be an integer (at least 1)") if topN < 1: - stop_err("Number of hits argument should be an integer (at least 1)") + sys.exit("Number of hits argument should be an integer (at least 1)") if not os.path.isfile(in_file): - stop_err("Missing input file: %r" % in_file) + sys.exit("Missing input file: %r" % in_file) def get_column(value): @@ -92,11 +125,12 @@ value = value[1:] try: col = int(value) - except: - stop_err("Expected an integer column number, not %r" % value) + except ValueError: + sys.exit("Expected an integer column number, not %r" % value) if col < 1: - stop_err("Expect column numbers to be at least one, not %r" % value) - return col - 1 # Python counting! + sys.exit("Expect column numbers to be at least one, not %r" % value) + return col - 1 # Python counting! + def tabular_hits(in_file, qseqid, sseqid, salltitles): """Parse key data from tabular BLAST output. @@ -105,8 +139,8 @@ """ current_query = None current_hits = [] - with open(in_file) as input: - for line in input: + with open(in_file) as input_handle: + for line in input_handle: parts = line.rstrip("\n").split("\t") query = parts[qseqid] descr = "%s %s" % (parts[sseqid], parts[salltitles]) @@ -126,6 +160,7 @@ # Final query yield current_query, current_hits + def blastxml_hits(in_file): """Parse key data from BLAST XML output. @@ -133,32 +168,35 @@ """ try: context = ElementTree.iterparse(in_file, events=("start", "end")) - except: + except Exception: with open(in_file) as handle: header = handle.read(100) - stop_err("Invalid data format in XML file %r which starts: %r" % (in_file, header)) + sys.exit( + "Invalid data format in XML file %r which starts: %r" % (in_file, header) + ) # turn it into an iterator context = iter(context) # get the root element try: - event, root = context.next() - except: + event, root = next(context) + except Exception: with open(in_file) as handle: header = handle.read(100) - stop_err("Unable to get root element from XML file %r which starts: %r" % (in_file, header)) + sys.exit( + "Unable to get root element from XML file %r which starts: %r" + % (in_file, header) + ) - re_default_query_id = re.compile("^Query_\d+$") - assert re_default_query_id.match("Query_101") - assert not re_default_query_id.match("Query_101a") - assert not re_default_query_id.match("MyQuery_101") - re_default_subject_id = re.compile("^Subject_\d+$") - assert re_default_subject_id.match("Subject_1") - assert not re_default_subject_id.match("Subject_") - assert not re_default_subject_id.match("Subject_12a") - assert not re_default_subject_id.match("TheSubject_1") + re_default_query_id = re.compile(r"^Query_\d+$") + assert re_default_query_id.match(r"Query_101") + assert not re_default_query_id.match(r"Query_101a") + assert not re_default_query_id.match(r"MyQuery_101") + re_default_subject_id = re.compile(r"^Subject_\d+$") + assert re_default_subject_id.match(r"Subject_1") + assert not re_default_subject_id.match(r"Subject_") + assert not re_default_subject_id.match(r"Subject_12a") + assert not re_default_subject_id.match(r"TheSubject_1") - count = 0 - pos_count = 0 current_query = None hit_descrs = [] for event, elem in context: @@ -166,7 +204,8 @@ if event == "end" and elem.tag == "Iteration": # Expecting either this, from BLAST 2.2.25+ using FASTA vs FASTA # <Iteration_query-ID>sp|Q9BS26|ERP44_HUMAN</Iteration_query-ID> - # <Iteration_query-def>Endoplasmic reticulum resident protein 44 OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> + # <Iteration_query-def>Endoplasmic reticulum resident protein 44 + # OS=Homo sapiens GN=ERP44 PE=1 SV=1</Iteration_query-def> # <Iteration_query-len>406</Iteration_query-len> # <Iteration_hits></Iteration_hits> # @@ -177,10 +216,12 @@ # <Iteration_hits>... qseqid = elem.findtext("Iteration_query-ID") if qseqid is None: - stop_err("Missing <Iteration_query-ID> (could be really old BLAST XML data?)") + sys.exit( + "Missing <Iteration_query-ID> (could be really old BLAST XML data?)" + ) if re_default_query_id.match(qseqid): - #Place holder ID, take the first word of the query definition - qseqid = elem.findtext("Iteration_query-def").split(None,1)[0] + # Place holder ID, take the first word of the query definition + qseqid = elem.findtext("Iteration_query-def").split(None, 1)[0] if current_query is None: # First hit current_query = qseqid @@ -203,17 +244,19 @@ # <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_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 - sseqid = hit.findtext("Hit_id").split(None,1)[0] + # apparently depending on the parse_deflines switch + sseqid = hit.findtext("Hit_id").split(None, 1)[0] hit_def = sseqid + " " + hit.findtext("Hit_def") - if re_default_subject_id.match(sseqid) \ - and sseqid == hit.findtext("Hit_accession"): - #Place holder ID, take the first word of the subject definition + if re_default_subject_id.match(sseqid) and sseqid == hit.findtext( + "Hit_accession" + ): + # Place holder ID, take the first word of the subject definition hit_def = hit.findtext("Hit_def") - sseqid = hit_def.split(None,1)[0] + sseqid = hit_def.split(None, 1)[0] assert hit_def not in hit_descrs hit_descrs.append(hit_def) # prevents ElementTree from growing large datastructure @@ -223,6 +266,7 @@ # Final query yield current_query, hit_descrs + if options.format == "blastxml": hits = blastxml_hits(in_file) elif options.format == "tabular": @@ -231,21 +275,23 @@ salltitles = get_column(options.salltitles) hits = tabular_hits(in_file, qseqid, sseqid, salltitles) else: - stop_err("Unsupported format: %r" % options.format) + sys.exit("Unsupported format: %r" % options.format) def best_hits(descriptions, topN): + """Truncate given descriptions list to at most N entries.""" if len(descriptions) < topN: - return descriptions + [""] * (topN - len(descriptions)) + return descriptions + [""] * (topN - len(descriptions)) else: return descriptions[:topN] + count = 0 if out_file is None: outfile = sys.stdout else: - outfile = open(out_file, 'w') -outfile.write("#Query\t%s\n" % "\t".join("BLAST hit %i" % (i+1) for i in range(topN))) + outfile = open(out_file, "w") +outfile.write("#Query\t%s\n" % "\t".join("BLAST hit %i" % (i + 1) for i in range(topN))) for query, descrs in hits: count += 1 outfile.write("%s\t%s\n" % (query, "\t".join(best_hits(descrs, topN))))
--- a/tools/blastxml_to_top_descr/blastxml_to_top_descr.xml Wed Jul 30 05:36:52 2014 -0400 +++ b/tools/blastxml_to_top_descr/blastxml_to_top_descr.xml Sun Sep 17 13:01:56 2023 +0000 @@ -1,27 +1,27 @@ -<tool id="blastxml_to_top_descr" name="BLAST top hit descriptions" version="0.1.1"> +<tool id="blastxml_to_top_descr" name="BLAST top hit descriptions" version="0.1.2" profile="16.10"> <description>Make a table from BLAST output</description> - <version_command interpreter="python">blastxml_to_top_descr.py --version</version_command> - <command interpreter="python"> -blastxml_to_top_descr.py --f "$input.in_format" + <requirements> + <requirement type="package" version="3.9">python</requirement> + </requirements> + <version_command> +python $__tool_directory__/blastxml_to_top_descr.py --version + </version_command> + <command detect_errors="aggressive"> +python $__tool_directory__/blastxml_to_top_descr.py +-f '$input.in_format' #if $input.in_format == "tabular": --qseqid $input.qseqid --sseqid $input.sseqid --salltitles $input.salltitles #end if --o "${tabular_file}" +-o '${tabular_file}' -t ${topN} -"${in_file}" +'${in_file}' </command> - <stdio> - <!-- Assume anything other than zero is an error --> - <exit_code range="1:" /> - <exit_code range=":-1" /> - </stdio> <inputs> <conditional name="input"> <param name="in_format" type="select" label="Input format"> - <option value="blastxml" select="True">BLAST XML</option> + <option value="blastxml" selected="true">BLAST XML</option> <option value="tabular">Tabular</option> </param> <when value="blastxml"> @@ -30,17 +30,17 @@ <when value="tabular"> <param name="in_file" type="data" format="tabular" label="BLAST results as tabular"/> <param name="qseqid" type="data_column" data_ref="in_file" - multiple="False" numerical="False" default_value="1" value="1" - label="Column containing query ID (qseqid)" - help="This is column 1 in standard BLAST tabular output" /> - <param name="sseqid" type="data_column" data_ref="in_file" - multiple="False" numerical="False" default_value="2" value="2" - label="Column containing match ID (sseqid)" - help="This is column 2 in standard BLAST tabular output"/> + multiple="false" numerical="false" default_value="1" value="1" + label="Column containing query ID (qseqid)" + help="This is column 1 in standard BLAST tabular output" /> + <param name="sseqid" type="data_column" data_ref="in_file" + multiple="false" numerical="false" default_value="2" value="2" + label="Column containing match ID (sseqid)" + help="This is column 2 in standard BLAST tabular output"/> <param name="salltitles" type="data_column" data_ref="in_file" - multiple="False" numerical="False" default_value="25" value="25" + multiple="false" numerical="false" default_value="25" value="25" label="Column containing containing descriptions (salltitles)" - help="This is column 25 in the default extended BLAST tabular output"/> + help="This is column 25 in the default extended BLAST tabular output"/> </when> </conditional> <param name="topN" type="integer" min="1" max="100" optional="false" label="Number of descriptions" value="3"/> @@ -48,8 +48,6 @@ <outputs> <data name="tabular_file" format="tabular" label="Top $topN descriptions from $input.in_file.name" /> </outputs> - <requirements> - </requirements> <tests> <test> <param name="in_format" value="blastxml" /> @@ -102,7 +100,7 @@ Peter J.A. Cock, Björn A. Grüning, Konrad Paszkiewicz and Leighton Pritchard (2013). Galaxy tools and workflows for sequence analysis with applications in molecular plant pathology. PeerJ 1:e167 -http://dx.doi.org/10.7717/peerj.167 +https://doi.org/10.7717/peerj.167 This wrapper is available to install into other Galaxy Instances via the Galaxy Tool Shed at http://toolshed.g2.bx.psu.edu/view/peterjc/blastxml_to_top_descr
--- a/tools/blastxml_to_top_descr/repository_dependencies.xml Wed Jul 30 05:36:52 2014 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -<?xml version="1.0"?> -<repositories description="Requires BLAST XML and database datatype definitions."> -<repository changeset_revision="de11e1a921c4" name="blast_datatypes" owner="devteam" toolshed="https://toolshed.g2.bx.psu.edu" /> -</repositories>