Example #1
0
 def __init__(self):
     Predictor.__init__(self)
     self.mParser = PredictionParser.PredictionParserExonerate()
     self.mParser.SetRestrictToStrand("+")
     self.mExecutable = "exonerate"
     self.mOptions = "-Q protein -T dna -m p2g --softmasktarget TRUE --forcegtag TRUE --forwardcoordinates FALSE"
     self.mOutputOptions = '--showalignment FALSE --showvulgar FALSE --showsugar FALSE --showcigar FALSE ' + \
                           ' --ryo "diy\t%S\t%ql\t%r\t%pi\t%ps\t%V\n" --showtargetgff FALSE --showquerygff FALSE'
Example #2
0
    def Run(self, peptide_sequence, genomic_sequence):

        self.CreateTemporaryFiles()

        outfile = open(self.mFilenameTempPeptide, "w")
        outfile.write(">%s\n%s\n" % ("peptide", peptide_sequence))
        outfile.close()

        outfile = open(self.mFilenameTempGenome, "w")
        outfile.write(">%s\n%s\n" % ("genome", genomic_sequence))
        outfile.close()

        statement = string.join(
            map(str, (
                self.mExecutable,
                self.mDefaultOptions,
                self.mOptions,
                self.mOutputOptions,
                "--query",
                self.mFilenameTempPeptide,
                "--target",
                self.mFilenameTempGenome,
            )), " ")

        if self.mLogLevel >= 3:
            print "# statement: %s" % statement

        s = subprocess.Popen(statement,
                             shell=True,
                             stdout=subprocess.PIPE,
                             stderr=subprocess.PIPE,
                             cwd=self.mTempDirectory,
                             close_fds=True)

        (out, err) = s.communicate()

        if s.returncode != 0:
            raise ExonerateError, "Error in calculating Exonerate\n%s" % err

        self.mStdout.write(out)
        self.mStderr.write(err)

        self.DeleteTemporaryFiles()

        parser = PredictionParser.PredictionParserExonerate()
        if self.mDoParse:
            return parser.Parse(out, peptide_sequence, genomic_sequence)
Example #3
0
    # read peptide sequences
    if param_filename_peptides:
        peptide_sequences = Genomics.ReadPeptideSequences(
            open(param_filename_peptides, "r"))
    else:
        peptide_sequences = {}

    # print HEADER

    if param_loglevel >= 2:
        print SHORT_HEADER_SUMMARY

    # aligned entries from exonerate
    entries = []

    parser = PredictionParser.PredictionParserExonerate()

    if param_format == "exonerate":
        for line in sys.stdin:

            if line[0] == "#":
                continue
            if line[:3] != "diy":
                continue

            data = string.split(line[:-1], "\t")

            query_token = data[1]

            # parser has to go inside, because GetBestMatch returns reference
            # copy