コード例 #1
0
#
# Copyright John Reid 2011
#

"""
Matches predictions in MEME output format to details about planted sites in headers of fasta files.
"""

import logging
from stempy.planted_sites import parse_fasta_for_sites, parse_meme_output_for_sites, calculate_positives_and_negatives
from infpy.roc import RocCalculator

logging.basicConfig(level=logging.INFO)

if 3 != len(sys.argv):
    raise RuntimeError('USAGE: %s <fasta> <meme-output>' % sys.argv[0])
fasta_file = sys.argv[1]
meme_output = sys.argv[2]

records, true_sites = parse_fasta_for_sites(fasta_file)
predicted_sites = parse_meme_output_for_sites(meme_output)
TP, TN, FN, FP = calculate_positives_and_negatives(
    records, true_sites, predicted_sites)
roc = RocCalculator(TP, FP, TN, FN)
logging.info(roc)
コード例 #2
0
ファイル: test_steme_accuracy.py プロジェクト: JohnReid/STEME
    options.min_w = 6
    options.max_w = 11
    options.output_dir = os.path.join('output', 'test-steme-accuracy', data_set)
    meme_output = os.path.join(options.output_dir, options.meme_like_output)
    
    #
    # Run the STEME algorithm
    #
    algorithm = stempy.Algorithm(options)
    algorithm(fasta_file)

    #
    # Analyse output
    #    
    records, true_sites = parse_fasta_for_sites(fasta_file)
    predicted_sites = parse_meme_output_for_sites(meme_output)
    TP, TN, FN, FP = calculate_positives_and_negatives(records, true_sites, predicted_sites)
    roc = RocCalculator(TP, FP, TN, FN)
    rocs[data_set] = roc
    
    #
    # Run MEME as well if asked to
    #
    if cmd_line_options.run_meme:
        from stempy import meme
        options.output_dir = os.path.join(options.output_dir, 'MEME')
        meme_algorithm = meme.Algorithm(options)
        meme_algorithm(fasta_file)
        
        #
        # Analyse MEME output