У меня есть данные, подобные показанным ниже, идентификаторы белков в первом столбце, пептидная последовательность второго столбца и некоторое значение в третьем столбце. Я создал модель Django для хранения этих данных.
Таблица данных:
A0A075B6K4 YELTQPPSVSTAR 60,10
A0A075B6K4 SYELTQPPSVTAR 2
A0A075B6Q5 EVQLVESGEGSLR 7
A0A075B6S5 DIQMTQSPSGDR 10
A0A0A0MRZ8 EIVLTQSPGER 30,20
A0A0B4J1V0 EVQLVESGGSLR 10
A0A0B4J1X5 EVQLVESGGSLR 0
A0A0B4J2D9 AIQLTQSPSGDR 0
A0A0C4DH42 EVQLVESGGSLR 0
A0A0C4DH55 EIVMTQSPGER 10
A0A0C4DH42 YELTQPPSTAR 20
A0A0C4DH55 YELTQPPSTAR 4
A0A0B4J1X5 YELTQPPSTAR 12
Django модели:
from django.db import models
# Create your models here.
class ProteinID(models.Model):
ProtID = models.CharField(max_length=30)
def __str__(self):
return "%s" % (self.ProtID)
class PeptideSeq(models.Model):
sequence = models.CharField(max_length=100)
feq = models.CharField(max_length=100)
protein = models.ForeignKey(ProteinID, on_delete=models.CASCADE)
def __str__(self):
return "%s %s" % (self.sequence, self.feq)
class Meta:
ordering = ['sequence']
Подробности:
Как видим в таблице один идентификатор белка может содержать более одной пептидной последовательности, а один пептид может быть связан с более чем одним идентификатором белка.
Я хочу добавить два варианта поиска:
- если идентификатор белка введен как запрос, он должен вернуть все связанные пептиды и значения из третьего столбца
Запрос A0A0C4DH55 должен вернуть
YELTQPPSTAR 4
EIVMTQSPGER 10
Или пептидная последовательность, введенная в качестве запроса, она должна возвращать все связанные идентификаторы белка и значения из третьего столбца.
Запрос EVQLVESGGSLR должен вернуть
A0A0B4J1V0 10
A0A0B4J1X5 0
A0A0C4DH42 0
Как это реализовать?
Спасибо