| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | <?phpnamespace Tests;use StatonLab\TripalTestSuite\DBTransaction;use StatonLab\TripalTestSuite\TripalTestCase;class ValidateFastaTest extends TripalTestCase {  // Uncomment to auto start and rollback db transactions per test method.  // use DBTransaction;  /**   * Test validate_fasta_sequence() detects invalid sequence.   *   * @dataProvider provideInvalidFasta   */  public function testInvalidFasta($type, $sequence) {    $this->assertFalse(validate_fasta_sequence($type, $sequence),      "Failed to detect invalid FASTA sequence.");  }  /**   * Test validate_fasta_sequence() works for valid sequence.   *   * @dataProvider provideValidFasta   */  public function testValidFasta($type, $sequence) {    $this->assertTrue(validate_fasta_sequence($type, $sequence),      "Unable to pass valid fasta sequence");  }  /**   * Provide invalid fasta entries to test.   */  public function provideInvalidFasta() {    return [      ['nucleotide','>good first recordATCGACTAGCTACGATCGACTAGCAGTCAGTACTGACGTACTACGATCGACTAGCATGCTGCATCGATCGATCGACTATCGATCGATCGATCGATCGATCGATCGATCGATCGATCGACT> space before definitionATTTGGGTGGTTGGGGTTCCCCCACACCGTGGGGTTTGGCAAAACCCGTGGGGCCACACACACACCCCTGGGGTGTGACCCGTAACGCGAATATGCGCGATATTACGGCGCGCGATATTA'      ],      ['nucleotide','>Has incorrect charactersACGTGCATGCATCGACACTACGACTACGACTACTAGCTCGACTGATCGACATCGATCGATACGTCAGCTACGGCGCGGCATGATCGAZZZZZZZZZZZZZZZZZZTCGCAACCCCTTTCA'      ],      ['nucleotide','>Has special charactersAACGTACGATCGACTAGCTACGATCGATCGACTAGCTAGCATCGATCGATCGATCGATCGAATTGTCAACGT%%#^&^&%%$$#@@!#%^&*()@ACACGTAGCTAGGCCAACGTGCAAA'      ],      ['nucleotide','>Has numbersACGTACGATCGATCGACTAGCTAGCATCGATCGATCGATCAGCATCGATCGATCGACTCGACGTACGATCGATCGA2425345345ACGATCGACTAGCTAGCATCGATCGATCAGTCAG'      ],      ['protein', '>good first recordACGTURYKMSWBDACGTURYKMSWBDHACGTURYKMSWBDHVNXACGTURYKMSWBDHVNXVNXHVNXACGTURYKMSWBDHVNACGTURYKMSWBDHVNACGTURYKMSWBDHVACGTURYKMSWBDHVNXNXXX> space before identifierACGTURYKMSWBDHVNACGTURYKMSWBDHVNACGTURYKMSWBDHVACGTURYKMSWBDHVNXNXXXACGTURYKMSWBDHVNACGTACGTURYKMACGTURYKMSWBDHVNXSWBDHVNXURYKMSWBDHVNXX'      ],      ['protein', '>Has incorrect charactersACGTURYKMSWBDACGTURYKMSWBDHVNACGTURYKMSWBDHVNACGTURYKMSWBDHVNXXXHVNXACGTURYKMSWBDHVACGTURYKMSWBZZZZZZZZZZZZZZZZZZDHVNACGTURYKMSWBDHVNXNZ'      ],      ['protein', '>Has special charactersACGTURYKMSACGTURYKMSWBDHVNACGTURYKMSWBDHVNACGTURYKMSWBDHVNXXXWBDHVNXACGTURYKMSWBACGTURYKMSWB%#$%#$%#$^$%^%&^%&*&(*)()(!!#@#$#^DHVNXDHVNX'      ],      ['protein', '>Has numbersACGTURYKMSWBDHVACGTURYKMSWBDHVNACGTURYKMSWBDHVNACGTURYKMSWBDHVNXXXNXACGTURYKMSWACGTURYKMSWB13212324ACGTURYKMSWBDHVNX324443556DHVNXBDHVNX'      ],    ];  }  /**   * Provide Valid FASTA entries to test.   */  public function provideValidFasta() {    return [      ['nucleotide','>identifier descriptionACGACTGTACGCGAGCTACGTACGTAGCATGCATCGATCGATCGATCGATCGATCGATCAGCTAGTCAGCATCGATGCATGCATCGACGTAATCGAGCGTAGCGAGCTAGTCATACGT'      ],      ['nucleotide','>identifierACGTACGATCGATCGATCGATCGATCGATCGACATGCTACGATCGATCGATCGATCGG'      ],      ['nucleotide','>mutlifasta descriptionAGCTAGCATCGATCGATCAGCTAGCATCGATCGATCGACTAGCTAGCATCGATCGATCCGATCGATCAGCTAGCTACGATCGATCGATCGATCGACTAGCTACGATCGATCGATCGCGATCGACTAGCGTACGATCGATCGATCGATCGATCGATCGATCACGATCAGCTACGT>multifasta descriptionGCTACGATCGATCAGCTATCGACTATCGACGTATCGATGGAGTCATGCAGTCATGCAGACGCTACGATCAGCGTACGATCGATCGATCGATCGATCGATCGATCGATCGGTGCGTC'      ],      ['nucleotide','>with spaces in sequenceACGATCGATCGATCGATAGCTACGATCGATCGATCGATCAGCTAGCTACGATCGATCAACAGCATCAGCTAG ACGATCAGCTAGCTACGATCGATCG  ACTGATCAGCATGCATAACGTACGATCAGCTAGCATGCAT   ATCGATCAGCTAGCTACGATCGATCGATCAG'      ],      ['nucleotide','>masked sequenceacgatcgatcgactagctacgatcgacatcgatcatgAACGTGTGGGGTGTGTGCAacagctagctagcatcgatcgatcgatcagctagcatgctacgagtcagcatcgtgca'      ],      ['nucleotide','>gi|123456|gb|ABC12345.1|description [Genus species]ACGATCGATCGATCGATAGCTACGATCGATCGATCGATCAGCTAGCTACGATCGATCAACGATCGATCGATCGATAGCTACGATCGATCGATCGATCAGCTAGCTACGATCGATCA',     ],     ['protein','>identier descriptionSVSGIRKVQRAEGPATVLAIGTANPPNCIDQSTYADYYFRVTNSEHMTDLKKKFQRICERTQIKNRHMYLTEEILKENPNMCAYKAPSLDAREDMMIREVPRVGKEAATKAIKEWGQPMSKITHLIFCTTSGVALPGV'      ],      ['protein','>identifierNKDARVLIVCSENTAVTFRGPSETDMDSLVGQALFADGAAAIIIGSDPVPEVEKPIFELVSTDQKLVPGSHGAIGGLLREVGLTFYLNKSVPDIISQ'      ],      ['protein','>multifasta descriptionERTQIKNRHMYLTEEILKENPNMCAYKAPSLDAREDMMIREVPRVGKEAATKAIKEWGQPMSKITHLIFCTTSGVALPGVDYELIVLLGLDPCVKRYMMYHQGCFAGGTVLRLAKDLAENNKDARVLIVCSENTAVTFRGPSETDMDSLVGQ>multifasta descriptionNKDARVLIVCSENTAVTFRGPSETDMDSLVGQALFADGAAAIIIGSDPVPEVEKPIFELVSTDQKLVPGSHGAIGGLLREVGLTFYLNKSVPDIISQNINDALNKAFDPLGISDYNSIFWIAHPGGRAILDQVEQKVNLKPEKMKATRDVLSNYGNMSSACV'      ],      ['protein','>with spaces in sequenceAEGPATVLAIGTANPPNCI     DQS   TY ADYYFRVTNSEHMTDLKKKFQRICERTQIKNRHMYLTEEILK ENPNMC  AYKAPS LDAREDMMIREVPRVGKEAATKAIKEWGQPMSKITHLIFCTTSGVALPGVDYEL  IV'      ],      ['protein','>masked sequenceGGLLREVGLTFYLNKSVPDIISQNINDALsqngglrevknldynsifwNKAFDPLGISDYNSIFWIAHPGGRAILDQVEQKVNLKPEKMKATRDVLSNYGNMSSAC'      ],      ['protein','>gi|123456|gb|ABC12345.1|description [Genus species]ERTQIKNRHMYLTEEILKENPNMCAYKAPSLDAREDMMIREVPRVGKEAATKAIKEWGQPMSKITHLIFCTTSGVALPGVDYELIVL'      ],      ['protein','>gi|166477|gb|AAA96434.1| resveratrol synthase [Arachis hypogaea]MVSVSGIRKVQRAEGPATVLAIGTANPPNCIDQSTYADYYFRVTNSEHMTDLKKKFQRICERTQIKNRHMYLTEEILKENPNMCAYKAPSLDAREDMMIREVPRVGKEAATKAIKEWGQPMSKITHLIFCTTSGVALPGVDYELIVLLGLDPCVKRYMMYHQGCFAGGTVLRLAKDLAENNKDARVLIVCSENTAVTFRGPSETDMDSLVGQALFADGAAAIIIGSDPVPEVEKPIFELVSTDQKLVPGSHGAIGGLLREVGLTFYLNKSVPDIISQNINDALNKAFDPLGISDYNSIFWIAHPGGRAILDQVEQKVNLKPEKMKATRDVLSNYGNMSSACVFFIMDLMRKRSLEEGLKTTGEGLDWGVLFGFGPGLTIETVVLRSVAI',      ]    ];  } }
 |