Пример #1
0
 def get_info(cls):
     '''Implements ISynthesizer.get_info.'''
     if cls.INFO is None:
         out = iterpipes.run(iterpipes.linecmd('speak --voices'))
         # get voices from fixed width columns
         voices = [ln[40:52].strip() for i, ln in enumerate(out) if i > 0]
         # generate all variants for voices
         variants = ['', '+f1', '+f2', '+f3', '+f4', '+m1', '+m2', '+m3', 
             '+m4', '+m5', '+m6', '+whisper', '+croak']
         voices = itertools.chain(*[
             [voice+variant for voice in voices] 
             for variant in variants
         ])
         cls.INFO = {
             'rate' : {
                 'minimum' : cls.MIN_RATE, 
                 'maximum' : cls.MAX_RATE,
                 'default' : 200
             },
             'pitch' : {
                 'minimum' : 0.0, 
                 'maximum' : 1.0,
                 'default' : 0.5
             }, 
             'voices' : {
                 'values' : list(voices),
                 'default' : 'default'
             }
         }
     return cls.INFO
Пример #2
0
def runIgBlastp( query, germlineSpecie = GERMLINE_HUMAN, domainSystem = DOMAIN_IMGT,
                 additionalDB = None, numThreads = 4, numAlignments = 10, outfmt = 3, out = None ):
    igblastp = os.path.join(os.path.join('.', IGBLAST_BIN), "igblastp")
    params = []

    if query == "" or germlineSpecie == "" or domainSystem not in [DOMAIN_IMGT, DOMAIN_KABAT]:
        return None

    # Query
    query = os.path.abspath(query)
    igblastp += " -query {}"
    params.append(query)

    # Germline
    germlineSpecie = "{0}/{1}_gl_V".format(IGBLAST_GERMLINE, germlineSpecie)
    igblastp += " -germline_db_V {}"
    params.append(germlineSpecie)

    # Domain
    igblastp += " -domain_system {}"
    params.append(domainSystem)

    # Database
    if additionalDB != None:
        additionalDB = os.path.join(BLASTDB_PATH, additionalDB)
        igblastp += " -db {}"
        params.append(additionalDB)

    # Threads
    igblastp += " -num_threads {}"
    params.append(str(numThreads))

    # Alignments
    igblastp += " -num_alignments {}"
    params.append(str(numAlignments))

    # Output format
    igblastp += " -outfmt {}"
    params.append(str(outfmt))

    # Output file
    if out != None:
        igblastp += " -out {}"
        params.append(out)

    # RUN IGBLASTP
    cur = os.path.curdir
    os.chdir(IGBLAST_PATH)
    runLine = iterpipes.linecmd(igblastp, *params)
    result = iterpipes.run(runLine)
    os.chdir(cur)

    returnResult = ""
    for line in result:
        returnResult += line

    return returnResult
Пример #3
0
 def get_info(cls):
     """Implements ISynthesizer.get_info."""
     if cls.INFO is None:
         out = iterpipes.run(iterpipes.linecmd("speak --voices"))
         # get voices from fixed width columns
         voices = [ln[40:52].strip() for i, ln in enumerate(out) if i > 0]
         # generate all variants for voices
         variants = ["", "+f1", "+f2", "+f3", "+f4", "+m1", "+m2", "+m3", "+m4", "+m5", "+m6", "+whisper", "+croak"]
         voices = itertools.chain(*[[voice + variant for voice in voices] for variant in variants])
         cls.INFO = {
             "rate": {"minimum": cls.MIN_RATE, "maximum": cls.MAX_RATE, "default": 200},
             "pitch": {"minimum": 0.0, "maximum": 1.0, "default": 0.5},
             "voices": {"values": list(voices), "default": "default"},
         }
     return cls.INFO
Пример #4
0
    def __call__(self, *args, **kwargs):
        """ Executes command with args, returns data as specified by kwarg['format'] """
        if not isinstance(args, list):
            args = isinstance(args, basestring) and [args] or isinstance(args, tuple) and list(args)
        if getattr(self, 'initial_args', None):
            args = self.initial_args + args
        self._checks(*args, **kwargs)

        # Generate command arg mask from *args with some black pymagic
        cmdf = self.cmd+' '+' '.join(['{}' for i in xrange(len(args))])
        logging.debug("Command: %s %s %s %s", self, self.cmd, args, kwargs)
        #print "Command: %s %s %s %s" % (self, self.cmd, args, kwargs)

        ofilter = kwargs.pop('ofilter', getattr(self, 'ofilter', None))
        ret_type = kwargs.pop('ret', None)
        binary = kwargs.pop('binary', True)

        mkcmd = binary and iterpipes.bincmd or iterpipes.linecmd
        itercmd = mkcmd(cmdf, *args, **kwargs)

        ret = ''
        if kwargs.get('error'):
            return iterpipes.check_call(iterpipes.bincmd(cmdf, *args, **kwargs))
        elif ret_type == bool:
            try:
                iterpipes.check_call(iterpipes.bincmd(cmdf, *args, **kwargs))
                return True
            except iterpipes.CalledProcessError:
                return False

        elif ret_type == int:
            return iterpipes.call(iterpipes.bincmd(cmdf, *args, **kwargs))

        else:
            for buf in iterpipes.run(itercmd):
                ret += str(buf)
            if ofilter:
                ret = ofilter.load(ret)
            return ret
Пример #5
0
  def CreatePipFreezeRequest( self ):
    """The property to call the commandline, using an iteration from iterpipes run command.
The rest of overloading definition from PipFreezeDict __setitems__ will by handle by property
GetPipRunCmd, this one simply call the command and put it a queue-list until a iteration
mechanism read from this run statement ."""
    self.pip_freeze = run( linecmd( self.PipCommand ) )