呆鸟的Python数据分析

使用Django框架开发的第一个简易web程序:计算fasta序

2019-08-15  本文已影响0人  小明的数据分析笔记本

Django是python写成的开放源代码的web应用框架

本次使用的基础配置
python版本:3.6.3
Django:2.2
Windows10系统
如何查看Django版本

import django
django.__version__

流程

django-admin startproject SeqLength

此时目录下多了一个SeqLength文件夹


image.png
cd SeqLength
python manage.py startapp seqLengthapp
image.png
<!DOCTYPE html>
<html>
    <title>Calculate Length of Sequence</title>
    <body>
        <h1>Please input sequence</h1>
        <form action="../Results/">
            <textarea rows=20 cols=60 name='text'>输入fasta格式的序列</textarea>
            <br>
            <input type="submit" value="序列提交">
        </form>
    </body>
</html>

将其命名为inputSeq.html,页面效果如下


image.png
python manage.py runserver
<!DOCTYPE html>
<html>
    <title>output</title>
    <body>
        <h1>这里是输出结果</h1>
        <table border="1">
            <thead>
                <th>序列名称</th>
                <th>序列长度</th>
                <th>GC含量</th>
            </thead>
            <br>
            <tbody>
                {% for line in seqLength %}
                <tr>
                    <td>{{line.SeqName}}</td>
                    <td>{{line.SeqLength}}</td>
                    <td>{{line.GCcontent}}</td>
                </tr>
                {% endfor %}
            </tbody>
        </table>
    </body>
</html>
def calresults(request):
    datalist = []
    seq = request.GET['text']
    with open('1.fasta','w') as fw:
        fw.write(seq)

    for rec in SeqIO.parse('1.fasta','fasta'):
        d = {"SeqName":rec.id,"SeqLength":str(len(rec.seq)),\
            "GCcontent":str(GC(rec.seq))}
        datalist.append(d)

    return render(request,"outputresult.html",{'seqLength':datalist})

运行

输入
image.png
返回结果
image.png

参考文献

欢迎大家关注我的公众号小明的数据分析笔记本

公众号二维码.jpg
上一篇 下一篇

猜你喜欢

热点阅读