Example #1
0
 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)
Example #2
0
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)