{ "cells": [ { "cell_type": "markdown", "id": "f6c01484", "metadata": {}, "source": [ "Temporary notebook for manually scanning chromosomes for sequences of interest" ] }, { "cell_type": "code", "execution_count": 1, "id": "0608f91e", "metadata": {}, "outputs": [], "source": [ "seq_of_interest = \"GCAGATCTGCACATC\"" ] }, { "cell_type": "code", "execution_count": 2, "id": "3c245151", "metadata": {}, "outputs": [], "source": [ "genome_dir = \"/home/a03-svincoff/DPACMAN/dpacman/data_files/raw/genomes/hg38\"" ] }, { "cell_type": "code", "execution_count": 7, "id": "682098b6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "dict_keys(['chr12', 'chr5', 'chr17', 'chr2', 'chr21', 'chr1', 'chrM', 'chr22', 'chr20', 'chr16', 'chr9', 'chr8', 'chr19', 'chr7', 'chr11', 'chr3', 'chr4', 'chr14', 'chr15', 'chr18', 'chrY', 'chr6', 'chrX', 'chr13', 'chr10'])\n" ] } ], "source": [ "import json\n", "import os\n", "chrom_cache = {}\n", "for chrom_file in os.listdir(genome_dir):\n", " chrom = chrom_file.split(\"hg38_\")[1].split(\".json\")[0]\n", " with open(f\"{genome_dir}/{chrom_file}\", \"r\") as f:\n", " chrom_cache[chrom] = json.load(f)\n", "\n", "print(chrom_cache.keys())" ] }, { "cell_type": "code", "execution_count": null, "id": "fd6cca79", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Testing sequence A: TAGCAGGATGTGT\n", "Testing sequence B: GCAGATCTGCACATC\n", "Testing sequence C: CGACACCTGACGCG\n", "Testing sequence D: CGCTATCCAGAGCG\n", "Testing sequence E: CGCGATGCTTCTCG\n", "Testing sequence F: CGGCTGGATTACCG\n", "Testing sequence G: CGAGAACATAGTCG\n", "Testing sequence H: CGGGGAAACGCCCG\n", "Testing sequence I: CGCCCAAAGCCGCG\n", "Testing sequence J: CGGAGGTAATGACG\n", "Testing sequence K: CGCACCGACTCACG\n", "Testing sequence L: CGGCCCTTTGCGCG\n", "Testing sequence M: CGCCGTTAGTGTCG\n" ] } ], "source": [ "baker_sequences = {\n", " \"A\": \"TAGCAGGATGTGT\",\n", " \"B\": \"GCAGATCTGCACATC\",\n", " \"C\": \"CGACACCTGACGCG\",\n", " \"D\": \"CGCTATCCAGAGCG\",\n", " \"E\": \"CGCGATGCTTCTCG\",\n", " \"F\": \"CGGCTGGATTACCG\",\n", " \"G\": \"CGAGAACATAGTCG\",\n", " \"H\": \"CGGGGAAACGCCCG\",\n", " \"I\": \"CGCCCAAAGCCGCG\",\n", " \"J\": \"CGGAGGTAATGACG\",\n", " \"K\": \"CGCACCGACTCACG\",\n", " \"L\": \"CGGCCCTTTGCGCG\",\n", " \"M\": \"CGCCGTTAGTGTCG\"\n", "}\n", "sorted_chroms = list(chrom_cache.keys())\n", "sorted_chroms = sorted(sorted_chroms, key = lambda x: int(x.split(\"chr\")[1]) if x.split(\"chr\")[1] not in [\"M\",\"X\",\"Y\"] else 0)\n", "\n", "for seq_letter, seq in baker_sequences.items():\n", " print(f\"Testing sequence {seq_letter}: {seq}\")\n", " for chrom in sorted_chroms:\n", " chrom_dna = chrom_cache[chrom][\"dna\"].upper()\n", " match_chroms=[]\n", " try:\n", " print(f\"\\tChrom {chrom} index of sequence {seq_letter} ({seq}): {chrom.index(seq)}\")\n", " match_chroms+=[chrom]\n", " except:\n", " match_chroms = match_chroms\n", " print(f\"\\tChrom {chrom} does not have sequence {seq_letter}({seq})\")" ] }, { "cell_type": "code", "execution_count": null, "id": "99078ac6", "metadata": {}, "outputs": [], "source": [ "#[m.start() for m in re.finditer(chr1_dna, 'GCAGATCTGCACATC')]" ] } ], "metadata": { "kernelspec": { "display_name": "dnabind2", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.14" } }, "nbformat": 4, "nbformat_minor": 5 }