Skip to content

Commit

Permalink
Merge branch 'ensembl-splice' of https://github.com/RNAcentral/rnacen…
Browse files Browse the repository at this point in the history
…tral-webcode into export-app
  • Loading branch information
carlosribas committed Sep 6, 2024
2 parents c2a8c95 + 73944c3 commit ad2d47e
Show file tree
Hide file tree
Showing 4 changed files with 42 additions and 8 deletions.
12 changes: 10 additions & 2 deletions rnacentral/apiv1/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ class XrefSerializer(serializers.HyperlinkedModelSerializer):
refseq_mirna_mature_products = serializers.SerializerMethodField()
refseq_mirna_precursor = serializers.SerializerMethodField()
refseq_splice_variants = serializers.SerializerMethodField()
ensembl_splice_variants = serializers.SerializerMethodField()
# ensembl_splice_variants = serializers.SerializerMethodField()
# tmrna_mate_upi = serializers.SerializerMethodField('get_tmrna_mate_upi')
# tmrna_type = serializers.ReadOnlyField(source='get_tmrna_type')
gencode_transcript_id = serializers.CharField(
Expand Down Expand Up @@ -229,7 +229,7 @@ class Meta:
"refseq_mirna_mature_products",
"refseq_mirna_precursor",
"refseq_splice_variants",
"ensembl_splice_variants",
# "ensembl_splice_variants",
# 'tmrna_mate_upi',
# 'tmrna_type',
"gencode_transcript_id",
Expand Down Expand Up @@ -958,3 +958,11 @@ def get_ensembl_assembly(self, obj):
"example_start": obj.example_start,
"example_end": obj.example_end,
}


class Md5Serializer(serializers.Serializer):
"""Serializer class to fetch sequence using md5"""

rnacentral_id = serializers.CharField(source="id")
description = serializers.CharField()
sequence = serializers.CharField(source="get_sequence")
6 changes: 6 additions & 0 deletions rnacentral/apiv1/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,12 @@
{},
name="litsumm-specific-id",
),
# fetch sequence using md5
url(
r"md5/(?P<md5>.*?)/?$",
cache_page(CACHE_TIMEOUT)(views.Md5SequenceView.as_view()),
name="md5-sequence",
),
]

urlpatterns = format_suffix_patterns(
Expand Down
20 changes: 20 additions & 0 deletions rnacentral/apiv1/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
InteractionsSerializer,
LitSummSerializer,
LncrnaTargetsSerializer,
Md5Serializer,
ProteinTargetsSerializer,
QcStatusSerializer,
RawPublicationSerializer,
Expand Down Expand Up @@ -1102,3 +1103,22 @@ def get_queryset(self):
if primary_id is not None:
queryset = queryset.filter(primary_id=primary_id)
return queryset


class Md5SequenceView(APIView):
"""API endpoint to fetch sequence using md5 field"""

permission_classes = (AllowAny,)

def get(self, request, md5):
try:
rna = Rna.objects.get(md5=md5)
except Rna.DoesNotExist:
raise Http404

precomputed = RnaPrecomputed.objects.filter(upi=rna, taxid__isnull=True).first()
if not precomputed:
raise Http404

serializer = Md5Serializer(precomputed)
return Response(serializer.data)
12 changes: 6 additions & 6 deletions rnacentral/portal/models/xref.py
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ def _fetch_all(self):
)
refseq_mirna_precursors = self.get_refseq_mirna_precursor(taxid)
refseq_splice_variants = self.get_refseq_splice_variants(taxid)
ensembl_splice_variants = self.get_ensembl_splice_variants(taxid)
# ensembl_splice_variants = self.get_ensembl_splice_variants(taxid)
# tmrna_mates = self.get_tmrna_mate(taxid)

# "annotate" xrefs queryset with additional attributes, retrieved by raw SQL queries
Expand Down Expand Up @@ -114,11 +114,11 @@ def _fetch_all(self):
splice_variant.upi.upi
for splice_variant in refseq_splice_variants[xref.id]
]
if xref.id in ensembl_splice_variants:
xref.ensembl_splice_variants = [
splice_variant.upi.upi
for splice_variant in ensembl_splice_variants[xref.id]
]
# if xref.id in ensembl_splice_variants:
# xref.ensembl_splice_variants = [
# splice_variant.upi.upi
# for splice_variant in ensembl_splice_variants[xref.id]
# ]
# if xref.id in tmrna_mates:
# xref.tmrna_mates = [
# tmrna_mate.upi.upi for tmrna_mate in tmrna_mates[xref.id]
Expand Down

0 comments on commit ad2d47e

Please sign in to comment.