Example #1
0
import sys, os
import gzip
import re

from django.conf import settings
from lib.utils.io import cd
from lib.utils import clogging
log = clogging.getColorLogger(__name__)


def get_records(pdb_id):
    pdb_id = pdb_id.lower()

    if not re.match('^[a-zA-Z0-9]{4}$', pdb_id):
        log.error('invalid PDB ID: %s' % pdb_id)
        return

    with cd(settings.PATH_TO_PDB):
        pdb_file = os.path.join(pdb_id[1:3], 'pdb' + pdb_id + '.ent.gz')
        if not os.path.exists(pdb_file):
            log.error('pdb file does not exist: %s' % pdb_id)

        return gzip.open(pdb_file, 'r')
Example #2
0
import sys
import os
import csv
import datetime

from django.core.management.base import BaseCommand, CommandError
from django.db import transaction
from django.conf import settings
from django.utils import timezone

from apps.snp.models import Snp
from lib.utils.io import get_url_content
from lib.utils import clogging
log = clogging.getColorLogger(__name__)


class Command(BaseCommand):
    help = "Update SNPs"

    @transaction.atomic
    def handle(self, *args, **options):
        log.info('Fetching latest snps in gwascatalog...')

        if not os.path.exists(settings.GWASCATALOG_DIR):
            os.makedirs(settings.GWASCATALOG_DIR)

        today = timezone.now().strftime('%Y-%m-%d')
        af_path = os.path.join(settings.GWASCATALOG_DIR, 'gwascatalog_snps_allele_freq_{}.tsv'.format(today))

        log.info('Importing snps in gwascatalog...')