def test_fastaFromSequence(self): """should return correct fasta string.""" self.assertEqual(fasta_from_sequences(''),'') self.assertEqual(fasta_from_sequences(self.strings),\ self.fasta_no_label) self.assertEqual(fasta_from_sequences(self.sequences_with_labels),\ self.fasta_with_label) self.assertEqual(fasta_from_sequences(self.sequences_with_names),\ self.fasta_with_label)
def findMotifsFromSeqs(seqs,Alphabet=None): """Runs MEME using alignment created from list of sequences. - Returns MotifResults object. - seqs can be Sequence objects or strings. """ #Make Fasta Alignment fasta_aln = fasta_from_sequences(seqs) #Make an Alignment object aln = Alignment(list(FastaParser(fasta_aln))) app = MEME(InputHandler='_input_as_multiline_string') if Alphabet == 'dna': app.Parameters['-dna'].on() else: app.Parameters['-protein'].on() app.Parameters['-maxw'].Value = 40 app.Parameters['-nmotifs'].Value = 20 app.Parameters['-evt'].Value = 0.01 app.Parameters['-mod'].Value = "anr" app.Parameters['-maxsize'].Value = len(fasta_aln) + 1 print app.BaseCommand output = app(fasta_aln) meme_results = MemeParser(output['StdOut'].readlines()) meme_results.Alignment = aln return add_p_values(meme_results)