PageRenderTime 45ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/test/unit/bio/db/test_fasta.rb

https://github.com/nmb/bioruby
Ruby | 209 lines | 158 code | 41 blank | 10 comment | 0 complexity | 4df092b4726e081b0566648d9b8693fe MD5 | raw file
Possible License(s): GPL-2.0, LGPL-2.1
  1. #
  2. # test/unit/bio/db/test_fasta.rb - Unit test for Bio::FastaFormat
  3. #
  4. # Copyright:: Copyright (C) 2005 Mitsuteru Nakao <n@bioruby.org>
  5. # License:: The Ruby License
  6. #
  7. # $Id:$
  8. #
  9. # loading helper routine for testing bioruby
  10. require 'pathname'
  11. load Pathname.new(File.join(File.dirname(__FILE__), ['..'] * 3,
  12. 'bioruby_test_helper.rb')).cleanpath.to_s
  13. # libraries needed for the tests
  14. require 'test/unit'
  15. require 'bio/db/fasta'
  16. module Bio
  17. class TestFastaFormatConst < Test::Unit::TestCase
  18. def test_delimiter
  19. assert_equal("\n>", Bio::FastaFormat::DELIMITER)
  20. assert_equal("\n>", Bio::FastaFormat::RS)
  21. end
  22. end # class TestFastaFormatConst
  23. class TestFastaFormatSwissProt < Test::Unit::TestCase
  24. def setup
  25. text =<<END
  26. >gi|1171674|sp|P42267|NDD_BPR69 NUCLEAR DISRUPTION PROTEIN
  27. MKYMTVTDLNNAGATVIGTIKGGEWFLGTPHKDILSKPGFYFLVSKLDGRPFSNPCVSARFYVGNQRSKQGFSAVLSHIR
  28. QRRSQLARTIANNNMVYTVFYLPASKMKPLTTGFGKGQLALAFTRNHHSEYQTLEEMNRMLADNFKFVLQAY
  29. END
  30. @obj = Bio::FastaFormat.new(text)
  31. end
  32. def test_locus
  33. assert_equal(nil, @obj.locus)
  34. end
  35. end
  36. class TestFastaFormatKeggGenesNT < Test::Unit::TestCase
  37. def setup
  38. text =<<END
  39. >eco:b0001 thrL; thr operon leader peptide (N)
  40. atgaaacgcattagcaccaccattaccaccaccatcaccattaccacaggtaacggtgcg
  41. ggctga
  42. END
  43. @obj = Bio::FastaFormat.new(text)
  44. end
  45. def test_naseq_class
  46. assert_equal(Bio::Sequence::NA, @obj.naseq.class)
  47. end
  48. def test_naseq
  49. seq = 'atgaaacgcattagcaccaccattaccaccaccatcaccattaccacaggtaacggtgcgggctga'
  50. assert_equal(seq, @obj.naseq)
  51. end
  52. def test_nalen
  53. assert_equal(66, @obj.nalen)
  54. end
  55. end
  56. class TestFastaFormatKeggGenesAA < Test::Unit::TestCase
  57. def setup
  58. text =<<END
  59. >sce:YBR160W CDC28, SRM5; cyclin-dependent protein kinase catalytic subunit [EC:2.7.1.-] [SP:CC28_YEAST]
  60. MSGELANYKRLEKVGEGTYGVVYKALDLRPGQGQRVVALKKIRLESEDEG
  61. VPSTAIREISLLKELKDDNIVRLYDIVHSDAHKLYLVFEFLDLDLKRYME
  62. GIPKDQPLGADIVKKFMMQLCKGIAYCHSHRILHRDLKPQNLLINKDGNL
  63. KLGDFGLARAFGVPLRAYTHEIVTLWYRAPEVLLGGKQYSTGVDTWSIGC
  64. IFAEMCNRKPIFSGDSEIDQIFKIFRVLGTPNEAIWPDIVYLPDFKPSFP
  65. QWRRKDLSQVVPSLDPRGIDLLDKLLAYDPINRISARRAAIHPYFQES
  66. >sce:YBR274W CHK1; probable serine/threonine-protein kinase [EC:2.7.1.-] [SP:KB9S_YEAST]
  67. MSLSQVSPLPHIKDVVLGDTVGQGAFACVKNAHLQMDPSIILAVKFIHVP
  68. TCKKMGLSDKDITKEVVLQSKCSKHPNVLRLIDCNVSKEYMWIILEMADG
  69. GDLFDKIEPDVGVDSDVAQFYFQQLVSAINYLHVECGVAHRDIKPENILL
  70. DKNGNLKLADFGLASQFRRKDGTLRVSMDQRGSPPYMAPEVLYSEEGYYA
  71. DRTDIWSIGILLFVLLTGQTPWELPSLENEDFVFFIENDGNLNWGPWSKI
  72. EFTHLNLLRKILQPDPNKRVTLKALKLHPWVLRRASFSGDDGLCNDPELL
  73. AKKLFSHLKVSLSNENYLKFTQDTNSNNRYISTQPIGNELAELEHDSMHF
  74. QTVSNTQRAFTSYDSNTNYNSGTGMTQEAKWTQFISYDIAALQFHSDEND
  75. CNELVKRHLQFNPNKLTKFYTLQPMDVLLPILEKALNLSQIRVKPDLFAN
  76. FERLCELLGYDNVFPLIINIKTKSNGGYQLCGSISIIKIEEELKSVGFER
  77. KTGDPLEWRRLFKKISTICRDIILIPN
  78. END
  79. @obj = Bio::FastaFormat.new(text)
  80. end
  81. def test_entry_id
  82. assert_equal('sce:YBR160W', @obj.entry_id)
  83. end
  84. def test_acc_version
  85. assert_equal(nil, @obj.acc_version)
  86. end
  87. def test_entry
  88. data = ">sce:YBR160W CDC28, SRM5; cyclin-dependent protein kinase catalytic subunit [EC:2.7.1.-] [SP:CC28_YEAST]\nMSGELANYKRLEKVGEGTYGVVYKALDLRPGQGQRVVALKKIRLESEDEG\nVPSTAIREISLLKELKDDNIVRLYDIVHSDAHKLYLVFEFLDLDLKRYME\nGIPKDQPLGADIVKKFMMQLCKGIAYCHSHRILHRDLKPQNLLINKDGNL\nKLGDFGLARAFGVPLRAYTHEIVTLWYRAPEVLLGGKQYSTGVDTWSIGC\nIFAEMCNRKPIFSGDSEIDQIFKIFRVLGTPNEAIWPDIVYLPDFKPSFP\nQWRRKDLSQVVPSLDPRGIDLLDKLLAYDPINRISARRAAIHPYFQES\n"
  89. assert_equal(data, @obj.entry)
  90. end
  91. def test_definition
  92. data = "sce:YBR160W CDC28, SRM5; cyclin-dependent protein kinase catalytic subunit [EC:2.7.1.-] [SP:CC28_YEAST]"
  93. assert_equal(data, @obj.definition)
  94. end
  95. def test_data
  96. data = "\nMSGELANYKRLEKVGEGTYGVVYKALDLRPGQGQRVVALKKIRLESEDEG\nVPSTAIREISLLKELKDDNIVRLYDIVHSDAHKLYLVFEFLDLDLKRYME\nGIPKDQPLGADIVKKFMMQLCKGIAYCHSHRILHRDLKPQNLLINKDGNL\nKLGDFGLARAFGVPLRAYTHEIVTLWYRAPEVLLGGKQYSTGVDTWSIGC\nIFAEMCNRKPIFSGDSEIDQIFKIFRVLGTPNEAIWPDIVYLPDFKPSFP\nQWRRKDLSQVVPSLDPRGIDLLDKLLAYDPINRISARRAAIHPYFQES\n"
  97. assert_equal(data, @obj.data)
  98. end
  99. end
  100. class TestFastaFormat < Test::Unit::TestCase
  101. def setup
  102. text =<<END
  103. >gi|55416189|gb|AAV50056.1| NADH dehydrogenase subunit 1 [Dasyurus hallucatus]
  104. MFTINLLIYIIPILLAVAFLTLIERKMLGYMQFRKGPNIVGPYGLLQPFADAVKLFTKEPLRPLTSSISIFIIAPILALT
  105. IALTIWTPLPMPNTLLDLNLGLIFILSLSGLSVYSILWSGWASNSKYALIGALRAVAQTISYEVSLAIILLSIMLINGSF
  106. TLKTLSITQENLWLIITTWPLAMMWYISTLAETNRAPFDLTEGESELVSGFNVEYAAGPFAMFFLAEYANIIAMNAITTI
  107. LFLGPSLTPNLSHLNTLSFMLKTLLLTMVFLWVRASYPRFRYDQLMHLLWKNFLPMTLAMCLWFISLPIALSCIPPQL
  108. >gi|55416190|gb|AAV50057.1| NADH dehydrogenase subunit 2 [Dasyurus hallucatus]
  109. MSPYVLMILTLSLFIGTCLTIFSNHWFTAWMGLEINTLAIIPLMTAPNNPRSTEAATKYFLTQATASMLMMFAIIYNAWS
  110. TNQWALPQLSDDWISLLMTVALAIKLGLAPFHFWVPEVTQGIPLLTGMILLTWQKIAPTAILFQIAPYLNMKFLVILAIL
  111. STLVGGWGGLNQTHLRKILAYSSIAHMGWMIIIVQINPTLSIFTLTIYVMATLTTFLTLNLSNSTKIKSLGNLWNKSATA
  112. TIIIFLTLLSLGGLPPLTGFMPKWLILQELINNGNIITATMMALSALLNLFFYMRLIYASSLTMFPSINNSKMQWYNNSM
  113. KTTTLIPTATVISSLLLPLTPLFVTLY
  114. END
  115. @obj = Bio::FastaFormat.new(text)
  116. end
  117. def test_entry
  118. data = ">gi|55416189|gb|AAV50056.1| NADH dehydrogenase subunit 1 [Dasyurus hallucatus]\nMFTINLLIYIIPILLAVAFLTLIERKMLGYMQFRKGPNIVGPYGLLQPFADAVKLFTKEPLRPLTSSISIFIIAPILALT\nIALTIWTPLPMPNTLLDLNLGLIFILSLSGLSVYSILWSGWASNSKYALIGALRAVAQTISYEVSLAIILLSIMLINGSF\nTLKTLSITQENLWLIITTWPLAMMWYISTLAETNRAPFDLTEGESELVSGFNVEYAAGPFAMFFLAEYANIIAMNAITTI\nLFLGPSLTPNLSHLNTLSFMLKTLLLTMVFLWVRASYPRFRYDQLMHLLWKNFLPMTLAMCLWFISLPIALSCIPPQL\n"
  119. assert_equal(data, @obj.entry)
  120. end
  121. def test_entry_id
  122. assert_equal('gi|55416189', @obj.entry_id)
  123. end
  124. def test_definition
  125. data = "gi|55416189|gb|AAV50056.1| NADH dehydrogenase subunit 1 [Dasyurus hallucatus]"
  126. assert_equal(data, @obj.definition)
  127. end
  128. def test_data
  129. data = "\nMFTINLLIYIIPILLAVAFLTLIERKMLGYMQFRKGPNIVGPYGLLQPFADAVKLFTKEPLRPLTSSISIFIIAPILALT\nIALTIWTPLPMPNTLLDLNLGLIFILSLSGLSVYSILWSGWASNSKYALIGALRAVAQTISYEVSLAIILLSIMLINGSF\nTLKTLSITQENLWLIITTWPLAMMWYISTLAETNRAPFDLTEGESELVSGFNVEYAAGPFAMFFLAEYANIIAMNAITTI\nLFLGPSLTPNLSHLNTLSFMLKTLLLTMVFLWVRASYPRFRYDQLMHLLWKNFLPMTLAMCLWFISLPIALSCIPPQL\n"
  130. assert_equal(data, @obj.data)
  131. end
  132. def test_seq
  133. seq = 'MFTINLLIYIIPILLAVAFLTLIERKMLGYMQFRKGPNIVGPYGLLQPFADAVKLFTKEPLRPLTSSISIFIIAPILALTIALTIWTPLPMPNTLLDLNLGLIFILSLSGLSVYSILWSGWASNSKYALIGALRAVAQTISYEVSLAIILLSIMLINGSFTLKTLSITQENLWLIITTWPLAMMWYISTLAETNRAPFDLTEGESELVSGFNVEYAAGPFAMFFLAEYANIIAMNAITTILFLGPSLTPNLSHLNTLSFMLKTLLLTMVFLWVRASYPRFRYDQLMHLLWKNFLPMTLAMCLWFISLPIALSCIPPQL'
  134. assert_equal(seq, @obj.seq)
  135. end
  136. def test_length
  137. assert_equal(318, @obj.length)
  138. end
  139. def test_aaseq
  140. seq = "MFTINLLIYIIPILLAVAFLTLIERKMLGYMQFRKGPNIVGPYGLLQPFADAVKLFTKEPLRPLTSSISIFIIAPILALTIALTIWTPLPMPNTLLDLNLGLIFILSLSGLSVYSILWSGWASNSKYALIGALRAVAQTISYEVSLAIILLSIMLINGSFTLKTLSITQENLWLIITTWPLAMMWYISTLAETNRAPFDLTEGESELVSGFNVEYAAGPFAMFFLAEYANIIAMNAITTILFLGPSLTPNLSHLNTLSFMLKTLLLTMVFLWVRASYPRFRYDQLMHLLWKNFLPMTLAMCLWFISLPIALSCIPPQL"
  141. assert_equal(seq, @obj.aaseq)
  142. end
  143. def test_aalen
  144. assert_equal(318, @obj.aalen)
  145. end
  146. def test_identifiers
  147. assert_equal(Bio::FastaDefline, @obj.identifiers.class)
  148. end
  149. def test_gi
  150. assert_equal('55416189', @obj.gi)
  151. end
  152. def test_accession
  153. assert_equal('AAV50056', @obj.accession)
  154. end
  155. def test_accessions
  156. assert_equal(['AAV50056'], @obj.accessions)
  157. end
  158. def test_acc_version
  159. assert_equal('AAV50056.1', @obj.acc_version)
  160. end
  161. end # class TestFastaFormat
  162. class TestFastaDefinition < Test::Unit::TestCase
  163. def setup
  164. end
  165. def test_defline
  166. end
  167. end # class TestFastaDefinition
  168. end