Ejemplo n.º 1
0
def index():
    """
    """

    paths = None

    print('Request - 202 - Analysis beginning')

    if request.method == 'POST':
        data = list(request.form.keys())[0]
        data = ast.literal_eval(data)

        email: str = data['email']
        accession: str = data['accession'] if 'accession' in data else ''
        protein: str = data['protein'] if 'protein' in data else ''
        sequence: str = data['sequence'] if 'sequence' in data else ''
        similarity: int = data['similarity'] if 'similarity' in data else ''
        basepairs: int = data['basepairs'] if 'basepairs' in data else ''
        # expect: int = data['evalue'] if 'evalue' in data else 10

        print('Launching finder ... ')

        # send_email(email, data['uuid4'])

        finder = None

        if sequence:
            if similarity and basepairs:
                finder = Finder(email=email,
                                seq=sequence,
                                similarity=float(similarity) / 100,
                                bp=int(basepairs))
            elif similarity and not basepairs:
                finder = Finder(email=email,
                                seq=sequence,
                                similarity=float(similarity) / 100)
            elif not similarity and basepairs:
                finder = Finder(email=email, seq=sequence, bp=int(basepairs))
            else:
                finder = Finder(email=email, seq=sequence)
        else:
            print(similarity, basepairs)
            if similarity and basepairs:
                finder = Finder(email=email,
                                accession=accession,
                                coreGene=protein,
                                similarity=float(similarity) / 100,
                                bp=int(basepairs))  #noqa
            elif similarity and not basepairs:
                finder = Finder(email=email,
                                accession=accession,
                                coreGene=protein,
                                similarity=float(similarity) / 100)  #noqa
            elif not similarity and basepairs:
                finder = Finder(email=email,
                                accession=accession,
                                coreGene=protein,
                                bp=int(basepairs))
            else:
                finder = Finder(email=email,
                                accession=accession,
                                coreGene=protein)

        # finder = Finder(email, accession=accession, coreGene=protein, similarity=float(similarity), bp=int(basepairs))
        paths = finder.finder()

        print('Finder completed ... ')

        if paths:
            print('Insert into DB')
            insert_job_number(data['uuid4'])
            insert_job_data(data['uuid4'], paths)
        else:
            print('empty')

        return jsonify('AMI Motivated')