Exemplo n.º 1
0
def main(args):
    parser = OptionParser('usage: %prog [options]')
    optionsAvailable = (
        ('-i', '--input', 'inputfile', 'string'),
        ('-o', '--output', 'outputfile', 'string'),
        ('-a', '--alignment', 'Alignment_Protocol_ID', 'int'),
        )
    for oa in optionsAvailable:
        parser.add_option(oa[0], oa[1], dest=oa[2], type=oa[3])
    
    (options, args) = parser.parse_args(args)
    ap = AlignmentProtocol(options.Alignment_Protocol_ID)
    cArgs = ap.Arguments % {'database': ap.Database_Path}
    cArgs = cArgs.split(' -')
    cArgs = [cArgs[0],] + map(lambda x: '-' + x, cArgs[1:])
    cArgs.extend(('-i%s' % options.inputfile,
                  '-o%s' % options.outputfile))
    rc = runCommand((ap.Program, ) + tuple(cArgs), True)[1]
    if rc != 0:
        raise Exception

    failed = True
    if os.path.exists(options.outputfile):
        content = open(options.inputfile).read()
        nEntries = len(re.findall(r'^>', content, re.M))
        lastLine = runCommand(('tail', '-n1', options.outputfile))
        match = re.match(r'^#(?:.*)finished(?:.*) (\d+) (?:.*)',
                         lastLine)
        failed = match is None or int(match.group(1)) != nEntries

    if failed:
        return 1
    return 0
Exemplo n.º 2
0
def main(args):
    parser = OptionParser('usage: %prog [options]')
    optionsAvailable = (
        ('-i', '--input', 'inputfile', 'string'),
        ('-o', '--output', 'outputfile', 'string'),
        ('-s', '--sequencefileid', 'Sequence_File_ID', 'int'),
        )
    for oa in optionsAvailable:
        parser.add_option(oa[0], oa[1], dest=oa[2], type=oa[3])

    (options, args) = parser.parse_args(args)

    outfn = options.outputfile.replace('.fasta','')
    out, rc = runCommand((FASTA_FILTER_PATH, '-r0.4', '-H18', '-a:4',
                          '-A0', '--output=%s' % outfn,
                          options.inputfile), True) 
    if rc != 0:
        raise Exception

    readsC, sequencesC = countFasta(options.outputfile)
    if int(readsC) == 0 and int(sequencesC) == 0:
        print readsC, sequencesC
        raise Exception
    rcType = ReadCountType(Name='qualityFiltered',
                           insertIfNeeded=True)
    ReadCount(Sequence_File_ID=options.Sequence_File_ID,
              Reads=readsC, Sequences=sequencesC,
              Read_Count_Type_ID=rcType, insertIfNeeded=True)
Exemplo n.º 3
0
def main(args):
    parser = OptionParser('usage: %prog [options]')
    optionsAvailable = (
        ('-i', '--input', 'inputfile', 'string'),
        ('-o', '--output', 'outputfile', 'string'),
        ('-s', '--sequencefileid', 'Sequence_File_ID', 'int'),
        )
    for oa in optionsAvailable:
        parser.add_option(oa[0], oa[1], dest=oa[2], type=oa[3])
    
    (options, args) = parser.parse_args(args)
    runCommand((FASTA_FILTER_PATH, '-Q', '-d', options.inputfile))
    output = '.'.join((os.path.splitext(options.inputfile)[0],
                      'noDups', 'fastq'))
    readsC, sequencesC = countFasta(options.outputfile)
    if readsC == 0 and sequencesC == 0:
        raise Exception
    rcType = ReadCountType(Name='noDups', insertIfNeeded=True)
    ReadCount(Sequence_File_ID=options.Sequence_File_ID,
              Reads=readsC, Sequences=sequencesC,
              Read_Count_Type_ID=rcType, insertIfNeeded=True)