diff --git a/packages/core/BaseFeatureWidget/BaseFeatureDetail.tsx b/packages/core/BaseFeatureWidget/BaseFeatureDetail.tsx index 3fbeb3740a..f5a60b8e38 100644 --- a/packages/core/BaseFeatureWidget/BaseFeatureDetail.tsx +++ b/packages/core/BaseFeatureWidget/BaseFeatureDetail.tsx @@ -1,5 +1,5 @@ -/* eslint-disable @typescript-eslint/no-explicit-any,react/prop-types,no-nested-ternary */ -import React, { useEffect, useState } from 'react' +/* eslint-disable @typescript-eslint/no-explicit-any,react/prop-types */ +import React from 'react' import ErrorBoundary from 'react-error-boundary' import { Accordion, @@ -8,8 +8,6 @@ import { Typography, Divider, Tooltip, - Select, - MenuItem, } from '@material-ui/core' import ExpandMore from '@material-ui/icons/ExpandMore' import { makeStyles } from '@material-ui/core/styles' @@ -17,18 +15,13 @@ import { DataGrid } from '@material-ui/data-grid' import { observer } from 'mobx-react' import clsx from 'clsx' import isObject from 'is-object' +import { IAnyStateTreeNode } from 'mobx-state-tree' import { getConf } from '../configuration' -import { - measureText, - getSession, - defaultCodonTable, - generateCodonTable, - revcom, -} from '../util' -import { Feature } from '../util/simpleFeature' +import { measureText, getSession } from '../util' import SanitizedHTML from '../ui/SanitizedHTML' - -type Feat = { start: number; end: number; type: string } +import SequenceFeatureDetails from './SequenceFeatureDetails' +import { BaseCardProps, BaseProps } from './types' +import { SimpleFeatureSerialized } from '../util/simpleFeature' const globalOmit = [ 'name', @@ -98,12 +91,6 @@ export const useStyles = makeStyles(theme => ({ }, })) -interface BaseCardProps { - title?: string - defaultExpanded?: boolean - children?: React.ReactNode -} - export function BaseCard({ children, title, @@ -139,18 +126,14 @@ const FieldName = ({ }) => { const classes = useStyles() const val = (prefix ? `${prefix}.` : '') + name - return ( - <> - {description ? ( - -
- {val} -
-
- ) : ( -
{val}
- )} - + return description ? ( + +
+ {val} +
+
+ ) : ( +
{val}
) } @@ -217,310 +200,20 @@ const ArrayValue = ({ ) } -interface BaseProps extends BaseCardProps { - feature: any - descriptions?: Record - model?: any -} - -function stitch(subfeats: any, sequence: string) { - return subfeats - .map((sub: any) => { - return sequence.slice(sub.start, sub.end) - }) - .join('') -} - -// filter if they have the same ID -function filterId(feat: Feat) { - return `${feat.start}-${feat.end}` -} - -// filters if successive elements share same start/end -function dedupe(list: Feat[]) { - return list.filter( - (item, pos, ary) => !pos || filterId(item) !== filterId(ary[pos - 1]), - ) -} - -function revlist(list: Feat[], seqlen: number) { - return list - .map(sub => ({ - ...sub, - start: seqlen - sub.end, - end: seqlen - sub.start, - })) - .sort((a, b) => a.start - b.start) -} - -// display the stitched-together sequence of a gene's CDS, cDNA, or protein -// sequence. this is a best effort and weird genomic phenomena could lead these -// to not be 100% accurate -function SequenceFeatureDetails(props: BaseProps) { - const { model, feature } = props - const { assemblyManager, rpcManager } = getSession(model) - const { assemblyNames } = model.view - const [preseq, setSequence] = useState() - const [error, setError] = useState() - const [assemblyName] = assemblyNames - const subfeatures = feature.subfeatures as { +function CoreDetails(props: BaseProps) { + const { feature } = props + const { refName, start, end, strand } = feature as SimpleFeatureSerialized & { start: number end: number - type: string - }[] - const hasCDS = subfeatures.find(sub => sub.type === 'CDS') - const [mode, setMode] = useState(hasCDS ? 'cds' : 'cdna') - const loading = !preseq - const codonTable = generateCodonTable(defaultCodonTable) - - useEffect(() => { - ;(async () => { - const assembly = await assemblyManager.waitForAssembly(assemblyName) - if (!assembly) { - setError('assembly not found') - return - } - const adapterConfig = getConf(assembly, ['sequence', 'adapter']) - const sessionId = 'getSequence' - const region = { - start: feature.start, - end: feature.end, - refName: assembly?.getCanonicalRefName(feature.refName), - } - - const feats = await rpcManager.call(sessionId, 'CoreGetFeatures', { - adapterConfig, - region, - sessionId, - }) - const [feat] = feats as Feature[] - if (!feat) { - setError('sequence not found') - return - } - - setSequence(feat.get('seq')) - })() - }, [feature, assemblyManager, rpcManager, assemblyName]) - - const text: React.ReactNode[] = [] - if (preseq && feature) { - const children = subfeatures - .sort((a, b) => a.start - b.start) - .map(sub => { - return { - ...sub, - start: sub.start - feature.start, - end: sub.end - feature.start, - } - }) - - const cdsColor = 'rgba(150,150,0,0.3)' - const utrColor = 'rgba(0,150,150,0.3)' - const proteinColor = 'rgba(150,0,150,0.3)' - - // filter duplicate entries in cds and exon lists duplicate entries may be - // rare but was seen in Gencode v36 track NCList, likely a bug on GFF3 or - // probably worth ignoring here (produces broken protein translations if - // included) - // position 1:224,800,006..225,203,064 gene ENSG00000185842.15 first - // transcript ENST00000445597.6 - // http://localhost:3000/?config=test_data%2Fconfig.json&session=share-FUl7G1isvF&password=HXh5Y - - let cds = dedupe(children.filter(sub => sub.type === 'CDS')) - - let cdsAndUtr = dedupe( - children.filter(sub => sub.type === 'CDS' || sub.type.match(/utr/i)), - ) - - let exons = dedupe(children.filter(sub => sub.type === 'exon')) - const revstrand = feature.strand === -1 - const sequence = revstrand ? revcom(preseq) : preseq - const seqlen = sequence.length - if (revstrand) { - cds = revlist(cds, seqlen) - exons = revlist(exons, seqlen) - cdsAndUtr = revlist(cdsAndUtr, seqlen) - } - - if (mode === 'cds') { - text.push( -
- {stitch(cds, sequence)} -
, - ) - } else if (mode === 'cdna') { - // use "impliedUTRs" type mode - if (cds.length && exons.length) { - const firstCds = cds[0] - const lastCds = cds[cds.length - 1] - const firstCdsIdx = exons.findIndex(exon => { - return exon.end >= firstCds.start && exon.start <= firstCds.start - }) - const lastCdsIdx = exons.findIndex(exon => { - return exon.end >= lastCds.end && exon.start <= lastCds.end - }) - const lastCdsExon = exons[lastCdsIdx] - const firstCdsExon = exons[firstCdsIdx] - - // logic: there can be "UTR exons" that are just UTRs, so we stitch - // those together until we get to a CDS that overlaps and exon - text.push( -
- {stitch(exons.slice(0, firstCdsIdx), sequence)} - {sequence.slice(firstCdsExon.start, firstCds.start)} -
, - ) - - text.push( -
- {stitch(cds, sequence)} -
, - ) - - text.push( -
- {sequence.slice(lastCds.end, lastCdsExon.end)} - {stitch(exons.slice(lastCdsIdx), sequence)} -
, - ) - } - // use "impliedUTRs" type mode - else if (cdsAndUtr.length) { - const fiveUTR = cdsAndUtr[0] - const threeUTR = cdsAndUtr[cdsAndUtr.length - 1] - text.push( -
- {sequence.slice(fiveUTR.start, fiveUTR.end)} -
, - ) - const cdsSequence = cdsAndUtr - .slice(1, cdsAndUtr.length - 2) - .map(chunk => sequence.slice(chunk.start, chunk.end)) - .join('') - text.push( -
- {cdsSequence} -
, - ) - text.push( -
- {sequence.slice(threeUTR.start, threeUTR.end)} -
, - ) - } - // no CDS, probably a pseudogene, color whole thing as "UTR" - else { - const cdna = stitch(exons, sequence) - text.push( -
- {cdna} -
, - ) - } - } else if (mode === 'protein') { - const str = stitch(cds, sequence) - let protein = '' - for (let i = 0; i < str.length; i += 3) { - // use & symbol for undefined codon, or partial slice - protein += codonTable[str.slice(i, i + 3)] || '&' - } - text.push( -
- {protein} -
, - ) - } + strand: number + refName: string } - - return ( -
- -
- {error ? ( - {error} - ) : loading ? ( -
Loading gene sequence...
- ) : ( -
- {text} -
- )} -
-
- ) -} - -function CoreDetails(props: BaseProps) { - const { feature } = props - const { refName, start, end, strand } = feature const strandMap: Record = { '-1': '-', '0': '', '1': '+', } - const strandStr = strandMap[strand] ? `(${strandMap[strand]})` : '' + const strandStr = strandMap[strand as number] ? `(${strandMap[strand]})` : '' const displayStart = (start + 1).toLocaleString('en-US') const displayEnd = end.toLocaleString('en-US') const displayRef = refName ? `${refName}:` : '' @@ -730,15 +423,15 @@ export const BaseFeatureDetails = observer((props: BaseInputProps) => { }) export const FeatureDetails = (props: { - model: any - feature: any + model: IAnyStateTreeNode + feature: SimpleFeatureSerialized & { name?: string; id?: string } depth?: number omit?: string[] formatter?: (val: unknown, key: string) => JSX.Element }) => { const { model, feature, depth = 0 } = props const { name, id, type, subfeatures } = feature - const displayName = name || id + const displayName = (name || id) as string | undefined const ellipsedDisplayName = displayName && displayName.length > 20 ? '' : displayName const session = getSession(model) @@ -748,7 +441,11 @@ export const FeatureDetails = (props: { return (
Core details
diff --git a/packages/core/BaseFeatureWidget/SequenceFeatureDetails.test.js b/packages/core/BaseFeatureWidget/SequenceFeatureDetails.test.js new file mode 100644 index 0000000000..fdd71dee21 --- /dev/null +++ b/packages/core/BaseFeatureWidget/SequenceFeatureDetails.test.js @@ -0,0 +1,103 @@ +import React from 'react' +import { render } from '@testing-library/react' +import fs from 'fs' +import { SequencePanel } from './SequenceFeatureDetails' +import DLGAP3 from './test_data/DLGAP3.json' +import NCDN from './test_data/NCDN.json' + +test('test using the sequence feature panel', () => { + // produced from uniprot + // https://www.uniprot.org/uniprot/O95886.fasta + const pep = readFasta('./test_data/DLGAP3_pep.fa') + + // produced with samtools faidx + // 'https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz' + // 1:35331037..35395251 + const dna = readFasta('./test_data/DLGAP3_dna.fa') + + // http://localhost:3000/?config=test_data%2Fconfig_demo.json&session=share-zMPjiv36k0&password=ddxCy + const feature = DLGAP3 + const { getByTestId } = render( + , + ) + + const element = getByTestId('sequence_panel') + + // http://m.ensembl.org/Homo_sapiens/Gene/Summary?db=core;g=ENSG00000116544;r=1:34865436-34929650 + // with stop codon on the end + expect(element.textContent).toEqual(`${pep}*`) +}) + +const readFasta = filename => { + return fs + .readFileSync(require.resolve(filename), 'utf8') + .split('\n') + .slice(1) + .join('') +} + +test('NCDN collapsed intron', () => { + // samtools faidx 'https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz' 1:36,023,400-36,032,380 > out.fa + const dna = readFasta('./test_data/NCDN_dna.fa') + + // http://localhost:3000/?config=test_data%2Fconfig_demo.json&session=share-zMPjiv36k0&password=ddxCy + const feature = NCDN + const { getByTestId } = render( + , + ) + + const element = getByTestId('sequence_panel') + + // UTR + expect(element.children[0].textContent).toEqual( + 'AGTGGGCAACGCGGCGTGAGCAGCGGCCCGAGGCTCCCGGAGCATCGCGCTGGGAGAAGACTTCGCCGCTCGGGGCCGCAGCCTGGTGAGCTCAGCCCCCTTCGGGCCCTCCCCTGCATCCCAGCCGGGGCCTCTCCGAGCCGGCGCTGATCGATGCCGACACACCCCGGGGACCCTATCGCGACTCCATCGCGCCATATCGCGACACCATCGTGCCCTGTCGAGACTCCATTTTGTCACAGCCCTTTTCAATATATATCTTTTTTTTTTTTAATTTGCCCTGTCATCTTTGGGGGCTGTCTCCCATGTCGTGATTTTGACGTGATCTCTCCGTGACATCACCGCGCCATCGTGAAGTGTGATCTCATCGCCGCCCTGTCGTGACTTCATCA', + ) + // first CDS + expect(element.children[2].textContent).toEqual( + 'ATGTCGTGTTGTGACCTGGCTGCGGCGGGACAG', + ) + // spliced intron + expect(element.children[3].textContent).toEqual('GTGGTGACCG...GTGTTCACAG') +}) + +test('NCDN updownstream', () => { + // produced from uniprot + // https://www.uniprot.org/uniprot/O95886.fasta + const upstream = readFasta('./test_data/NCDN_upstream_dna.fa') + + // samtools faidx 'https://jbrowse.org/genomes/hg19/fasta/hg19.fa.gz' 1:36,023,400-36,032,380 > out.fa + const seq = readFasta('./test_data/NCDN_dna.fa') + + // http://localhost:3000/?config=test_data%2Fconfig_demo.json&session=share-zMPjiv36k0&password=ddxCy + const feature = NCDN + const { getByTestId } = render( + , + ) + + const element = getByTestId('sequence_panel') + + expect(element.children[0].textContent).toEqual( + 'CTCACCCGGAGGAGGAGGAGGAAGAGGAAGAAGGTAGTGCGGGCTCCCCACCCGGACAGCTACCTCTCGCCTCAGCCTCCCTGGACAGCGACGGCGGCCGGAAACACCGCCTCCTCCCACCTCCCCGGGACCGACCCGGAAACACACTCTCCATGCTAACCAAGCCCTCCCGCCCCTCCCCCGGGAAGGGCAATGCCGGCCGCGAGACCAAGGGGGAGGAGGGGCAGTGCTGGGCGGGTAAAACTACGCACAAGCGAAGGAATCTGGGCCCCCAGCCTCTCGCCGCCCGCTCTCCAGAGGCAGTCTGCACCTTGCCTCCTTCGCTCGAGCCCCAGCCCCCAGACTCGGGCAATACCCACAAGCAAGATGGCGGCAACGGCGGCACCCCCTACTGCTTAGCACCCTGACTTGCCATTGGCCAGAGCCCGGAGTGAAGCAGCCGCGGATTCGTCAAGAGCGGTGCGGGGGTGGGGGTGGAGCTGCAGCAGCCTGGAGCCAGG', + ) + expect(element.children[1].textContent).toEqual( + 'AGTGGGCAACGCGGCGTGAGCAGCGGCCCGAGGCTCCCGGAGCATCGCGCTGGGAGAAGACTTCGCCGCTCGGGGCCGCAGCCTGGTGAGCTCAGCCCCCTTCGGGCCCTCCCCTGCATCCCAGCCGGGGCCTCTCCGAGCCGGCGCTGATCGATGCCGACACACCCCGGGGACCCTATCGCGACTCCATCGCGCCATATCGCGACACCATCGTGCCCTGTCGAGACTCCATTTTGTCACAGCCCTTTTCAATATATATCTTTTTTTTTTTTAATTTGCCCTGTCATCTTTGGGGGCTGTCTCCCATGTCGTGATTTTGACGTGATCTCTCCGTGACATCACCGCGCCATCGTGAAGTGTGATCTCATCGCCGCCCTGTCGTGACTTCATCA', + ) + + // 3rd is a blank element, so go to 4th, not strictly needed for 3rd to be + // blank but helps test + expect(element.children[3].textContent).toEqual( + 'ATGTCGTGTTGTGACCTGGCTGCGGCGGGACAG', + ) +}) diff --git a/packages/core/BaseFeatureWidget/SequenceFeatureDetails.tsx b/packages/core/BaseFeatureWidget/SequenceFeatureDetails.tsx new file mode 100644 index 0000000000..3f011fa647 --- /dev/null +++ b/packages/core/BaseFeatureWidget/SequenceFeatureDetails.tsx @@ -0,0 +1,412 @@ +/* eslint-disable no-nested-ternary */ +import React, { useState, useEffect } from 'react' +import { Select, MenuItem, Typography } from '@material-ui/core' +import { useInView } from 'react-intersection-observer' +import { + defaultCodonTable, + generateCodonTable, + revcom, + getSession, +} from '../util' +import { BaseProps } from './types' +import { getConf } from '../configuration' +import { Feature, SimpleFeatureSerialized } from '../util/simpleFeature' + +interface Feat { + start: number + end: number + type: string +} +interface ParentFeat extends Feat { + strand?: number + subfeatures?: Feat[] +} + +function stitch(subfeats: Feat[], sequence: string) { + return subfeats.map(sub => sequence.slice(sub.start, sub.end)).join('') +} + +// filter if they have the same ID +function filterId(feat: Feat) { + return `${feat.start}-${feat.end}` +} + +// filters if successive elements share same start/end +function dedupe(list: Feat[]) { + return list.filter( + (item, pos, ary) => !pos || filterId(item) !== filterId(ary[pos - 1]), + ) +} + +function revlist(list: Feat[], seqlen: number) { + return list + .map(sub => ({ + ...sub, + start: seqlen - sub.end, + end: seqlen - sub.start, + })) + .sort((a, b) => a.start - b.start) +} + +const cdsColor = 'rgba(150,150,0,0.3)' +const utrColor = 'rgba(0,150,150,0.3)' +const proteinColor = 'rgba(150,0,150,0.3)' +const intronColor = 'rgba(200,200,200,0.3)' +const updownstreamColor = 'rgba(120,0,0,0.3)' + +function GeneCDS(props: { cds: Feat[]; sequence: string }) { + const { cds, sequence } = props + + return ( +
+ {stitch(cds, sequence)} +
+ ) +} + +function GeneProtein(props: { + cds: Feat[] + sequence: string + codonTable: { [key: string]: string } +}) { + const { cds, sequence, codonTable } = props + const str = stitch(cds, sequence) + let protein = '' + for (let i = 0; i < str.length; i += 3) { + // use & symbol for undefined codon, or partial slice + protein += codonTable[str.slice(i, i + 3)] || '&' + } + + return ( +
+ {protein} +
+ ) +} + +function GenecDNA(props: { + utr: Feat[] + cds: Feat[] + exons: Feat[] + sequence: string + upstream?: string + downstream?: string + includeIntrons?: boolean + collapseIntron?: boolean +}) { + const { + utr, + cds, + exons, + sequence, + upstream, + downstream, + includeIntrons, + collapseIntron, + } = props + const chunks = cds.length + ? [...cds, ...utr].sort((a, b) => a.start - b.start) + : exons + return ( + <> + {upstream ? ( +
+ {upstream} +
+ ) : null} + + {chunks.map((chunk, index) => { + const intron = sequence.slice(chunk.end, chunks[index + 1]?.start) + return ( + +
+ {sequence.slice(chunk.start, chunk.end)} +
+ {includeIntrons ? ( +
+ {collapseIntron && intron.length > 20 + ? `${intron.slice(0, 10)}...${intron.slice(-10)}` + : intron} +
+ ) : null} +
+ ) + })} + + {downstream ? ( +
+ {downstream} +
+ ) : null} + + ) +} + +// calculates UTRs using impliedUTRs logic +function calculateUTRs(cds: Feat[], exons: Feat[]) { + const firstCds = cds[0] + const lastCds = cds[cds.length - 1] + const firstCdsIdx = exons.findIndex( + exon => exon.end >= firstCds.start && exon.start <= firstCds.start, + ) + const lastCdsIdx = exons.findIndex( + exon => exon.end >= lastCds.end && exon.start <= lastCds.end, + ) + const lastCdsExon = exons[lastCdsIdx] + const firstCdsExon = exons[firstCdsIdx] + + const fiveUTRs = [ + ...exons.slice(0, firstCdsIdx), + { start: firstCdsExon.start, end: firstCds.start }, + ].map(elt => ({ ...elt, type: 'five_prime_UTR' })) + + const threeUTRs = [ + { start: lastCds.end, end: lastCdsExon.end }, + ...exons.slice(lastCdsIdx), + ].map(elt => ({ ...elt, type: 'three_prime_UTR' })) + + return [...fiveUTRs, ...threeUTRs] +} + +export function SequencePanel(props: { + sequence: { seq: string; upstream: string; downstream: string } + feature: ParentFeat + mode: string +}) { + const { feature, mode } = props + let { + sequence: { seq: sequence, upstream = '', downstream = '' }, + } = props + + const { subfeatures } = feature + const codonTable = generateCodonTable(defaultCodonTable) + + if (!subfeatures) { + return null + } + + const children = subfeatures + .sort((a, b) => a.start - b.start) + .map(sub => { + return { + ...sub, + start: sub.start - feature.start, + end: sub.end - feature.start, + } + }) + + // we filter duplicate entries in cds and exon lists duplicate entries may + // be rare but was seen in Gencode v36 track NCList, likely a bug on GFF3 + // or probably worth ignoring here (produces broken protein translations if + // included) + // + // position 1:224,800,006..225,203,064 gene ENSG00000185842.15 first + // transcript ENST00000445597.6 + // + // http://localhost:3000/?config=test_data%2Fconfig.json&session=share-FUl7G1isvF&password=HXh5Y + + let cds = dedupe(children.filter(sub => sub.type === 'CDS')) + let utr = dedupe(children.filter(sub => sub.type.match(/utr/i))) + let exons = dedupe(children.filter(sub => sub.type === 'exon')) + + if (!utr.length && cds.length) { + utr = calculateUTRs(cds, exons) + } + + if (feature.strand === -1) { + // doing this in a single assignment is needed because downstream and + // upstream are swapped so this avoids a temp variable + ;[sequence, upstream, downstream] = [ + revcom(sequence), + revcom(downstream), + revcom(upstream), + ] + cds = revlist(cds, sequence.length) + exons = revlist(exons, sequence.length) + utr = revlist(utr, sequence.length) + } + + return ( +
+ {mode === 'cds' ? ( + + ) : mode === 'cdna' ? ( + // utr's were supplied, no inference needed + + ) : mode === 'protein' ? ( + + ) : mode === 'gene' ? ( + + ) : mode === 'gene_collapsed_intron' ? ( + + ) : mode === 'gene_updownstream' ? ( + + ) : ( +
Unknown type
+ )} +
+ ) +} + +// display the stitched-together sequence of a gene's CDS, cDNA, or protein +// sequence. this is a best effort and weird genomic phenomena could lead these +// to not be 100% accurate +export default function SequenceFeatureDetails(props: BaseProps) { + const { model, feature } = props + + const parentFeature = (feature as unknown) as ParentFeat + const { subfeatures } = parentFeature + const hasCDS = subfeatures?.find(sub => sub.type === 'CDS') + + const { ref, inView } = useInView() + const [sequence, setSequence] = useState<{ + seq: string + upstream: string + downstream: string + }>() + const [error, setError] = useState() + const [mode, setMode] = useState(hasCDS ? 'cds' : 'cdna') + + useEffect(() => { + let finished = false + if (!model || !inView) { + return () => {} + } + const { assemblyManager, rpcManager } = getSession(model) + const { assemblyNames } = model.view || { assemblyNames: [] } + const [assemblyName] = assemblyNames + async function fetchSeq(start: number, end: number, refName: string) { + const assembly = await assemblyManager.waitForAssembly(assemblyName) + if (!assembly) { + throw new Error('assembly not found') + } + const adapterConfig = getConf(assembly, ['sequence', 'adapter']) + const sessionId = 'getSequence' + const feats = await rpcManager.call(sessionId, 'CoreGetFeatures', { + adapterConfig, + sessionId, + region: { start, end, refName: assembly?.getCanonicalRefName(refName) }, + }) + const [feat] = feats as Feature[] + if (!feat) { + throw new Error('sequence not found') + } + return feat.get('seq') as string + } + ;(async () => { + try { + const { + start: s, + end: e, + refName, + } = feature as SimpleFeatureSerialized & { + refName: string + start: number + end: number + } + const seq = await fetchSeq(s, e, refName) + const upstream = await fetchSeq(Math.max(0, s - 500), s, refName) + const downstream = await fetchSeq(e, e + 500, refName) + if (!finished) { + setSequence({ seq, upstream, downstream }) + } + } catch (e) { + setError(e) + } + })() + + return () => { + finished = true + } + }, [feature, inView, model]) + + const loading = !sequence + + return ( +
+ +
+ {error ? ( + {error} + ) : loading ? ( +
Loading gene sequence...
+ ) : sequence ? ( +
+ +
+ ) : ( +
No sequence found
+ )} +
+
+ ) +} diff --git a/packages/core/BaseFeatureWidget/__snapshots__/index.test.js.snap b/packages/core/BaseFeatureWidget/__snapshots__/index.test.js.snap index 7208b0b225..a13a55f8d8 100644 --- a/packages/core/BaseFeatureWidget/__snapshots__/index.test.js.snap +++ b/packages/core/BaseFeatureWidget/__snapshots__/index.test.js.snap @@ -18,6 +18,7 @@ exports[`open up a widget 1`] = ` class="MuiTypography-root MuiTypography-button" > +
1:35331037-35395251 +TGCAGTTCTGCCGTTTTATTTTTCCTGGGATATTCAAGGGGATGTGGGAACAGCCACAGG +TGTGGTGAGGGGAAGCCCCCATCTCCCCTCCCCAGCCGCTGGGAAAGGGGAGAGGCCCAG +GCGCCCTGGTCCTGGGTTGGTCCAGCCACTGTGGTCCCTGGGCCCAGTGGGCAGAGGGCT +GAGGATGGAGCCCCTGGGAGGGTGGGGCGGGCTCCTAGGCAGGGTTCGGGATTCTTCATA +AAAAGCCACGAAGCTTGATCCCCACGAAGCCCAGCCCCGCGGGGTGGGGGAGGGGGGGAC +GCAGAGCCCAGATGAGGGACCCGGCCCGGCCTGGCCCGTGGGGGAAAGAATGGCAGAGAT +GGTGCCCATGGGGAGGAGGTGGGGACAAAGCGTCGGACCAGGTGGGCAGGGGATCCAGGT +GAGGGGCGCAGGGCGGAGAGGCACGGCCCCCTGCCCAGCCCGGGCGCCTTCGCGTGGGAT +CAGGAAGGTAAAAAACCCACGAGAGTGTGAcgggcccgggggccggggcgtccggtgccg +gtggggcgggcgcacggggcggcccgcgTTCACAGTGACCTCGACGCTGGGTGTACAGTA +CGGGTGGAGAACCgcgggcccgggccgggctgggcgggccggaccggtcacagcctggtc +tgggccTCGGGGATGTAGATCTCGATGCTGTCGGCGCTCTCGGTGGCCGAGCTGTGGCGG +AAGGAAGCGGCGCGCTTGGCCGCCAGGAGCCGCTTGCGCGCTTCCTGCCGCTGCCGGTCC +ACGGAGTCCAGGGAGCGCTCCTTCACCGGCACGCCCCGGCCCCGCAGGGGCTTCTTTGGT +ATCGGCGGAGGGACCTTCTTCTCCTCCTGCGGGGCAGAGGGCGTCGCTGAGCTGGGGCGC +CGAACCATCCCAACACCCAGGTGTCCGCCCCCGCACCCCCGCGCCCAGAGTGCTGACGAC +CGCGTGGCTCCGAACGCGATGGCGCTCAGAATCCGCCACGGATCCCGTGACCTGAAGCCC +CAGGTGCTCCTGTTCCGACAAGGTCAAATCCCCACATTTTCCACCAAAGCGCGGCGCGTT +CGAGCGCCCCCTGGTGGCGCCGTTCTCAACAGCTCGCAGCAGAGCCGGTTTTTCACTCCG +GGTCCCGACCCGAAGGAGGGAGTTCCCGACCCAGGCTCCGCAATGAGGGTGCACATACCA +GGCCTCTGGCCCTCATCGCAGACAAGGTCCAGGGACCTGGCGGCTGAGGGGACCCTCAAG +GCTCTGCCGTCGATGCCTAGGCCCGAACTGAGGACAGTCTGTCCTTCCGTAAGGTCTACT +TTTGCTCTCTCCAGCTGCAGCCGCCGCCACCCCCCCAACCCCGCTCCCCCGCGCTGAGGA +AGCCTTGGGGTTCTGGCAGCTCAAGCAGTGATGAGCACTGGGGCCAAGCAGACGGCAGTG +GCCACGAGCGTGGTCACTCTGGAAGGGGATGGTCACCTATCACCTGTCCAAGGCTGCCCT +TGCTGCCCATGGATCCCTTCCCCTGCCCCCTTGTTCGTCCCACCCTCCACCTCTCTGGGG +AGGGGAATTTCCCAGAGTCTGGCCTCTTTGCCTGAAGGCACCCCAGCCCCACCTTAGGCT +CCAGGAGTTTCCAGCTGTTGGCCTTGAGTTGCTGTAGCTCCAGGAACTTGAGGGTCACAT +CCTCGATGGAGAGCTGTAGGAGGTCCCAGAAACCCGCCAGGTCCTGGAAGGTGGGCACAG +GGAACGCAGTGGGATCCTGCAACAGAGGAAGATGGAGGGAAAGTGATTGGTCAAGGAGGT +CTGAGCCCCAGCCAGGACAAGAGAAAGTCCTATCCACCCTTACTGCCAGGAAGCTCAGCC +TGGGAGAGTGGGTGGGGGCTGGGAGACAGGGGGACAAGAGCGAGCCCAGGACTCCCCTTC +TTGTGCACAAACACCTGGTCCTACCTCCAGGCACAAGACTCACAGCTACCCCAGAAGGCA +TGCAGGCCTGGTCTCACCTCTGGTACACACTCACTCTGGGTCACCTGCCTGTCTCACCTC +CAGCACACACACACTCTGGGTCACATGTATCTGGTAGGATCTACTACTATGGGCACTCAC +CATGCTTTGCTGACACAGCCGGAAGAACTGCTGAACCTTCTGGGACAGGAGAAGTTGTGT +GCTGCCCACAGCACTGCGGATCTTCTCCAGGACTAGAAAGCAGAAGGAAATTCAGGGAGG +GAAATGATGCATCTCCTTCCCCAGCCTCCACGAAGTCTGCCCTGAATGACGCTGACCCCT +CGGTTGCTTGGCACTGTGTATCCATCAGTCTCCTCCAGCCCCAGCCCCATCCCATCCTCA +AGTTCCTAACAAGTTCTCGCTCCACTACACCAAGACTGTATCCTCAGACACTGATGTTCC +CTCCTTCATACAGCCTACATTTCTTGAGTGCTCATCCTTCTTTATCCTTTCTCCCTCCCG +TATCAGAGAACAGACGGAAACCAGCCCCAGCCTAGCCCTATAGCCTTGGCCAGGGCATTA +GCTCAATGACCACCCACTGGCTAAGCTTTGTTCATCACTCCCCAGTGCATGCAAGACTCC +TTGGCTCTTTAAGAATGACCAAGTAATTTCATGTACATAACACATCTTCATAGCCACTGT +CCCCTCAACTCAGAGATTCTGGGGTAAGACTGTGTCTCCCAGTGGATCTGACTTACAGGA +AGGGCCATGCTCTCCCTCGGGCCAGGGCCACATCTCCCTGGCTGAATCTCCCTCTTCTGT +GCCTCAGACAGGATCTGACATTGTGAACTGCCTCCCTCTCTGTAATCTTGGTCGCACCAC +CTGGATCCCCACACCAGTCCAGATCTGAACGGAGTTCCCTTAGTCCCCATAAACTTGGTG +ATTTGGACTAGCAGCCATCCATAGAAGGCCCAGCCCTTTGGCCTGCAGTGTCTGCAGTCC +CAGCCCTGGCCTCTAAAGCTGCACCATGTGCACCCTGCTCCCTTTCAAGAGCTCCCAGCA +TGTCTTGCTGCCGATGTTGACCCGCCACGCTCCAGTGCAGAAGACCAGTGAGGCACCAAC +CGAAGGGGCCTCCTGTTACACTGCAGCCCCAGCCACCCCCATCAGGGTCTCCTGAGCACA +CACGAGGCCATGGTCCCCAGAGTCCCCTTGTTCCGATGCCGTGACTCACTCTCCTCGGGT +AGCTCATAGTCCTCCGCCTCACGCTCCATCTGCTGGCACCAGTGCTCCAGCTTCTCCACC +TCTGCCCGCAGCATCTTGATGAACCACTCGCCGTCGCGTGGGCAGGGGGATGCGCGGCCT +GAGTCGGGGAGGCTACGTGAACCGCGCTCTATCCAGGAGTCACGGCGGCCGGCCCCAggg +ccgggggtgggggcgggggcagggccgggCGACCCATCGGTGGCCGGCGGCTCGTACGGC +AGTGGGTAGCCCTCGCGGTAGGCCCACTGGCCCTGCGTGTGGACCGTGCGGAAGACTGAG +TAGGTGGGGGCCCGGGGCCCAGGCTGGGGCTCAGAGGCGTGCCTCTGGAAGGAGCGTCCA +AACTGCAGGGCCTTGTCTTCTGTGGCCACCGTGGCCAGGCCTGCCAGGCCCTCCAGCTCC +AGGTCTGCCTGCACGCCAGCCGTCACACTATTGGAGCGCTTGAACCTTGCTCGCCTGGGG +AGAGGGGTGGCTGTCATCCCCCATTGCCCAGGCTCATGCCAGCTCTCACCCCCACCCCAA +GCAAAAAAAAGGAAGGGAATGAGAAAGGGAACCTACAAAGTGATGGACATTAACCTATGC +ACTTTAAATATATTGGTCCTTGCAACAGCTACGTACATAATATACCTACCTATTGCACTG +CCTCTAGATaggggtgatatccaagctatttagcaaccagttcagtccatggacagagca +gatgctggcatataccaggcagagcaggcacagaccaaaatgctgcagcagtgccctgga +gAGGCTAGATTGTGGGGTGGGCTAGAGGGGTCAGGGAGGAGCCAGGGTGGTGGCTCTTTA +CCAGTGAAGGCAGAAGATATTTCAAtttttttttttttttttttttttttggagatggag +ttttgctcttgttgcccaggctggagtgcaatggcgcgatctcggctcaccgcaacctcc +gcctcccgggttcaagcgattctcctgcttcagcctcccgagtaactgggattacaggca +tgcgccttttgtctctttttggaagagacagggtttctccatgttggtcaggctggtctc +gaactcccgacctcaggttatccacccgccttggcctcccaacgtgctgggattacaggt +gtgagccaccacgcctggccgaagtatttcaatattttaacaaattctatgtctatgcta +gtttacaccagctgCACTAGAGTGTCCTCAGCTCTACCTAGAGATGAGTAAACTAAGTAA +acccagcttcaaagtagcagagccaggatttggactcagcgctgctgggctccacagtcc +aagcacttcccactgcaccagctgcTAGAACATCACAGGAAGAAATGCCTTGGAGCAGCT +GGAGGTGGAGTGGGCCTGCAGCTGGGAGGACTTCTCTAGGGACCCCGATGGCTCAGCCCA +GAGCCTGGCCAGACACAGTAAGTCAGTGCCAGTGGAGCTGAATTAAGTTGTTTGCAGGAA +TGACATAGGGCCTGGAAATTTCTTGTCTTTGAGTTAATAATATGCAAATCTTATGCAAAC +CAAAAAGTCAACTGGCCGTTTTCATTTTTTCCCTGAATTCAGAGTTCTTTTCTATAAAGA +AGTCAGTGGCCGCTTAAGATGCATGAGGTTGGGACCAGGCAATACTTTAAGAAGTGGGAG +TCAGGAGATGTGGGAGGTGGGGGATAAACAGAAGATCAAGGTTTGGAAATTCAAGGACCA +CAAAAGAAAAGCCTGTGTGTCCTGAGCTACCTCCACCCCTACATGGTCAGAAGGGATTGT +GGGCCCAGCTCTAGGGTCCCTCCACCTCCCCAAGAGACTCTCCCAACCCCCGCAACTTCA +GCCTTTCTCTTGCTGCCCAGGCCTTCTCTCCCTGCCTGCCTGCCTACTTCTCTCCAGCTG +GCAGGCTGCCTGCTGGGAGCCTGTTGCCATAGAAACCAGGCCCAGAAGGATGCTGCAGGA +CCCAGGAAGGAGAGATGCACTCATGTGCAGTCTCCAACGAGCCCTATGTCCCAACCCCCA +CCCAGAGAGGGAGAAGGAGAGAGAACATATCCTCATTGCCTCCCACACAGTCTTCCCCTC +AGTGTCTGCCCTGTCCTGCCCTGGTCAAGGTTTGCATCACCATCTGCCCTGATGATTAGA +CTGGCCTCCTTTCAGATACCTCTGCCTCCATCAGTACCCtgcagaggaagagcacggggc +caggagttagctctgagttctaatgctggctttctcactgtgtgcctttgtcactcaccc +tccatctaggtcATCCAatgtgtatgtgtgtatgtatttaaaatatatgtattagatata +aatatacacacatatacatctaaaaatacacacatatatacaattatagaaatagataAG +TAATTGCCAAGGTAGTTCCTCTCTCTAAAATTATATTTTGCATATTTTAAGATCTGGGGc +cctccccagtccacccaagactggaatagtcttcctaaagctgagctctgccaagtcatt +cccctgctcaaaacccttccacagccccctactaccaacaagacaaagttcagacttcct +gtaccagcattatctgaggccctgatgtcctggacacagtcctcctcttcaacctcatct +cccccacattctccttgttccttgaatcgactataagcgatcctgactccaagcctttgc +acacgctactcctctgcctgaaatggccttcctcctcctggctccttgtccattccctcc +ttaagtcctgttttacctgtttcaccctccactgcccacaagaccactcctgagtaccac +acctccctcagcagccctcctggcttcagaggcagccctgccgttcaggcagattgttct +ctTTCTGGTGAGAGTCTTGAATGTCTAGCTGCACTGTTAGGATGCATCTTGACTTACTTT +GAATGTTTTTGTGCCTTTGTGCTCTAGTTAGCTTGTGGCTCCTTCAGAGCTACAGCTGTT +GCAAACCACAAAGGTAAAGGAGGGGGTTGCTCCAATAAATACGTGCCTGATGATCTGCCA +CACCTGCGTGCTTTCCTGTCGCCCCTGCTAAACACAGCTGTGTCCTTCGGCACTGCCATG +TTCGCTGCCTTCCGCCTGTCCTCTGAGATGTCTTGAGAGGATCCCATTCCATCGCGATGG +AAACAGCCATACTGCCGGGAACAGAAGGACCAAGTGCCCCAGGCTGCATGCTTCTCAAGC +CACTGCCTCAGTGAGCTCTCTCACATGTCTGCCTCAAAGGAGACCAAGGAAGTCGAGGAG +CTGATGGGATGACCAGAAGCACAGTCCTCACCAACGCTCCTGGCCAGCAGCCAGAGATGT +GTACAGCACAAGCAGGAGGCGCTTATCCCTGTGCaagtggcatttaaaaccagcagtgtg +ggacaagctcacccaagaaaagaacaacggatccaagatccaaaccccgggagaacacgg +acatttcaggggtgggtggagacggtgcagctcatagaggagactaagccagaaaggaag +ggggagaaaaccaccagaaagtgacataaaagcagagaggggacagaaaggtctcatgaa +ggaatgggcagctaacatggaaaacgcagccggttaagaatgaaaggtgcccacggattt +tgcaatctggaagccacgggtgatccaagcaagagtgggtttggtggaatgtgggggcag +atgcagactgcagcaggttgtcaggaggtggagaaaactagtcaaggcaaccctcagaaa +gcctggctgagaagggaggaagacagaagagaatgtactgttaaagagggatattttgtt +ttgggtgcttcttgcttgctgtatcccaagaggaaagaacctgtggtgtaggcagaataa +tagccaccaaaggaatccacatcctcatccccagaacccaggaatatgttaccttccacg +gcaaaaaggaatttgcagatgcgattaagttaaggatactaagaagaggagactctcctg +gattatcctggtgtaatcacattttataaatgaaagagggaggaagaagagtcagagaag +aaaatggaatgacagaatcaaggttggaataatgcaacctagggactcaacccaccactg +ctggctctgaagatagaagcaagctgcaagtgaaggaatgcagatagcctctataaactg +ggaaaaggtgacaaatggattcttcccagagcctcccagagcccagtttgaaaccccatt +gagactctgaccccagataataaatatgtattgttttccatcactgaatttgtgataatg +tttcagcaggaatacaacattaacacaacctgtaaagagaaatgaaatgaagagagagaa +gagaggaggaaCCAGATATAAGGATGGataaaaaagaataacatcttctaagcacttagt +atgtgccaggagaagcactttccatgaataaacatgctcaatcctcacaaacagtcccac +tctatggatgttagtgtcagccctacttgtagatcagaaaaccgaggcttagtggggttg +actcctaagatgaaggcagggctggtggaagagacaagGGAAGATATCTAAGTAAGCTGG +GGTTTGGCTTGGAAGTGGACAGAAGTCCCACCAGTTGACCCCAATCATCACAATGAAGTG +GGCGATGGGGGGTGGTTATCTGCTGGAGATGTCTGGGGAGTAGGGGAAGGAATGAAAATG +AGCAGCTTTGGGTGGGGGcagcggaacagagcggttaggcccgtgtgctctggagccttg +cccgggtccaaaacccagctcggtggcttgtgcctcattttcccatctgtaaatgagaat +gataatagtagcagttcataagattgttgtgagataatatccataaagaactcagaacag +caccCTGCCTGCCCATTGTGTTAGCTATTCTAGAGAAGTAGAATGGTTTGCAGCTCTCAC +TGAAAAGAGAGGGAGCTGGACAAACACAATCATCGGAATGTAGCACTGAGAACCCGGCTA +GGGCATTGTAGTTATTAATTATTATGATTGCTGTTGATCATTTCCAtctgttctcccaca +gcgctttgaacaaaactcttttatactccatatcacattgtatcatggctggttatttgc +ataagtgtctcctcactaaaTAGGGCAGTTCATCACACtggttggttggttggttggttg +gttggttggttggttggAAGGAAGGAtggtagagaccactaactgtcttccaagatccac +tctccatttcccccttagtaacagaaccccaccattttatgctggacacatggctacttt +gaataaagattctttcccaatctccctaccaactaaatgtagccatgtgcctaagttcta +gcccatgagataaaagtagaagtggcatgtgcaacttccagaaagtgtccttaaaaggag +ggggtatgcccttccttgtctcttcctccttcccgatcaccagaatgcagacatgatggc +tggacctcaagcagccattctggaacatgagaccaaagggaagtgctaagtggggtgggg +gatgaggaaaagatagaaggctccaggtcctgacactgtggggcatctaccagacctcaa +ctaactctccctggatttcctctaagtaagagagaaataaacttctatcatatttaaatc +actgttgtttggggggttttctataactcacagtcaaacccactcctaactATAACAGAT +GAATTTTTAGAATAGTGAAGTTAAGGGCTTATGTCGCTATTTAGTTTTGGATTTGGCAGT +ATTTGCTGTGGTCTCCACCAACAGCTGTCAGCACAGGATAAAAACTGGCTTCAGCTGTGA +ATTGTCATTAATGCGTAACAATGCATTCACAATATTTTCTCCCAAGCCTTTAAATGTGGC +TGCAGAAGCCTCCTCCCTTTGAGTGCTCCAAGGTGACAATGATTACATTCCTGATGATAA +TGCAAGTTGTTATCATGGTTACTTCAGGGAGAGTTTCCACTGCGATTCTACTTCAGGGAG +AGTTTCTACTGTGATTCTCTGGGGGATAACATAAAAGCCTCTGGGTAGAAGCTGGATTAT +CCCAAGAGACACAGTATCCAAGGAAAGCTCTATATCCAGAAGTTGTCAAGAGGTTTTGCC +AGGAGTATTTGGCAGCAGGCAGGAAGGGTGGGAGGGGGAGTGGGCAGGGAGGGGGAAGGA +CGGTGTCATTTCAACTAGGCATAGCCTTCAAACTAGCTTCTATAGAAGCTCCTGTGTGAA +GGCATCTAAGAGCCTAAACATATAATCAAGCAGGGGTCACTGAACCCACCACTCCAGCCT +GGGGGCTGTGACAGGGATGCCAAGGTGGGGCTAGGGTGGGAGATTCAGGAGGAGTCATGA +GGGTCAGTCAGAAACCGTCCTAAATTTGCAGGCTCAGGAATGGAGGTAGCATCTGTGCCC +AGGGCTTTGGGCAGTCAGCTTCTTATTGCTTTTGCAGGACTGTTCTTGGAATATAACTTA +ATGGGTATGGAAGCTTCTTTCCCAGGCCTCAAGGGGCCATTCTTTCAGCACATACCCTTC +CCAAACTCCCAAAGCTAGAAATGACCATAATGTTAAGGAAAGGGTAGGCAGGTCTTCCTC +CACAGAGTTCTCCAGGTGGCCCTTCGTGGGCACAAGCAGGTATGAGtagggttgtcagat +aaaatataggactcccagttgaatttgaatttcagataaataacagatgtttttactatg +agtatgtcccaaatattgcatgtgacatactaaaatgcattcattatttatctgatcatc +aaatttaactgggcatcctgGTGGTTTTTGTTTCTTTATTTTGGTGGGTTTTGCTGTTGA +TGTTGTTGGTTTTGTTTTTGCTAAATTTACAATTTAAGATAAGGTCTGTCTGGGAGGAAT +TAGAGGTGGAAGATACAGGCAGATCCCTATGGTTAGAAAGAGTTGGAGGCAAAAATCCCA +TTTTCTATGACTTCAGAGGGCCCCTTGCTAATATTCAGCAAGACATCTGATGCATCCTTT +TATCATGGCCCAGAGTGTGCTGGGTCTAGGGAAACAGGTGCCATAAGGACATGTTGAGAC +ACGGCTGGTAACTGATTAAGTATgttctctctcaccacaaggccttagcatatgctattc +cttctgcctggaaccttatctcccatttttcactcagttaatttttgttcatccttcgga +tctccacccaaatgtcacttcccagggaagccatgcctgacccctctggcagactcaaag +ccccatagtctacactgtcatggctcacatgccgctcctttgtggcagccggcacagcgg +ctacatcattaatgagattcttagattaacttcgtggtaagctttgcatgggcaggagct +gtctctggttctgctcacctttgcatcctcagtgcccagcacagtgtttggcaaataata +cagatccaataaatatctgtggacagatgaatCTTGGCGGGGGGGTGGGGGTGTGCAGTG +GAGATAGAACTGAAGGGGTGCCAGCCCCCTCCCCTTATATTCTAAGCCAAGTCATCACTG +ACACTGGGCAACTGGAAGGACTCACAGACAATTCCCAGACAGAAGGGACAATAAGTCCAA +AATCCTCACCCAAGAGGTGAGCAGGGAACACCCTGAAAGGCAGAAGAGAAGAGACCTTTC +CTGCTCAGCAATTTTTAAAACCAAATTACAGAGAGAGAAACAGATACTGGGATGAGCGAG +ACAGCAGTAAGGACAAGAGAGTCAAAGAAAATGGGGCTGGGCTGTGTGTGGCGGGCCAGG +CCTGAATGCTGGCCAGGCGAGGCTGCTGGAATTCATGGCTCGCTTTTATGCACCAGTTGG +GGCATGGTGTGTGAGGAGTCAGACTTAAAGTGCCAGGGACATAAGGGACAGAAAGGACTG +TGCAGGTGTATGACTAAGGACGCCTGCAGCAGACAGGCCAGGGAGCCTGGCCAAAGAGAT +GGGCCAGATTTCCCCTCTCCCCACCTGTCACTCCCTCTGAATTCCCAGTGTGATCACCTG +TCCCAGGCAGTTTGGTTCTTTCGATGCTTATTCAACACCATGTCCTCTCCTCAGCCCGCC +ACATCAAGACCTCACCAAGCACTTACACAAGAGCAAGGAAGGCCACGTTCTCTGCCTGTC +CCTGCCCTTCCCtgactttcactccaaaatgctgctcaaattggcccacttctctctgta +tccactgctatcagccttacccagaccactgatcaatagagtagactgaattaacttagg +aagctcccactcacaccctaaacgcatagaaatgctgggtttttaaaaatcaaaaaggtg +tttttgctacaatgctgggtttgaaaataggaatgagaaatgtccaggtatcagaaacag +gaaggaaattcaaagaacatatagtgagagggggtctaagccaagtgaaccacagggaga +tcagaccagacatatgctagaggctggatgaaaacgctgagggaggatgagaggagagac +cccaaacctgcgcagcaaggggagctggaaagagaccctgtgcgcaaagtcggcagccaa +gaaggtctGTTTCATTTGCAAACTTGGACTCAAAACGCTCATGCCAGGGATGCAGGAATG +TGGCCTGGAAGGAGGATGCTGGGAAATCGGAACATGAAGGCTTCCTTGTGTGGAGGTGTG +GGGTTCAAATGAGTATTACCTGTGAAACACAAGAAACCTCAAGCCTCAAAGGGAGATATT +AACTTTAAAACTTCAAGCAgtgcttcagcatgaaggaaactgaaccaggagaaagaagag +ggcagtaaaaaacaatagtgaacacacaaattacggaaacacgtatgtaaatctaaactg +ttaaagcataaaagatacaacagcagctgatttcacagagactttttaagaggtataatc +aaactactagataaacataacatggaagatgggaggagaaacttaagaaggaaattaaag +tgttccaagattcttgttttgtgcctaagaaggacagaagtactgactaatgttagacgt +tattaggaaaatatgaaattaagtatatctgtcaaatgtttaagggaaatcactactaaa +atgtaaacttccaaaccagtggagtgaagaagagaaagtaaactctatttactgttgatc +agttcaacataagataaaaagaaagggagaaagcaaagaaaaagcatgtcaactagaaaa +tttttaaacagatgatagaaataaactcaagtcagtaatgaaaaatatatacatggatta +aatatgtctaaactctagctataaatcgcttataagcaacacatataggccaggcaccgt +ggctcactcctgtaatcccaacactttgggaggctgagccgggtggatcacctaaggtca +ggagttcgcgaccagcctggccaacatggcgaaaccctgtctctcctaaaaatacaaaaa +aattagccaggtgtggtggcacatgcctgtaaacccagctacccaggtagctgaggcaga +agaattactagaacccaggaagcgaggttgcagtgagctgagatcacgccaatgcactcc +agcctgggtgacagagcaagactcatctcaaaaaaataaaaataaaaataaaaaaataag +caacacatctaaaacataaggatataggaaggttgaaaataaaaggatggaaaaagatgt +attggaaaattaaccaaaagcaagcagccatagcaataaaaatcaggtaaaaaagacttc +aaggcaaaagccattagtaaggatgaaaagcagcctatttaatattaaaagagccaagcc +accaagaagatacaacaatcataagcttgaatgcttataaacagcacactctcaaactga +agtaaaaatcaacaaagttaccagggaaaatgacatatccacaatcatggtgagacattt +ttaacacacctctcagaactgatagatcaaatgtacaaaaaaaagataaacatttgaaaa +atataatttataaatttgaccATATATGAcagccgtccccaacctttttggcaccaggga +ctagttttgtggaagacaatttttccagaagctgggtgggcgcagtggctcacgcctgta +atcccagcactttgggaggccgaggcgggcggatcacgaggtcagaagatggagaccatc +ctggctaacatggtgaaatcccgtctctactaaaaatacaaaaaaaattagccgggcatg +gtagcaggcacctgtagtcccagctacttgggaggctgaggcaggagaatggcgtgaacc +taggaggcggagcttgcagtgagccgagatcgcgccactgcactccacccggggcgagag +cgagactctgcctcaaaaaaaaaaaagaaaaaaaaaaattccagaagctgcgggggggca +tagtaggggatggttttgggatgattcaagcacattacatttattgggcattttatttct +actattattattacattgtaatatataataaaataattattcaactcatcataatgtaga +atcagtgggagccctgagcttgttttcctgcaactagacggtcccatctgagggtaacgg +gagacagattatcaaacattagattctcataaggagcacacaacctagatcccttacata +tgcacgcagttcacaatagggttcaggctccaatgagaatcgaatgctaccgcagatctg +acagcaggcggagctcaggcagtaatgctcactcacctgctgcgcacctcctgctgtgcc +gcctggttcccgacaggccatggacaaataccagtccctggcctggggtttggggacccc +tgATACATGATATATATACATATGatgaaggaggtctcaacaaattctaagcaataaata +taataggtacataatatgaccacaatgtagcaaatttagaaatcaataatgaaaaggctg +tcccttgtcaaaaaaattcatttgaaaactaaaaaaaaaaattattctaaaaattcatag +gttaaaaaggaaattacgacaaaagtgatgaaagatgaaagttacatattcaatatgtac +aataaaaataccgcttcccaaaacttatgagatatagccataaaaggatatagttataag +ggaaattatagccctaacagcacatgttaaaaaataaaaaatattgaaagttagggatga +attcaagaggcataaagaaagacaaacacagcagacaaaagaaaataaccaaaagtagaa +ggaaggaaatattaaagattgctcaccaaaacaaaaaactagtttttttcaaagacgaat +aaaatgtaagtttcaacatatgtatttttttctttcccccccttttctttctttgacaca +aggtctcagagtctcagagacaggctgaagtacagtggtgtgatcagagatcactgcacc +ctcaaacccatgggttcaagttatccacctgcctcagcttccccaggagctggaactaca +gatgcatgccaccatgcccagctaatttttgcattttttgtagagatcaggtctcactac +gttgcccaggctcatcttgaactcctgatctcaagcaatcccacctcagcctcccaaagt +actgggactataggtatgagttactaggtctagcctaaaaatatgtttaattataaaata +tacaaacctcaggcaaggctgactcaagaaagagaggtaagacataaatacatggtattg +gaaataaaaagggagccaagcacagtggctcacgcctgtaatcccaggactttgggaggc +tgaggcgggcggatcacctgaggtcagaagttcgagaccagcctagtcaacatggtgaaa +acccgtctctactaaaaatacaaaaattagccgggcatggtggcagatgcctgtaatccc +agctactcgggaggtggaagttgcagtgagccaagatcacaccactgcactccagagtga +gactctgtctcaaaaaaaaaaagaagaagaaatgcaaagggagatatcaatatagagatg +caataaatattgataacattttaatactatgagaaagaatatttgtgccaaaaactttga +aaactgtcaattcttatgtttcttttttaaataaaatataaatcaccaaaatgattcaag +aaaaaaaataaaaccagaataggtcaataatcactaaagaaactgaagctgtagttttaa +aagtctctcctatccccaaaaggcatcaggcatagataattttataggcaacctttacca +aacctaaagaatagataagtcttgtcttacacaaattgttccaaagaacaaaaacacaga +gaaacctaccaaattcattttaggagcctatcttagctctaatacctgaattgaaaagca +gtaaaaaattgtaggcttacaattattatgatatatcacttatgatacattcataaatct +aaatgatttaaaattttaaagtagcaactgttcaaaaatctaatactgtatataaaaata +atatagcaAAACTGTAACAAAAACCCCTAGAGCTCCACATAGCTATTctttgtctttagt +catgagaaccctgattcttagctatgtagtttacaccctccacattgcttcccagctaaa +agactataccccacagcctcccttgcagctaggtgccaccatgtgatgagattttagcca +atgtgatgaaactggttgtgtgtaacttgcaggaagtctttttaaaaaggatggactgca +tccctcttcctctttactccttctcactgctcagaatgcagacatgactgggggagcttg +aacttaaggtccctagacatgaagtgatgtacaaaatagaaggagcctggagttctgaca +ctgcactccctacatctaagctggctttttttttttaagtgagagaaaaatacacttgtt +taagacactactgaggccctgtgactcacagccaaatttaatccaaactgacaATGGgat +caagcagggtttatcccaggaatgaaagaatggaaaatccattcattcatataattcacc +atgttacacatggaaggagaaaaatctatgatcatctaaatagattctgagaaaacattc +aataaaatttcactcatattttctattttaaaaaataaaaataagatgcttatccaacta +ggaatagaaaggaatttccttaacctgacaaatggtatccatcaaaatttgtagcaaaca +tcatcttgaaaaacatagccactaaagtcaatactactgaacagtgaacagaagtcctat +tcaatgcaatattacaagaaaaataaatgaaaatacagatttaaaagaaatatcttcatt +cacagaaaaataactgactatataggaagcccatcatgattttcagataacctatgagac +taataagagagacctaattcagcagcaacgttactgaatacaaaatcaacatacaaaaCA +TACAAAACCTAACAGTAGAggccgggtgtggtagctcacgcctgtaatcccagcactttg +ggaggccgaggcgggctgatcacctgaggtcaggagcttgagaccagcctggctaacatg +gcaacaccccatctctactgaaaacacaaaaaactagccaggcgtggtggcgggtgcctg +taatcccaggtacttgagaggctgaagcaggagaatggcgtgaacccgggaggcagaggt +tgcagtgagccgagatcatgccactgcactccagcctggacgacaagagcaaaatgccat +ctcaaaaaaaataaaattaaaataaaaataaaTAAACCTAACAGTGCTACCACACACTAG +CAGTGCCTAGTTGTAAAATGCAATAGAAGAAAAACATCCCAATCACAATAgccaccacat +tgcaaaacacaatcacctttcttctggatcatgaaaaatcctcctaactagccttctcgt +ttccactattgctttcttcaaattcattctccactcagcagcttgtgatctttcatgaac +ataagttagatcatgttgcactccttctttaacctttacatggctactcattactcataa +ttagattccaattccttatcatgtccatgctctgcataacctgcccctgcctgttctcca +attaactcccttcccactcccctgccccactccacaccagccacatggaccttctttcag +ttcccgatgcatgtcaaactctttcctgccccaacacctccacatatgctattccctctc +ccctgaatgcttttcctccaatcatcacctgagagttcttagtcaatcctcaagtctcag +cttaaatgtcacctgttaatctaaataaggtcccttcttctctcttatctcctccttttt +ctttcatattcctacataatatgcaataaaatcccactacctattatatcataatgtgtt +gtcatatttttattcaaggattatttattcattgccttgatttccctctagaccatagct +tctgtgagggcagaagtcatgtctttgatgtttcctgaagcatttaacacagtgcatagg +agctgtcatacaacacgtgcttagtaagtatctgatgaatgaatgaatCAATCAATCAAT +GACAAGAGTTTGCTGATTTAGCAAGAGTCTCAGCTAGAAGGCCTGCAGCACTCTTCCCAG +GATTCAAGGGTTATTAGGAGGAATGTGGGGAACCCCCACCCCCCTGGACCTATCTAGACA +AGGAACCAAAAAGCCTCTAAAGGGAGTGAGTGGGCTTGGTGGTCCATGGGATAGCACTAG +AATTGGGGGTGGGTAGGATTCAGAACATAGAGTTGCATCCATCCATGACTCCTACCCCAT +CTCTCAATAATTCAAGTCACAGATTTGCAAATTGGGTTTGCCATAAAATGCTATTTTTCT +GAAATCTTTGTGGCACAGTAAAAGTTTGGTGAACAGCAGGTTTAGAAGTCATGCAGGCAA +CCAGGGCAGCATTATGCCACCCTCGATGAAGGCATTTACAGCCCCAGGAGCACACAGAAC +TTCAGGGAGCCAAATCAGAAGTTGAGAAAAATGGTGAATCCCATAGGAACACCAAAAAAA +CTTCATCAGGCACAAACACAAGACATCCCAAGGACATCCCAGAAATAGCTGGGGAAATCT +GGGCGAAGGACAGCAACTGGGAACAGAGCTGCGAGGAACCACTGCTAGTGGGACACTGGt +tttttgtgttttgggttttttttgagatagtctcactcagtcacccaggctggagtgcag +tggtgcaatctcagctcgctgcaacctcaggctcctgggttcaaccaattctcatgcctc +agcctctcgagcagctgagactacaggagtgtgccaccatgctcagctaatttttgtatt +tttagtagagatggggttttgccatgttggccaggctggtctcaagctcctggcctcaag +tgatccacccaccctggccttccaaagtgctgggattacaggcgtgagccaccgcacctg +gccTGGGACACTAGTTTTATTCCTCCAGTCGTATGGCCTGGGAAGCTCAGATACCATGAA +ACCGTTATGGCCAGCCCCTGGCAAGCTCCCAGACACCCTTTCTCCCCATAGGCACCCAAC +AACAGAGAGGCCTCTTTCTGGTATCCCCTCCAGAGCTGGCAATGCTAATTCTTCAGTGAA +AATTAAGGAGTCAATGTTTCTGAGGCCACCTAATGCCAGAATAGTGGCTGCTGCTAATTG +TACTATCTCAGGTACACCACAGACTCAGGCATGTAATAGGTACCCCCAACTGGTTAAATG +CTTGTGTGAGCCAAGTGAGGAGGAGTGTTATATCTGCCAGGGGCTCCTGAGAGGCAATCT +TCCCGTTTGTTTCTTTTTGAGCTCACATACTTGTACACCACAGGATGTAATGAGGGATTG +GCAGATCCTATCATCCCCTGGAAAGGACAATTGCTGGAGGCCTGCTCGGCACCTACATGT +AACCTTTCCCATCCTCTCCTTCCCTGCAACTGCTGTGTATCTCCCGTCTGCCTCTGAGCA +CCTGGGGTGGGCATGGGCACAAGAACTCTAGGTTTGATGACTCCTCTGGTGACATCTCTA +TGGAACAGCCCCTGTGGCTGCTCTGACCACCCTCTATAAAAAGGCTTGGTCTCACTTCCA +GGAAAAGAGGATGTGCAGGGAGACTGGGCTAGTGGGGACACTATGCAGCCCTCTCTCCTC +CTGTCTCCCAGCGAAGCCTGGGCACTCCCACCGTGACTTTACCTCTTGTCCTCTTCCACC +TGCACGCCAATAGAGTGGAACTCCCTCCGGCTCCTGTTCTCGGTGTCCGAATCTGAGATC +GTCTCCACCTGGTGGCAGGGTGGAGGAGTCAGTGGCTGTGGCGAGCCAAGGTGAAAGCCC +TTCCCGGGGAGAACGGCTAGCAATGGCTGCGCCCCAAGCCAGCTGGCAGGTCCTGCAAAG +ACCATCTGCCTGAACAAGATGAGAGACCCAGGCGGTCGGTCACAGGCCTCAAAGTGGCAA +CCACTGGGCACAGCCCTCCAGCCCTCCATTAGTCAGGAGGGGCGATGGTGCCAGGACGAG +GGACGAGGGAGTGGGCGGGGGCTGGCTGGAGCAGCCCCGTCGATGTCCAGGCACGGGGTT +CACTTGCAGCTCAGGGCAAGCCAGAAAGAATGTCGATATATCCAGAAGGCCGCTTCCAGC +CCCTCACCCCAGCCCCGACCGACCAGGGTCAGAGCCCTCGTGGGCGCCTCCCCGTTCCAT +ACCTGCACCCCAATGGACGGCCGCCACTTCCGCTGCCGCGCCAGGCTCCGCAGCTCCTCC +CTGCCAGGGATGGTCTTGATGATGAGTGTGGGGGGCTTGGGGCTGGCCCGGGGCGGCACC +GGCGCCAACTCCAGTGTGCGCGCACCCATGGCGGGGCCGTCCAGCCCGTCGGCGGAGCTG +CAGCGCCGGGCGGGGCCCTCGGCCGCCGTGAAGCTCTCGTGCGCGGAGTCGGTGCTGCTC +TGGGCGGTGATGGAGATGCGGGGCGGGGCCTGGCTTCCCGGCGGGATGGGGGGCGGGGCC +TTTCTGAAGTTGAAGGCTGTGGCCGGCGAGCGCAGAGACGCAGTGGGTGAGGCTCGCGGC +CCTGCCTGGGTCCTGGGCCCGCGCCCGACTCCCACCCTCAAGAGGCCCTACGGGACCCTG +CAGCGGCGCGCACTCCACATGCTGCTGCACACACGCCAACGGACGCTCTCCCCGTCATCC +GACCCCGGGAGCGAGCGATCTGCGCGGGTCACAGCACAGTCGAGGGGGAGGCCAGAACCC +GGACCCAGGGCGCTCTCCTGCCTAGGGCCGGGCCAGGGGCAGGAAGGTGTACTCACAGGA +GCCGGGCCTCCCTGAGACAGCGGCAGGGGTAGCGAGGAGGGGCAGGCAGTCGTCGTCTTG +AGAGCAGCCGGCCTGGATGGCCCGGAGGTAGCTGTGGCTCCGCATGCGGAAACAGCCGGG +CAGGTCCAGGGCGTCCACGGCCTGGGACTCCAGCTCCCCAAACACCGACCCGCACACGGC +CTCCAGCTGCTGGTTCAACTCATCGCTGAGCTGGGGGGCAGGGGGTCGGGAGGACAGTTA +TAAGGTGCCGGGAGGGGGTGGAAGTCCCTGGGGTGCTCTGCCTTAGGGGAAGACCTCTCT +ATATCTGCAGAGGCTGTAGGCGACTCTTCCGCATTTGAACTAAAAGAAACTCTAACTCTT +TGCAAAGAAAGATGGGGGCATCTCTGCCCCACTCTGCTCCCAAGGCTTGTCTTGGGGCCC +AGTCTTTCCTCTAAATATcccacccccacccccacctccaccccACCTATGCCTCTTCCA +GGTGTCTGGCTGGCTGCACTCCAGACTGCAGACCACCATGTTTTTCTCTCCACCTAGTCC +CATCCCCTGACGTTTCTCTCACCTGACCCCAACAGAGAGGACCAGGGACCTGGCATGCAC +CCTCCTGCCCAGTATGGGGGTGGGGACTTCATGGAGGACATCTTTTATTATTTATAATCC +ATTACATTACAAAATTGATTGAAAGCTCTGTGtatatatatacactacatacatgtacta +tatatatactacatatatactatatatatacactacatgtatatatgctatatatatata +AAATACCAACTGGCAGGATGGAAACTAATGCGTAAGTGATGGAGCAAAGTTATTAACCTA +CCAGTGTCCCAAGCCTTCCCCCACCTTCtttttttttttttttttttttttttttttgag +acagagtctcgctcagttgcccaggctggagtgcagtggcgcgatctcggctcactgcaa +gctctgcctcccgggttcaccccattttcctgcctcagcctcccaagtagctgggactac +aggtgcctgccacgacgcccggctaatttttttgtatttctagtagagacaggatttcac +cgtattagccaggatggtctcgatctcctgacctcataatctgcccgtctcggcctctca +aagtgctgggattataggcgtgagccaccgcacccggccCTTGCCTTCCCCAACCTTCTA +TCCACTCACTCGGGTTCTGGCTTAACCTGTGGGTTCCTTCTCTACCCTCCCCCACTGAGG +AAAGCTTAGCCATTGCTGGATGAGGTTCTGGTTTTGTTTTTCGTATTTTGGTGGTGCAGA +ATCCATGGTGTTAAAAAAAAAAAAAGTTAAAGTATGAAAAAAAGCAAAACAAAAATTTTG +TTGGTGGAACTGTGCCGCACACCACCACATGAAGACTAAATATACCACAGAGGTTGCAGC +TTCATTCACATTACAAGAGAGAACTGGTGCAAAGAAAAAGTAAAGGCAGGAAAAGGTGCT +ACCCGAGGTAAGTGCTACACCCAGAacacaggtgacaaagtcctgaacattgctcaagat +gggcacatgtttaaccctgagcttccaagcaggcaaagcaTCAGGGagtatagcctcaga +gttgcctgcatgggctatgcgtgagacttctcctagattcaagtgctggctctaccactt +cctagcagaatggcctgggaaagttaaagtttgggggcctcagtttgctcagctgtcaaa +tgggagtgataatggtaccatcttcatagggctattgaggggactgaaagaaaaacatgt +gagccttttggtacaggtactggcacatagtaagccctcGGCTAGCGGCATGCGAAGGTC +TCAGGGCCTCCCTGGTaaacacaggccagatgcccatgagaaccacaacaattcctgtcc +ctgagactaagagacaatcatcccctgtggatgattatgtagagtccattggatgaagtc +atggataaggtcctcgacagcatcccatggcaaacataacagcaagtatcacatggctgc +atcttgtgacatctcccaggaaagattcacggcattatatttacgtgcagtcaacagagg +cTCAAAGGAGTGGCCTGATCCATGTGTAAACTGCAGCTCAGTGTTTCCATAATTCAGCCT +CCAAAGCATAACATGATTTCACTGGATTCTACTTCAAAtagagccatttctattccaatc +tactaatgggcaaacaagacccagagagggcaggtgaattgtctgaggatgcccagctgg +taggtgataaaactgaaattaaatgtcatgcttcctggctcccaTGTAAGGCtgactgag +caacagattctcttggggagcttgttaaacctacattaactcaggccccaccccaaggat +ctgaACCCAAGGTTAACAAAACAcctctcttgctttggctgcttagaagctcagagccaa +atttgCTGGAGATTTAGATTCGTTGGTTCCAATGTGGGCCTACTAATTGAAAAGAAGGAT +TGTCTGAACTTTTTGAAGCTTTTTCTAAAGGAGCTTCATTACAAGTGTATGGAAATCCCA +GGCCATGGAAAATCAATCCAAGACCCCGCAGAAGTTAAGTTCTCTCATATTTGACTGACA +CAAGCCACACTTGTGTGACAGTTGTGGCTTTCACCATGATGCTCTGTCATCTACCTCTCA +GTCTTTCTGTCTCTGTATTTCTGGGGCACCAAAGACAACAGTTGCCAGCGTATTTCCTAA +AACACAGGAACTGAACTAACTCCTGCTATTTCTGGGCTAGGCTCAAGACACTCCCCAATT +AGAACAAATGCAGCCCAGAGTGTCCCTCTTGGAGCACAGGGGAGCTAATCTAACCCTAGC +AGAAAGCACACTGGTCTCGAGTCCAGACACCAGGGATGAAAGGAATCTCACTCTGTTGTA +TATTTCTGTATCTCTAGCCCTCTTCtgtgtataaagcactaggcataatatctggcacac +agtagatgctcaataaactatagctactattattAGCAACAAGAGGCTCTTAAATCGCAG +TGACAATACCACTCAGAATGAGAAGTGCCTCTTTCCCTGGGGTTCTGCAGCTCTTGAAAT +CCCACCCACAGGCAATACTCACAACCAATTCTATCCAAGGCAGACAAAAGAAGGTGAACA +ACTCCCTGGGGTCATACACCCGCCAGCTCAGCTGGCCAAGAGGAGCTTCTGGGGTTCCAA +CAGGAGACCAGGACACAAGGGAAACACGGACTCAGAGACTCTCAGAGAAATATTACACCC +ATGTTGATCTTTACTATCCTACAGTTATAAAACTGTAACATTGTACTGTGAATGCTCCTA +TTATCCCTGCACTGACTTCCACCCTGCTTCCCCCAACATCCATTTACAGGAGACTCAAAG +TCAAAGAATCCTCTTGGGATGAGATCCTTAGCCTTTCTCCAAACCAGACTGGAATCAGTA +GCCATTTCCAAGCTCATGAAATATTTAAAGTAAAAATGCTTTGTGTCTAATTGGAAATTG +TCCAGACTAGAGTTGGTGGGTCCAACAGGGGGCCAGGCAACATCGTGTATACTTTACTTG +TGTTATTtagtttagataacctttagaaaactctcccatttcaaaacattggatgaaata +taacaaatgttgctttatatgcatagctgagctcacaagaaagcgagataagtccccagg +ggacaaaagcaaagaggagactggaaaatcagaatattaactgtgtgagccaatgctgca +aacagcccagtggaggcgggaggtgggggcaggggctgttggtctcagcgttttggtaaa +ggcttaggttttaacacccacttgggcataggaggaaggctttgggcccacatgaagcgt +ggaattggaaaggagaacctgcataaagttaggaaaagtgaaacctttgatgaaaatgta +gactagaataaaaaaattagtcatcaccacaggctgatgacaaggaagctggtctgaagt +acagggatggcgggaagggaaaagaggcaaatcccctaagaatctgtacctacaagctgg +tcctcacacagccacggtacagtgtatctgcatgaaccttcatgggccacacccctaaaa +ttaaaaattagcataaaatagttccaaaccaggcatattccaacagaagcaactgcaaaa +tatttcctggggaactcactcctaacccaagctgctcatgcttctcacagataaatttcc +attgaaggtgagTGTATTAtgtgggagacagcctctgaaatagctcctaatgatctccat +ctcctggaactcacacccttgtgtaatccctttctcatgagtgtggaccagacttattgg +cccacttctaatgaatagaatatggcagatacaatgggatatcacttctgagattaggtt +acaaacagactgtggcttccatcttagacaccttttcttattctctttctctcaaagcct +ttgctctgggggaggcaagctgctatgctgtgagtagccctgtagtgagtctcacataga +agaaattgatgtccctggttagtagccagcaaggatctgtagcctgccaacagccatgtg +agtgagcatggaagcagatcttcacccagtgaagccttgagatgctgcagccttggccaa +caccttgattgcaactttgtgagacacttgacccagtcgcacccagccaggctgcactca +gattcctgatccacagaaactgtgagataataaatatttgttgtttaaagatactacatt +tggggataacttacatagcaatagaaaaTACAAATTGTGacataaacaaaaactaacttt +tattgagttaagccattgagaattcaagatttctctgttaaagcagccagtgctacctta +gctaaAATAAAATAACTTTTAAATGATGTTTAAAAGTTCCAAGCTTAAAAGATAAAACTG +AGAACAGAAGAAAATACGACTCTAAAGCAGGACaaactgtcaaaacccaccattttatca +ctctgcaaatcaatcaaagacatacaacaaagaaacatgtattcataaaaattactggac +tttgggtaagaatagcacgactctatagtattcttgccTGAGGCTGCTCTCGTTCACCAG +GCTCCCAATGCTATCAGTTGCAATACTTCAACAAACGTGGTGCCGCCTGTGAAAAATCAG +CTGCTTCACTGCCTCTGCCAGAGGGCTCCACTTAATTTGGGGCATTGTCAGTTATAATAT +CAAGAACAGGAAAGGCCAGAAGCACTGTTAGGCTGGGTTTCAGCAATGTttgggccaaac +aatggactggcaaactaaccaggaatttatcagaaaattccagggagtgagacagaccaa +gggagtttgataagctctccacatatcttgggttaactcgaagctgggtgaatgcacagc +agagaccagagaagcctgagccacccacacatccctagccaatggagcttatatatgtgt +gcaggggaaataaaagagtctggtgaagagtaaaagccagggtaggtttgaaaacaacct +gaactttgccctccccagctcacacatagaactataggcagacacaaagtctaactagct +tgaggttcttgagcacaacctccgaaaaatctctggctgaacactaagctaTGCAGATAT +GGGGGAAACCCCTAAGAAACAAGGCTTAAAATAAAAATAAGAAGGAAATAAAACTGAATG +GAAacatcagaggccacatgttgtagggaagacagatttcacagatttcattcagggatt +aacaaacaaagcaataacaatcttcaagaggaaaacataatctagaattactacaatata +ttatctaaaatgttcagtatttaacaaaaaattatgaaacatgcaaataaacaagaaggt +atgcatatccccaaatgttgcttttatcagacaaagactacaaggcagctattataaata +tatcaaagaattaaaggaaaccatgcttaaagatttaaaggaaagcatgacaacaatgac +ttcatgaatacaaatcacaacaaagagagagagattaaataaaggaacaaatggaaattc +tggagctgaagagtagggtaactgaaattaaaaattcagtagaggagctcaccataataa +atgatcagtaaacatgaagatggatctgtataaattatccaatatgaataatggagagaa +aaaatattaaacagaaatgaacacagcctcagaggcctatgggacaacatcaagcatagc +accatgcatgtgatgggagttccagaaggaggaggggaaaaaaagaggaaaaggaagaga +tagggcagaaaaaaatatttggagagacaatagccaaaaactttccttttgtttttgttc +tcgttttttgtttttgttttttttagagatgaggtctcactatgttgcccaggcttcagt +gcagtggctattcacaggcacaatcataacatagtgcactacaggtcaaactcttgggct +aaagcaatcctactgcctccacttcccaagtggctagggctacaggtgcccactactgtg +cctacctaccaaatttaattaaaaaacaaaaaacattagagatcaaagaagctcaatgaa +cctaaagtaggttaaacactaagagatctatattcacacaaattacagtcaaaatgttga +aagctgaaaacagaaaatcttaatagcagcacaagaaaaacaattcatcacatagaggga +aacaactcacttttcatcaaaaacaatgaacacacggccgggcgcggtggctcacgcctg +taatcccagcactttgggaggccgaggtgggtggatcatgaggtcaggagatcgagacca +tcctggctaacaaggtgaaaccccgtctctactaaaaatacaaaaaattagccgggcgcg +gtggcgggcgcctgtagtcccagctactcgggaggctgaggcaggagaatggcgtgaacc +cgggaagcggagcttgcagtgagccgagattgcgccactgcagtccgcagtccggcctgg +gcgacagagcgagactccgtctcaaaaaaaaaaaaaaaaaaaaacaatgaacaccagaag +gcagtggagtggtatattctaagtgctgaaagaaaaataactgtcagccaggaattttat +atccagcaaaactattcttccaagatgaagtaaaaataaaaacatttccagataaatgta +gactgaataatttattgccaggagacttatattatgagaagcactaatggaagtccttca +ggctaaagggaaaataaagtaatagccaatggtaactcaaatacagaagaagaaataaag +agcaccagaaatggtaaatatgtgagtaaatacaagagcctctataaatatattttcctc +acttcctctcttaacttctttaaaagatgtaagattacacaaagcacttattataatacc +aatgttggtttataacaagtgttaggtttaaaacatatataggtaatatatgacagtaat +agcaaaaagggggaaaatgagttatattagagcaatgctcctatattttaccataattat +attttgataagctaagatatacattgtaattcctagtgcaatcactaagaaagtaactca +aattgtatagtaaaaaattaacaaataaatataaatggtacactaaaatatttattgatt +taatacaaaagaagacagtaaagaaggaacagaggatcaaaaaataatatgacagtccaa +ccacatcaataaccacattaagatgtgaaggtctggcatggtggctcatgcctgtaatcc +cagaactttgggaggccaaggtgggtggatcacttgagctcagaagttttgagaccagcc +tgggcaacatagtgaagccccatctctacaagaaatacaaaaattagccaggcatggtgg +tatgtgtctctagttccagctacttggggaactgaggtgggaggattgattgagcctggg +aggtcaaggctgcagtgagccatgttcacaccactaccttgtagcttaatgacagagcaa +gacccttcctcaaaaacaaattaaataaataaaataaaacatgaatggacaaaaacactc +attcaaaaggcatagtgataagataaagcaaaaaaaaaaaaaaaaccattagatgctgtc +tacaggagacataccttaaatctgaaacacaaacagttgaaagtaaaagaatggggaaaa +gatatactatgcaaactataccatgagagaattttccagaattgatgaaaaacatgaatc +cacagacctatggagcacacacatgaatatatcatagcaaaactgcagaacaataaaatc +aaagcaagatctcaacagcaacctgagagaaattaaaactacctacaaagacaatcagga +tgatagcagactccttaacggcaacaacagacagatgacaaaagaatatcttcaaaacac +ttagagaaaataaatgttaagctagaattcccacaataagctaaactgtatcaaacagta +tgggtaaaatatattttttgttaaagtccaagtttgctactaacagatattcactgaaaa +aattactaaagaatatactttaggaggaaacaatgagatgtaaggaggtaaagtgaggag +taaaaaaggtagagatgtgagtacatacaatcaagagctaataatataaaaagtaacaat +aataatagagactaatttgacaggttaaaaggtagaactaaaatactgggcaataagtcc +acataagaagggaagaagtcaaggaaattaaagtgtcctaagatcACTtaagtatttgag +gtgatgggtatgtcaattcacttgatttcattattccatattgtattcataagtcataac +attactttataccccataaatatatacacccacaatttgtcaatttataataaaaATTAA +AAGTAAAATAggccaggagcattggctcatgcctgtaatcccagaactttgggaggccaa +ggcaggcggatgacgaggtcaggagatcgagacgatcctggctaacacggtgaaaccccg +tctgtactaaaaatacaaaaaaattagccaggcgtggtggcgggcgcctgtagtctcagc +tactccggagactgaggcagaagaatggcgtgaacccaggaagcggagcttgcagtgagc +cgagatcatgccactgcactcctacctgggcgacagagcgagactgtctcaaaaaaaaaa +aaaaattaaaataataataaTAATAAGTAAAATAAAtgctgaaagaaatcaaagaagaac +tgaataaatggaaatacatccaatattcaaggataataatacttaatattgttaagaata +caatactccataaattaatctacacattcagagcaatcccttcaaattcccaactatatt +ttttatagaaatcaacaagcctacccaaaatccatgtgtatatgcaaaggaaacacaaaa +cacaaagcagtctttaaaaggagtaacaaaattgtataatttcagcttaccaaaatcaat +ccttaccacacagttacagcaatcaaagcatgtggtaatagcataaagataggttcaagc +agaccaatggaataaattttaaggttcattaataaacacatgcatttatggtaaattggt +tttgaaaaaggggccaagaaatttcaatgaggacataaaagccttttcaacaaatgatgc +tgggaaaattggatatccgcattcaaaaacataaagctggacccctaacttgaatcacac +atacacacacacacacacacacacacacacacacacacactactcaaagtgggtcataca +tctaaatataaatgttaaactacaaaattcttaggagaaatattagagtaaatttttgtg +atcttgcattagacaaagatttcttaaattttacaccaaagcacaatcaagaagagaaaa +attgatgaattatgcatcatcaagtttaaaatgttttgttctccaaacaacaacataaaa +aatataaaaatacaaattactgaatagTGgaaaccactccagctgacaccttggtcagat +ttctagcctccagaattgtgagaaaataaatttttgttgCCAAAAAAAAGAAGAACAAGA +AGGGAAGAGGTCATCAAAATCAGAATGTCggccaggtgtggtggctcatgtctgtaaacc +cagcactttgggaggccaaggtgagtggatcacctgatatcaggagttgggaaccagcct +ggccaacatagtgaaaccccgtctctactacaaatacaaaacagttagccaggtgtggtg +gcgcacacgtgtaatcccagttattcgggaggctgaggcaggagaatcgcttgaacccgg +gagatggaggttgcagtgagcagagatctagccactgcactctggcctgggcaacagagc +cagactccatcacacacacacacacacacacacacacacacaAaatcaaactgtcctatg +gtctctgtattgtttaggaggagcacagaaaaaactgtcagcttcagacgttaagtcaaa +tatgcatatgaaaattataagggtaaccacaaagaataaaatacaatatataactattaa +accagtgtgggatttggtggggagaagaataaagaaaactcaaaccaaaaggaggcagca +aaggagcaggaaagcaccagtccaaaggcaagataaatagaaggcacaaaataagatgac +agaaataaacccaagggttagggctagggtcatcacactaccctaggtttaggccaaggg +gtaatcacagataatctgtaatcacaataaatataaatgtactaaactctcaagcaatta +tcagaatggatataggtaaaatgtagctataactattttcaaaaaatatacctgagacat +agacaaaaagctttaaagtaaaagatggaaaaaggtgttttaggcaaatactaaacgaaa +aaaAAATAGACTGAAGAGGAAAAAAGTATTATGAGACATAATAGGGTGACATCTCTAGTG +CTTTAAACTTATTTCATCTTCTATAAAGCAAGAATAAGAAGCCATACCTCCAGGCtaaat +atgtcaagtatatgtgatgttagataatgcaaagtgctaagaagaaggagaaagagcagg +aggaagaagacagagaagacctcaacaatgacagtacagggaaggggaataggaaatgtt +ggaaagggagagttaaattaaaattttagggcatttgggaaaagacctgaaagaagttag +gaagtgatccatgggagtggctgggaaggggacatccaggcaaaggtagtggcaaatgca +agggccctagggagtctagtgtggctggagtgggagggaggggaacagccttaggagagg +aactcagaggcagctccactccagcgaggtcaccaggtcatgcaggcctcgaaagccatg +gttaggttcttgatgtttactctgagcaacgtgagggttttgaacagaagagcgagtgtg +attatagtttttaaagatcatgtgggctgtaatgagagaggatgaagtggagcaagagca +aatacaggagaccaactacaaggcagtgccatcgtccagacaaaaggacatggtgcctgg +aagaaccggtggcagtggagatggtgaggagtggttggatcctggatatattttaaaggt +gggaccagcaggatcagctgaaggattggaggtgagttgtgagagagagaaagtggtcaa +gactgacttcaggcttttaaaccagagcttctagaaggataaagttgccattatctgaaa +tggagaattcagaggatagagcagcaactgcggcagccaggggcgggaggggattgtgga +gggtgtgtgtatcagcagtttagttttggacatcttaagtttgagatgtctactaaacat +ccgaatgagatttcaatacacagttagacatatatgcctggcatttacaagagagtttgg +gctggagatatacatttggtagtcatcaggctctcagccatgagcccagacaagatcacc +taaggagtaggtatagagagaagtccagggactgagccctagaaaactccagtgtttaga +tcctggggagttatagaggcacccaagacacagactgaggataagcagccagggagggaa +tctaggagaatgtagagggtgtggtgtcctccaagccaaccaagtaaagtctttcaggaa +ggaaggagtcttcaactgtgttacatgtggctgatgggtgaggtaaaatgagggctaagc +attaactcgtgggtttaacaacatagGCtggtctgatgtaaaaagagagctgtgccaatc +agatttcctggttcaggcaatggaacaaaggaatactgagagactgcagcagtgaacaat +gagagcCAACGTGGACAGTCTTTTGCATTGCATTTTTTCCCCAGCATACAGTaaaaatag +ctaacctttattgagtgctggctatgtgccaagaacactattatgatgcctatttttaaa +aagggaaagtggggctcaaaaaaagtcaagtaacttgccccaggtcagtcagctggtaag +tagccaagctggaattcaaccccaTCTCATGTGTTTAATCACTAAATGCTGCTGCTTCCG +TCTAATTAAGGGGAAAGTCTACACTTAGATatggaactcacatttataaaatgccatttt +tgggccaagtaccttgtgtttgcatacattttctcactgaactctcaaaaacccctgcaa +aataactgtccctaaccattgccattttaaagatgagaaatggaggtgttgaaaagtaag +gtctcttgctggtggttcctcaggacagaggggtaaggtggcagaattcaggcccagatc +atgtctgaggctgcagcttggcctgcgccctgtcTGTACAAATCAATTCTACtttttttt +ttttttttttttaagacagagcctcactgtgtcgcccaggctggaatgcagtggcaccat +ctcggctcattctcgccattctcctgcctcagcctcccgagtagctgggactacaggcac +ccgccaccatgcctggctaattttttatatttttagtagagacggggtttcaccgtgtta +gccaggctggtcttggtctcctgacctcgtgatccgaccacctcggcctcccaaagtgct +gggatcacaggcgagagccactgcacccggccAATCCTACCTTTTACATGGGGGCAAGGA +GGGAGCAATCAGGCCTGTGAAGAGCCCCAGGGCACTGGCGTTGCCCTTACAAGCTCATCA +CTTTGAGGACACTTGGTGGGTTTTAAGGCTGTGATTCTCTGAGACTCCCAGCCTGAGTCA +GCTCCAGGAGTCCTAAGGCAGGTTTCCCAGTTTCCCCAGAGCCAGGCCTGAGCTCTCTCC +ACAGGCAGACCCTCTGATTTTAAGTCCTAAGCTGAGCATGGGACTGAATCCCTTTTTCAC +TCTTTCCTCCAGGCATACTGGGCCTCTCCCTACCTGTCCAGTGGTGAGGGAACGGCTGTA +GCCAGGGATGGAGCTCCGGGGGTGGATCCGGGGTGGGACACAGCAGCTGGAAAAGGGCAA +AATTCCGGAGTCAGAACAGTGGACTGCTAGGAGGTGGGGGAGGGGAGATAATAGCACTGG +GGCCCCTGAGTAAGTCCTATTCCTCAGAACCCCCAAAGAGAGATCCCTTAGGAGACCCTG +GGTAAAGAGACTCCCAAAGAGGCACCAGAGAAGGACTCCCACCAAGACCCTCCCTTTACA +TGGAGTGGAGTGAGACACCCCAGTTGAAACCTAAGCAGGACTACCTGACTGGCACCCACT +CTACACACATCTCCCGCAGGAGTCCAGCATCAGCCTCCTGACCCCGCACCCCCCGGCCCT +CCCTGTCCTTACTTGATCCTGGCCTGGTCCACGCTGGAGGAGCGACGGGTGGTGAAGCGT +CGGGCGACTGCTTTGGGAGATGTCTTGGGGCTGCCGTCTGAGTCTCCGCTCTCCTCATCC +CCCATGGCTTTGATGTAGCTGCCGCTCCGCATCCTGCGGCAGGGGATCTCCCCATCCTTG +CCACCGGTGGGGTAACCCCCCCAGTCATCTTGCGGCACCTGCAGGAACAGGGGTCTCTGT +CTCTCAGACATGACCCTAGTAAATCTAGAGGCCAGGACTCTTTCCCCACTGCCAGTGGGA +GATGCCCTGCCCTGGCTTGAACAGGCACACTCAGGTACATGCAGAGGCAGAAGGGGAGGT +AGGGTCTCAGGCTGTCCCCGTCCCTTACAAGAGACACCTCGTCATCCTCCACAGACCTTC +TGCACTTAATTAAGGGCCACCTAGAGAGTCTGAGGGAGTGACATGGCAGGCGTCAAGCGG +TTGATGATCAGAGGCCAAAGTGACCTGTGTCAATCCCATGCCCAGCAGTCAGGCATCACC +TGACCTCAGTCAACCTTCTACCCCTCCTTCTCCTTCATCCTTTCAACCTGCTTACATTCC +AAATCCTCTCTccttccccgctgtggggagccacagagggcttcatgcaggggagtgaca +tcagatttgtgttgcagaaagagctctcccacagtccaaacagaggctggattgtggagg +gccaggagcagggcagaggctcaagtggcgagaggacgaccaattaggaggctgatgctg +ttatccaggcaagagatgatgaggcctaaattaagacaatgacaatgagggggaagagga +ggagatggaaatgagaggtgttaaggagcatcagtgagcctgattagacgtgggggatga +gggggcgggaggagtcgaggatgactgccaggctgctggctgaggacctgggggagggtg +ctgccgctcactgagccatagaaccccagagaaacaagtctggggaaaggtggtagggtc +ggggttgagcaccttgagcttggcatagaactgttgagcaggtggttggatgtttggttc +tgggattcagtggggagatcggggctggaggcggacatgtgggagtcatgggcggcagct +gaatccatagcagtgaatgagacagcccaggggagagaagaagagagatgagcagagatc +cactgacatttaaaaagggactgtgaagaaaggaagaggagcctgtgaagtcacctgaga +aggagtgggcagaggggtaggagggaagtcaggaaaatgccatgtcatagaaacaggaga +catttcaagaataaaaggagtcgattatgtcaaatgccacAGTGCGTTCAGAGGTTAGTa +actcaggctcgggaattagaagatccatgtgcaattctggccccatcacttgctggatag +gtgaacttaagcaaaacagattaacctctaagtgtcagtttccttgtctgcgagttggtc +atgatacttatgcctacatcagagggttggtggcaaagataaatgagccaatagagagtt +tccaggacatagaaagtgctcaataaatggtaacaattattatAGGCACTGAAAAGTAGC +TTTTGAAGATAGCGCTCAAGAGATCATCTGTGGCCACTGCCAGGACATGTCAATGACAGG +GAGTTTGGAAATCAGACCACAGTGAGGGGAGAATTGAAGGGAAGTGAAGAGTAGGTGTCT +ATGCTCTAAGAACTCGATTATGAAGGACATGGAAGGTGGGATGGGGCTGCAGAAATATTT +TTTAGGATGCAAGCGACTTTGGACATGTTTTCAGAATGATGGAAAGAGCCAGTAAAAATA +GTCTTTAAACCTCAGAAGGGAGAACAGTTCAGGGATGGAGGGGGTCATGATGAGATGGGA +TCAAGCCCTGGAAGAAGGATCGGCCTGGGATGGGTGGTCCCAGCTTTTCCTATGAGCCAA +GGAAGGGGACGAGGGTGGCTGGGAATTTGGATGCGTCTAGAGAGATGCTGTCAGGAAGCT +GAGGGAGTCCGTGATGTCAGCCTACACTTCGGAAAATGAGGTGTAAGTGAAGACGTGGGG +GAGAGGACTGGGGGAGGTAGGGAGGATTTAAAACACTTGTGTAAAGAACAGGTTAAATGG +GGTAGGGATGGGAGCTCCAAAAGGGGTAACGCCTCAGGGACAGCATAGGGTTCAGGGGAA +AGGTGGAGACTCTGGGGATGAGATGGGGTCCCTTGAAGGAACCCACGGGCAGGAGCAGGG +CTCTTCAAGGGGCTAGGGCTCATTTGGATGATGGGAAACAAAGAGATGAGGCTCCATAAA +GAAACAGGGGCTCAGAGTGGACAGAGGGATCCTGGAAAAGGCTTAAGAGAAAGCTGGTAC +CCAGTGGGAGAAACAGGGCTTTGACAATCAGATCGGGAGTCCAGCAAAGACACCTGGCCT +CATGGGGCCAGCCTCCCCTGCTTTTGTACCAGGGGAGTGCGAGGCTGTCTGGAGGGTCCC +TATAGCCCTTTGGTTCTTCCCCACATGGGCTCAGACTTCCCAGTCCTCAGATGCCCTGGA +ACTCCAGACCGGAGGGATCATTCCCCTTCCCCATTCTCTACAGAGAGCAGCAGGCAGGTG +GAGAGAGGCAGGCCAGCAGATGGGAAGGCCATACTGCAGGGTTCCCATTCTAGCCACTGC +AGAGCTCCTCTGCAGGACACTGTGAGGTGCATGTTAAAAAGGAAGCCCCCAGGGAGGTCA +GGGCAGCCCTGAAGCAGCAGCAGGGAGCAGCGAAATGGCAACAAGTCTTCAGGGATGGCA +AGGAATCGGCTATGGGGGAGAAAGGATGGGTGCTGCCTCCCTGCACCCTGCAGTTCCCAG +CTTAGAGCACCTCCCTACCCAGGGAGGGGGCAAACCAGGCCAATCCAGAAGTCCCTTCTT +GCTTGCACTGTGGCCCTATGTGCTCCCTTGGGCCTTCATGAGTTCTCCAGGAGAGCCCTA +ACTTGTGTGCAACTTACCCAGCAAGGCCAATGCCccacaaagacacacacagcctctatt +ctccatacctttgaacatgctgtatagtctcttcccaatacacgtttagccagcactcaa +caactgcaactcctccactgagattcagctcaggggacattcctcacccaggtcagtgag +gtgtctcctctgtgttcccaagatgcccagggctctcccctatcacagcctcatcacact +gtattctatctgcttccttgtctattcccactctacactgtgagctcctcacaagcagca +tctgtatcttcatctttgtatccacagcacccagaaaacgctcattgaatAAATAGATCT +GTATCAACTATGTCGAATGCGGAAATACACTGGACCTCCAGAACTTGTATTGACTTTTTC +TCCTAAAATTACGGCAGGACTTAAGAAAACGATGTGGGCTGGATGAGGCTGGGGTGAAGG +CTCCATAAAAAGTAGGAATCAGAGTTCCTGGCCTCACCTGCAGAGACCATAAATGTGGTA +AGACAAGATGAGAACAGCATGCCAGCTATCACCTGCACCATCCACTCCCGGGAGGCCCTG +CCTGAATTGTATCAGGGCTGAAACCCAGTTTGTCCCCCAGCCTAGGAAAACACATGAGAC +ACATGAAACTCCCAGGACCCCTCCACAGCTTCGGCTGTCCCACCACCGGTACCCCGGAAT +GACAAACCTCAGCAGAGGCACATTCTAGAAATAACTGATCTTCATATTCAAACATGTGGG +CCATCCGGATTATAGCAGAAAAGAGGGCTGGAGAAGGCTTTGGGGCAGGAGAACTGCTTT +CCAACTGCCGACCTTCAATCTTGAGAGCAGCTACAACTAAGGTGCACCTCTCTATCCTGT +CTACTGCCTGCCCTCAACTTCATTATGCCTCCAACCTCCGAAGACAGATATCAGCACAGC +CTGTCCAAAACAGTAGGTCAAGGGAAAATCTCTAGGGACAGACACATCATTAGAACAGAA +GGGCCCCTTCATTGCACAAATGGGGAAAGTGAAGCCCCAAAGGAGCTCAGAGTGACCCAA +TGGGGCAGGGCAGAGCCTCCCTACACCCAGGCCCTCCATCACAGGGACAGCTGGCTCCCA +CCCAACCCTTTCCACTGCTCCCTAGTTGACAAGACTGGTGAAGGCTAAGGACTCTGTTCC +CCAACCCCAAAAAAGCCTCACCTGCAGATAGTGATAAGTCCTGGCTTTGGCCTTGGTCTC +CGGACCCAGGAGCCCCTTGCCTGGCCCGGCCCCCGGGTATCCATCCCGGCCCTGGCTGAC +CATCATGGTATGCCAGGCACTTCGCTTGACCGACTGTCCATCCAGTGACATGGACATGCC +AGTGCAGGCAAGGCAGCGGCCTTCCGACCCGCCCGAGCGCCCCTTGAAGCTCAAGTCCCG +GTAGGACCCATCTGGACCCTCCAGGCAGAAGGGACCACCAGGCTCCCCAGGGGGCCTCCC +ACCCGCCAGGAAGCCGCTATCACTGTCCAAGTTGTCATCGGAACTCCACCAGCCTGTGGA +CTTGGCCTGGTGCCGCCCATCCCCCTTGCGGTCCTTGCTCTTGCTCCTCTTGCCGTGCCG +GGACtggtggtggtggtgatggtggtggtgatggtggtgatggGAGGTGTGGGGGCCTCC +AGAGCCCGGGCCGGGGTAGCTGTCTCCTCCAGAGCCACCTCTTCCCTCAGCCTTGGGCCC +ATTATAGTCCCGCTTCCCCGGCGCCTCCAGAGAGTGGGACTTGGCAAAGAGCTTCTGCAC +AGAATGAACCAGGTGCCGGATGCGGCTAGGGCTCTCACTGCGGGGCTCTGGGGCAGTGCC +CGTCCCTGGCGCTGGCCCGGGCCCTGCCCCTGCTGGCCCTCGCTGGTATGGTAGTGTGTG +GAAGCCATCTTGTTGAACTGGCAACTGCTTTTCAAACTGATCCAGGAGTGTAGGAGGCAG +GCGGGGGGCACCCTTGCCCTGTGGGTGGCCCACACAGTCTTCACAGGTGTCGAAGGGGCC +CTGGCCAGGGTACATCCTGGGGAAGGTGCTGCTACCCCCCCCAACCCCGGCCCCCGCTGG +CCCTCCCTCAGGGCCTACCGACGGCCCCTCACTCAGGCTCAGGGGCCCTTCAGGAGAAAT +GTGTCCCAGGCCAGCTCTCGGGGCACAGAAGCGGGGCTCGGTGGAGAAGGCCTCCCTGGA +GCCCAGCAGGTATGGGGCCCTGGCAGCAGGGCCCACGTCCATATGCTGTTGGTCAGCAAA +GCGGGCTGGGCGGGGATGGCTGCCTCGGTCGCCATGGTAACCCCTCATGGCCTCAGCAAA +GGCTCTTCATAGTCTTGGGGGCCAGGCCCCAGGAACCTCCTGGAAAAATAGGGAGAAAAG +GTATTTGAATTGAACAGCCCTCTTCACCTAAAACCATCTTTTATTAGGCATCCTTGTATC +CCTTTAGGTAATACATATCAATTTATTATGATTAATCACACTACCCTCCCACAAATGGAC +TAAAAAGTCCTTTAAATGGTCATAATAGACATAGACACTCAAGGGCACAAAATAATCCCA +TCATTCAATGAATACTGCAAATCTGATAAATACTTATTCACAAGAGGATATTCCCTCAGT +CAAATGGGTTTTTAAATGTCCTTAGAgactgggcacagtggttcacacctgtactgctag +cactttgggaggccaagacaggaggatcacttgagcccagcagttcgagatcaacctggg +caaccaagcaagaccctgtctctacaaaacaattttttaaattagccagatgtggtggca +tatgcctgtagtcccagctacttgggaagctgagaagggaggatcacttgagcacaagag +ctcaaagctgcagtgaactatgattgtattataccaatgcactccagcccaggcaacaga +gcgagacctggcctctaaaTTtatatatatatatatatttgtttgtttttatatttgtaa +atgtatattaataaatatttataaatgcatatatatttttatatacacatagaaatattt +ttatatatacatatatatacacatttatgtgtaaatatatagatataCTTTGGGATGTGT +GTGTATGTGTGTGAATATGTCCTTAGATTACCAAAAACAAAAGCATACCCAGGGAGACAT +AAAATAGTCAAAGAAACCAGTCTTTAGGTGAACTAGCTTTTAACAAGCTGGCATTAGGCA +AATAGATCCACAGCCACATCTCTACTCCAACCCTGCCCTACACCCCACTGTTGCAAGAGC +CAGGCCTCAGGGTCACAGCTCCCAGCTGCTGTGAACAAAGAGAACACTGGACCCAAATCT +ACATATCCAGCACCATCCCACAGAAAAATTCCTCCCCTTCCTTCCACACCCTGTGCATTC +CATCTGGCTGCAGGCTCATTCTCCCTCCCCTGTGGACTGAAATAAGGAGAATCTGAGATG +ACTCTTCCTCCTTCCTCTTCCGGGTTCCAAATATTTTCCCTATGAAATTACCCCTTTTGC +CTTTTACCCCCACCCTCCATTCCCATTCCACTGGAGGGGAATCATGAAGGAGGAAAATCC +ATAAAGAAGAAGAACAGCGGCTACACACAGTAGCATCTGAATCCTAAACTGGGATTGGAA +CCCAGGAGTTCCTCCTCCCAGGAACAGAGGGAAGGCAAGGCAGGAAAGTGATGGAGAAAA +AACTCTGGAACCAGTGCTCCTGGCCCCCATCCCAGACTTGCCAAGGCTACAGGACAGAGA +GGTCAGCTCTCAGCAAGAGCTGCCTCCAATCAGGACTCCAGGAGCTGCCAGGATAGGAGC +TACGGCAGGAGGGAGTGACAGCAGGAGGGACAGGGACAGAGGAGCTGGCAGACGGTGCCC +TCCCTCATCCTCGACCAGGCTCCTGGGCCATCTGCTGACTAGGAGGGATGACAGCCTCAA +AGGCTCCAGACAGCAACACCTCCAGGACTCATTCTCTTTCTCCCTACCACCACCTCCCCA +CACCCACCTTTCTTCCAGATCCTGCTCACCCCTCATCTCctactatttcccaagtactcg +ccatataccaggtattgtgcatacctgatattctctaatcttactgaaatcttgtaatgc +aggtattatccacacttacccatgagaaaattgagctcaaaacgttgaggtcacaaagcc +agtaagtggatgagtcactttgaatcaagattcaaacccattattctggtatgagaacct +gagtctaatccccatCTCCCAGACTCTTCTATCACTCACCATCCAGGGTGTCCCATCCTT +GATGTCAGGATCCCCACCACCAGGCAGAAGCCTAACTTCAGAAGGCTCAGGACCACTGAA +TCCTGATGGAAAAGAAAAGGATGGTAAGCAAAAGGGGAGAGACGTTTTCCCACAGTCCTC +AGAGGACCGGTCTCTGGCCCTGACAGCTTCCCTTCCCAACTCCCCCAAACCAGGACTGAT +TGGATCCCCCATGATGCAGAGCCTTTGAACCCCCAGGGAAATGAGGTTGGCTTCATTATG +CAAATACATTCAAATGAGCTTACAGGTTGGACTATCTCCAACTGCAGGTGTCTGTGGGAT +CTGTCCATGGTGCTGAGCCACTGCGTTGTTTTTTCTTTTTTTTTCCATTGCCCTCAAATA +TGATtccattccacaaacatttattgaacagttaccataagcaagagagtgagaagtgta +tagaggtgatttaagagtggtccctgtcctcgaggggtttatagtctaacaggggaACAA +CCTCTCACGTGACAGagttatttcaggccactttatttttgcactaactcttccctcctc +ctagaatttcctttcatccacctcaaagccctccccctggctaaaacttactcatattaa +gccccaccttcccttaaagactttctgtgctcttattctaggttatgctctttatcgggc +ttttataacaccctgggtgtccccatgaaagcagctatcacactgcattgaaaatgtctg +tttcggtttctatctcctcacctagaatgtggtcttcttcagaataggaaccaagtccta +ttcatctctggatctccagcacctaactcagggctttgcccagggccagtccttaataaa +cactcactaagtagatgaatAAATGGCTGTGCTGGAAAGAGGTACCAAAATGTTAGGCTA +CGTCAGATGAGAATGGGACAAGATTCAATAGAGGTCAAtcaaggaagacttctcagagga +gaggatgtttgtgatggagtacaagatgtctgtgtgtcccatacacataggtgatgagga +aaagaacctacccagtggaggaaacaacaagcacaGGGAGAAGAGGTGTGCAAATAGGGA +ATTCTAAGGGGTAGGCTCAGAGAGTTCTGGCAGACAGGAAATGGCAAATAGTGGGAATAG +GAGAGAGAAAATCAGAAAGGAAGACGACTCTGAAGTTTGCAGCAGCCGTGACTGGAAGAC +TAATGATGTCATTATTAGACACAGGGATGTCAGGAAGAAGAGCTAGCTTTGCAAGCGTGA +TTAATAGTAGTGGAAGAGGCACAgtcagacatcaggaagaacttcctgaccctgaaggat +gtgagacaatgaagaagactgtggtttcctAGAAATCTTCCATAGAGGACAAGGTGAGAC +ATACCCAGCCCCTGGCCCACCCTGGAGCCTGGACTGTAGAAGCTGTTGGTTACCCTGCCC +AAAGAGAGACTAGGGTGACCTCACAGATACCAACTGCCTGGCTCTAGATGACAATTATCT +TCCATTGCCCTTCTTTGGGGAAACAGAGGGAATATCAGATCAAGATAGCCTCTCAAATAG +TTGTTGAAAAAGCACCTGGAAGCATCTCTCTGCCTTGGAAAGAAGACAGAAAGCCTGGTC +CTTCATCCATGTCATTCTCTTCCCTCTTCCTGCCCCAGGCAGGACCCATATCTGAGACTC +ACAGCACAAAAGGCCACTTTGGCAGAAGCCCAGACTATCCCATTTGCTCTGTGCATGGTG +ACATCAAGCTAGAGCCTCACAGAACTTCCCAGGGGTGGACATTCCCAGGTGCCCCTCTGT +CTCCTGCTTCACACAGGTGCTGCTGGCAAGCTGCTCAGCTTTCATCAAGATCCTATGAAA +CTTCAGCCCCTCTGGCATCAATCCATGTTCTCCTTGCTCTTGTCTTGGAGAAGATGGGCC +CTATAATTGCTGCTCTCCAGACAGATCACCCCTCAACTCCTTTACCCAGATCCTACAGGG +AAGCCCTGTATAGTGGAAAAGCACAAGTCCTGAGACCAGAACGTATGTGACACCTGACGT +AGCAGAGGCGGCCTACCCTCTCTAAGCCTCAGGACACCTGCTCACCTATCTCCCAGGATT +TCAATAGGTATCAAATAATAAAATCACTCTTACAAACTCTAAAACATTAATACATGTAAT +CCCTCATGAGAAGCCTTTCTTTTGGATTTACAAAATCCCCAGTGTCCAAATAGTAAACAA +TATAATCAAATCCAAATTACTGGGAGCAGGAGATATCCAATTTATGGATTTTCTAAAGAA +AATATTTAATTAACAACTGGCTTCCTCCTATATATTATGCTTTATGATCACATTCCTCCC +CCCACATCACCCACCTTCACTCCATTACTAAACAAAATCAATGGGAGGGAAAAACAAGTG +AGGAAGGGACTAATAATTCAATCCACCACCATGCTCTATGGATTTTGCTTCCTAAGAAAA +AAAAACAGATGTGCCTTTTATTCCACATCCACCAAATCACTGTTGGCTGACTCGCTAAAA +TTCATTCCCAGCCTCCTTGTCCTTATCTTGGCCTCCTTTGTAACTAGAGGCCACATGATT +CCATTTTGGCTAATGATATACACATGGAAGCATGATGAGGGTTTCTGGGAAAGATTTTGC +CTTTGTGACCAAAGGGGTAGGAATTGCTAGTGCCATCTTTCCTCCCCTTATTCTTGGCTT +GACTACAACCAGAGCTAGGGCCGCTATCTTGCCACCACAAAAGGCCTAGAGAACTGCAGA +GATGTCAGTTCTGGCATCATCGGGCCATGGAACCAACATTAACAGTTGCTTTACTCCAGG +TCTACATGTGATAAGGAATGCGCTCTTTATTTAAACCACTGTTGGCCAGATTTCCTGTAG +TATTTGCAGCAGAAAGCACTGCTAACGAATCCAACTGTTCCTGAGAAcaccatctcctgc +ctgcatgtctgcacgtcttctcctaactggtctccctgcttccgttcttaccccgctcca +atccaaatggtcatttgaaaatgcaaatctcatcatgtcacttctctgcttaaaactctt +cattggtttattgatgttcttaggataaaatgccttcgcttgtccaacaaggcctgcagg +gtctggcccttcctacttttccaacatcctctcacaacatgctccccttgctttctctgc +ggcagccaggacagtcttttgtcagtcccatgatccctcacatcacggggcctattcccc +ctgttgggaaagcttttcctacccacctctgccttgctaactcctacacacccttcagat +ctcagcccagttgttgcttcctcggggaagctttctctggcctccctgactaggtcagat +ccccctgctgtttgctctcaaggcaccatgtacctgtctcttatattgttaccattttaa +atttgtgtgactcctagattgtccatctctcccattagaatgtaagctccacataagtgc +aggaattttatccatcttatccactgaattctccccagtccctagaacaatgcttagcat +atggcaggcatttgttgagtgaatgtgagtctacaaagaacaagatgctttcgtttatga +tattttatgtgattcccacaactattccaaaggatagatattatccaccccccccccacc +accttccagtgtacagaagaagaaactgaggtttggagaggctaactgagctccccaagg +tcacaccgagagctgttgtcaaagccagaagtcaaatccagtgttggccgattccaaagc +cttagcttttcccctgtctgtgttgccAGCCCAGAGAAGTCAAACTTATTCAACGCCATT +CTGAAGTGGGCACAGTAATGGAAGTGAATATGTTTTTTTAAAGCAAACAAACAAATAAAA +AGACCTCATCCATACATATCTCCCAGAGCTAACCAGAGTGTGATTTAGCCTTTTCCCATG +TGTGGTGAGCACTGAGTTTATACCAAGCCCAAGGTCAGATTAGTATAGAATAAAGGATGC +TCCCTGAAGTCCTATGACAATTCTGGGTGCTGGTGTTATTTTCCCATTTTTATTGCACCA +AATCATCCATCCACTATCCCAGGACACAGAGAGCTGCCCGAATGGTGAAGCTGGGGGCCG +ACGGAAGCAGCCACTTTTGCAGTAGCCTATGGCTGGCTGGAAAATGGTGACTGAAGGAGT +CTGGGAGGGTGCCGTGTGTGACAAATTCTTCTCTGATGCAGCTCGAATCTATCTGGGAAT +GGAAGAAGTGGCACAGATGCCGTCACCAAGAAATTACCCAATTTAGCACCAACTACACAA +TCCAGCAATTAGTTTCTTAAACCGGAACTTGCTGGGGGCTGCCAGGCTGGCAGGGTTGTT +GTTACAAATCTCACTGGGAAACCAGCTGTGTAATTCGCCAGGAGGTTGTCACTGCCCCAA +GCAATTACCTTCCAGAAAAAGAAGGAAAATGGGAGAAGGAGTCAGAGTGTTTTCTCTCCC +TCTCCACCAGGGCCCTGCCCAGCCAAATCAGTTGGTTTTCCTTTCTTGAGACCTAGGCAA +GTCACAAACTCTCTTGATTAAAGCAGTTGTTGGTGTggactctgtcatcagactctgtgg +gctcaaatccctttccactcacttactggctgtgtgtacttgggtaggtgattcacctct +cttaacctgtctcctcatctgtaaaatggggataatattagggccataataaaggtatga +atgatgtaaggtttaacaaggtaaagcatataaatcccttagaactgtccctggcacatg +ataaagactcactaacggtagctatCTTTATCATtgtttcctccattggtttacagtgtg +atattgggtaggtcacttaatttctctggATGACCATCTAAGACGAAAGACACTCACCTG +GGGAAAAGATAAGGTGTTCTCACTCTAGATTGTCCACATCTGGGTACCCAGAGATCCAGG +TGTGTTTGACAAAGACCAGTATCTCAGCATTTGGCACAAAGTGATGCCTTGGGCCAAGAT +GAAGACTTCAAAAGTCAAATTTTAGCCAATTCACTCCTTCCCCAGGAAGTTGTCTGGGAG +AGCTACAAGCTGGACATGACGATCCAAACAGCAGCAAAATGTTAAGAGTTGTTCCCTTGT +GAAGGTCAGCCCTATCCAATCCCCTCACCTGGAGCCTATGAGATCATCCCCACACCAGTT +CCAACACAGCAGAACTTCCAGCAAGTGAGGCCTAGAATTCATTTTGCTGCTGTTGGCCTG +GCTCCTCCATGCCTGTGATAAGCCATGTGTGTCCCTGGGATCCCACAGTTTTAGGCTTTG +TCTACCCACTCCCTCTCCCTGTGTTAACCAACCAGTATAGACAGGATTGTGCCTCGGTTT +CTCTGTCCAGCCCTTCACACTGGGAGCCCTAACACAGAGCCTCTGACCTGCAGCTCATAC +CCCTGATTATTCAACTGTGCCCATGGATAGGCATCCCTCTGCCCGCTCCGGCCCAGCCCC +TTGTCTCTTCCTGCATCCATTTCTGACTGAGCCCCCCTGACTGATTTGACACTGGCTTTG +CCCAGATGCCTGTGGCAGGATCTCTGTAGTTGGGCTGGTGTCCTAGTCCCTGGCCTCCCT +CAACCCCACTAGCCAGCCCTGTTGCTGAAGACTTGGCATGCCTTGTATCCAACCCCACTC +CTTAGGACCCCAAGGGAAATCACCTCCTTTTCCCCTCACTGCCCCAGAAAATGGAGAAGG +AAGAAGGGGGAACAGAAAGGAAGGAGGAAGGCTTGCCGTTTTATTCATTCATCTTTATTA +CTTTATTTAATCAACTCTTCCTAGGGGCTTAGGGCAGAAATTTTACAGAAAATGGGTTTA +CAGCTCCAAAACACTCGAGCCATTTAGGCAGATACAAGTCTAAATCCATCTCCTGACCCA +CTGGACGGTGCTCGGCCTGTGAATAACCCACACTACCTATAATCTCTTTGAAAAtcccac +ctcagggggctttgcacttgatgttctctctgctggaacactctgccccagatattccca +tggcttcctctgcctcggaagagacagagaggcctacctgatcactcgctccaactaaag +ttgagctgcaaccctgggtatgttctatatcacctgcttcattgccctcagagcactgat +tgccctttgaaattattttctttgtctattgcgtgtttatagtatgtctccccatagtag +aatataagctccagaagggcagggactgtgtctgtttgtgtgctgcagcattttgagtgt +ctagaacaatgcctgccactaaacggtgttcaaaaaatacctattctgtgaatgaatGTT +TTCCCTTGCTGCCCTCACCCACTCTGCTCCTATGTACAACGGCCCACAGAAAGGACCTCC +ACTCCTTTCTCTTCAAAGGCTTTGGAGAGTCCTGGAGAATCTGGTATTAGAAATCCAGCC +TCTATACCCAGCCTTGTTCATGATGTTTGTCTAGCCGCTCTGCTTAGCAGGTAAAGATGG +TTCTTTTCCAGTTGCATCTAGGTCTCCCCCAGATATGTCCCTCTGCATAGCTCAGGGAAG +GTCGTGGAGGGAGAAGGGAGAATAAGAAGGAAAAAGGTGGCCCTCCCCATGCTGCAGAGA +GAAAGAATGAGGCACAACTTTCAGGGATGGGCTGCAGGAGCAGGGTTCGGGGTCTACCAC +CCAGCCCCACATAGGTCTCTTCACTCAGACTTGCTGGGCCCCAGCTCCCTTCCCAGCTAG +GGCCATGTACCCAACAGGCATTGGAGGAGGTTCCTCCTCCTTCTCCAGGGCTGCCATAGG +CCCTTTGAGACACAATTCAGCCTGATCAGCCTCACTCCTTCATGCCCCCTAATTGCAGGC +ATGGCCAACTGCTTCCAGCCTTTTCTCAGCTATCTCTTCCTTTTCTGTCAACTGAACCAA +TTCTTAGGCTGTGCTGCCTTATCATTTCCACTTTTCCCCTCTCCTGAAAGTCTCCAGGGG +CCTTCTTTGGAGAAGACTGCACACTGCTGAGAGAGAGGACTTCTAGGACCAGAACTCCTC +TAGGACCCGAACTCCTCTAGGACCCTCGTTaggggcagctggtgagcaactgtggcttct +gggtcttaagctaaactgttttgagtccatatcccaggtccaccacttactagacgtgtg +gcctcaaggaagcctgtttgcctctctcaagttcagtttccccattttcaaatgggagca +agagtagtccctttctcattgtgatgttacaaggactaagataatgcaggtaaagtatct +agcacagtgcTAAGGGTTAGCTATTGCTAACTAGGGAGAAACTACTTAAATGCATGAGAC +TTGGAGACAGGGAGAGGATCTCTAGACAGCTTTGGGCAAAGGCTGTAACTATCCATACAT +GACTTGGTTTGGATCGGAAATGGGTGGTCTGAAAACTCATCTTTTTCACGCATGCAGGAA +TTTCTGTTTGCCTGGGCTTCTTTTGAAGACCTCCCACACCCTAAGCGTACCAAAGACAGC +AGAGCAAAGACCTGGTAGCCAAAGATGGTGGCACCTGAGAGGACTAGAGGACCTTGATTT +GCAGACTCCCACAAACCCCTGTAGCCAGGGTTAGTGGTCTCTCTTGTAACTCCAGGGATC +TGGAAGGGAAAGCCAGCAACCTCATAGCTGGGTATTGGAAAGCCAATCATCCACCTCCAT +CCATTAtgtcacaacctacctttatgcccatgagcaatttgtgttatctgcctgagcctc +agttttctcatctgtaaaatgggatcacaatacctacctccttagcttgcggcaatgagt +aactaagctgacctatccaaagAAACTGCACATATGTCTCTATATGTTGGCTTCTTTTGA +CTTTAGCACCAAAGCACCTTCTTTCATTTGTATGTGATTTGGACTCGTGCTGCCCTAGCT +TCCAGGATGCTCTACACCTGAGCCTGCCAGGGCCATCAAAGAATAGCAGGTAGGAGCCCA +AGCCCATGGCAGGGGTCCACTGGGCAGGAGTTACTCAGCCTGGCCATACCAATGACCTTT +CTTACTCTCTGGCCCAGGCATCTGGTCCCCTCTTGGTGTCCAGAGCTTGGGACAGCCTCC +TGGATTAGCACACTGTCCCGTAAGCTCTCTGTGTGAGCTGAGACAGGGGCTTCTAGCAAC +AAGGCCTGAGCCCTCCTTCTGAGCCTTTCCCACAGGAGAGTCCAGCACAGGAAGCCAACC +ACGAAGGCTGGCTGGTTGGCTGACTGCCAGGTTCACGTCGTGGCACCTCCCACCCCTCAG +CTCTGCCTGAAACCCTGCCTGACCTTCAAGGATATCTATACCTCTGCTCTCTCTGGGTTT +CAGAGAAGACAGCCAGGAGCTAAGGGACACAGCATGAGAGCACATAGAAAAGGCAGCTCA +GACTGCAAAACCCCTGTCCTCCCAACCTTAAACCCTCTGCTGCTGCACGGGTGTACTCTC +TTCCAAGAGGCCTTCCCCTAAAATTGCCCTCCCATCAATCCCAGGACACCACAATTGCCA +GCTCCTCTTGGGTCTCATACCTCTATTCCCCACAGTAGGGTAAAGAGTTGTTTGtaagct +gtgagttccttgaaggccaggattcaggggatctatctctgtatgaacacacatggcata +cagtaggtgctcagtgagtTCAGGGTCAGCAACTGAGCCATCAAGGAGTGCCCCACAGCT +AAGGCATAGAGAAACAGGGAGAAACAGGGGAGAAAAGGAAGGCGATGACTCCCTGCAGCT +GGACCagaactccccagcagatagaaccgctacagcatgatgtggctttcctaaagaggt +gggagtgtcccgtccagggaggcatgcaagcagaggttgaggactgctttgcaggatggt +acagagtgcattcaagcactgaatacattgaatacatttcagaccagacaacctctggtg +cctttcaactctgaagtctaaggttAGGCTCCtgaatacctacaactgtccagacccagt +gttaagcgctttagatgtttttcttcatataatcctcacaactatcctttgcagtaggca +ctattattactcccattttacaggtgaggaaactgaagcttagaaatgtaaagaaaattt +cccaaggtcacatagatggtggaagaaggatttgaatctgagtctgggtccagGCCTGAC +CAAGGCCTAGGCTGAACAGAATACTTTTATTttttattttattttattttattttatttt +attttattttattttattttattttattttatttatttagagacagagactcgctctgtc +gccaggctggagtgcagtggcacgatctcagctcactgcaacctctgcctcccaggttca +agcaattcccctgcctcagcttcccgagtagctgagactataggcccgtgccgccacgtc +tggctaattcttttttgcatgttagaagagacagggtttcatcatgttggcctggatggt +ctcggtctccctgacctcgtgatctgcccgcctcagcttcccaaagtgttggacttacag +gcgtgagccaccgtgcctggccTCAGAGCACCTTTAAAGTAGCATGTCTCCCTGACCAAA +CTGGTCTGAGGAGGCCAATAGGTGGACCCCAGTGTGCCCTTTCTCATCACTCAGCCTCAG +GAAACCTTCCATCTCTGTCATCTCTTCCTCATACACAGCTATACACTGCCCCAAGACTGT +TCATTCACAAATTAACAGGTGTTCAGCCAGAGGCAAATTACACAGCCACGCAGTCATCCA +TACACAACTTACGCAGCACCTGACCTCATCTATATAGTCACTGTCACGCTGTATACCCAG +ACCCACACAAACTTGTTCCTATGAGGGTTCATACACCTCATGTGCATTTCCATCCGATAG +ATCCtttttccttttttttttttttttttcgagatagggttttgctctgtcacccaggcc +ggagtgcagtggcactgtcatggctcactgcagccttgacctcccaggctcaagcaatcc +tcctgcctcagcctcccaggtagctgggactacagggatgtaccaccgtgcctggctaat +ttcttatttttttgtagagacagtgtcactatgttgccccagctggtcttgaactcctgg +gctcaagtgatcctcctgcctcggcctcccaagtgctgggattataggcttgagccaccg +tgGCTATCCATCCAATAGACTTTGATGTTTGTGTGCATAGAAGCTGCACAGATACAAAAC +CTTAAATACATGTCCACATGTTTATCCCCATATGACAGAAATACATGTTCATTTCACAGC +ATTTAGGCACCCACATCTGCTCAAGGTCATTCATTAAATCCTCCCCAAACAAGAACTTTA +TCCATTGTTCCCAGATCCAGTACTAGGCCCAGGTGAGCCATGATGCTCCTTCTCTCTGGG +GTTGGCCAGGCAGTCCAGAGAGGGGAAGAAGGCTCAGCCTGCCTGTGATGGATGGAATTA +ATCTACTGAGCTGGAGAAACTAAATAATTAAATCCCTAATCACCCCCCAAGCCAGCCCAG +GCCAATATAGCTGAGGGAGGGAGGGGGCTCGGAGGCCCAGACCAATATCCTAGAGAAAAG +GAGGGGCTTGGGAAATGAGGCACAGGCAGAACCCTCAGAGGGGGGGTCTCTCAGAGGAAC +TCTGCcagccaggcatacagacagacagacagacaggcaTGGTTCTCTAGTGCCACAGGC +TCCCTTTCCATGTGGAAATGAAGCAGCTTGGGAAGACAGCCTGCCACCATCCACTGACAC +AGGGAGAGAGGAGAGGCAGAATCCTCCTTCCACCCTTCCGAAGTCCTTCCTGCCTCACCT +CGAGGTGTGCCCTGGGGGTCTATGGGGATGGCAAGCAGGACCCTTACAGTGCCCAGGGTG +GAGGCAGACAAGGGGGTCTGCTCAATGCGGAGCTGATGTGGTCTCAGCCAGGCCTTGGCC +CACCCCTGCCTCACTGAGAACAGACTCAGCCTGGTGCAGATGGCAGGGGAGGACCCCTCC +ACACAGGTTCACCTGCTACCCTTAGGAAGTGGGTCCAGCACGTGGCTAATAGGCTGAGGA +TGGGGCAGAGGCCCGGGCAGGGGGGCTCAGGAAATCAGCCGGGGAACAGGCCCCAGTCCG +ATTGGCTGAAAAGTGGGTCATTTTCCTTTTGAAAAATAGTGAGAAAATGGAGAAGTAGGT +CGGGCTCTTATCCCCTCAGCCCCAGGCACCATCCCCGACTTGAGGGGTAAGGAGAGAGGG +AGACGCCTGAGCATGCCAAAGCCCCATATACCCTAGGACCCTGGCCAGGGCCCCACAGTG +CAGGAAGCCAAGGTCATCATTACTCAGGACATCCAAGGACATGCACACTCCGAGGCCAGA +GCTGGAACACCAGCCCCACCCTGCCCCAGGGGATCTGGGGTGAAAGGAGCTAGGGCCGGG +GCCAAGCTAGAGGGGTGGGGGCTTCCACCCGCAGGACCCTGAAGAGCCCCTCCCATCCTC +GTGTCTGCTGTGATGCctcctctcctctcttctcctccctttcctcATCGTCCACGTGGG +CAGAGTCGTTGCCATGACACCGCGGGCAGGTGGGCGGCTCTGGCGGCTGTTTCGGCCCAA +CCCCCATGCTCACAGCCCAGGTGGGAGGGGAGCGGCTGCAGCACCCTGGCCCCTAGCCCA +GATGAGAGAGGAGAGAGGCAAGAGGCCCCCCTTCACCCCTAGAGCCTGGAAGGGGCTCTA +TCACTGGCCTCTCGACCCAGCCCCATGCTTGCAGGTCCGGGGGAGGAAGTGTCAAAGAGG +ATCTTAGGCCTTGACCACTCCCCTCCACCAGAGGTCCCTGGAGTGGCATGGGGTGGGGCA +GACCCCCAACTCCCACTTCCTCCTTTTCTTAGCAGCTGTCCTCCCAGCTTTCCCCACATA +CTATGCCTTAGTCTCTTAATGCTAGCAGCTGATTGGtcctgcctgaggtttaacctcagt +tgctcattttgcaacacaagctcaattctccatgctctcttgggagaaaggaaaacaacC +Aggccgggtgcagtgactcatacctgtaatcccagcactttgggaggccgaggtgggcgg +atcacttgaggtcaggagttcgagaccagcctggccaacatggtgaaatccccatatcta +ctaaaaatacaaaaattagtcgggcgtggtggcaagtgcctgtaatcccagctactcagg +aggctgagacaggggaatcgcttgaaagcaggaggcagaggttgcagtaagctgagatca +tgccactgcactccaacctgggtgacagagtgagaccccatctcaaaagaaaagaaaaga +aaagaaCAAAAGTTGAGACACTCAGAGAAATTACTCCCCTACTGCCAGACCAAAAAATGT +GTTATACAAATGGGGACCCCTTCCTCCAGGTCTCCCCATATACCTGAATTCACATCACAA +CCCTGGGGACAAATCATTCCTAAGTCCATACTTGGCTAAGGCATCCACACCACCAGGGTA +GAGGACCAGAAGTGGAGCAGGAGAAGAAGGGAAGAGGTTGGGGCCAGGCATTAGAAGCTG +CCTAAGTATGCTGTCCCACCCCCACCACATCTGGCTTCAGGAAGTCTGGGCCATGCCTGA +GCTCTCCATCTCTGAGCTCTCCGCAGCCATTCCCCTTCTCTCTACTCCTCTCACAGTCCA +CGTGCCTCTCTCCAAGTGTCTCTAAGTCTCTGTCTGTGGCTCTGACCTCCTAAGACCGTT +CCCTTTGTTCAAGACCTGGCTCCCAACTCCTGTTCCCTATGGCAGGAGCCCTGCATCACT +GACAGGGTGGAACCACAGAGACCCCGCATGGCAGCCCTCTGCAGCCTGGCTGGCAGGAAT +GAACATACATGGGATATTGGTGACAAGATCCAAAAGGAAGGGAGAACTGCAGTTGGCATT +AGCTGGAGGGTGTCCAGCCTGTCATGAGGTGTTCATGACATACATACCACACATACACAT +AAAGACACTTTTACTTTCCTCCTTAGCCTTCCCCTACTAAAACAGCAGATGTGATTAAAG +TACAAGCACATGCATGTACATTTGTGCATGCATGTGTTTGTACATTGTGTCTCTttttct +ccactcccactgctggtgttctacatcaggccactcttatcctaattgctcaccaaagct +atgacaacaggttcctaactggtctccctgccttgcatcttgttcaccttgatcctttct +cctcactggctgccggCTAGCTAAAatttctttattcaacaaatatgtatcgactgccta +ctccaagctgaatactcttctggacactgtagatacagcaatgaacaaaacagatgaagc +tcccatgctcatgaagtttatattctagtggaaaaagagggatgattaccaaatatataa +aataatggtggtggcaagtactgagataaataataatagtaataataatggagtgaggag +atagaatgacaatgggctattcaagatagactgttggggaggtctttccaaaaatgtgac +ttgagcaaagactcggatacagtgaggaagtgagttgcctagagagcatttcaggctgag +gggaaaagcaagcgcaattgcctccacaaggaactgtgctttttatgaaacagaaaagaa +acccacgtaggagtggcccctgagatccaggaggtaatagggggctttgcacacgtagca +ctcacgttgctcaggacgcactacactttggatttcactctgagtgagatggaaagccac +tggaaaggcaagacctcattttcctctggctgctttttgggaaagagtctacggaggtgg +ggctggcaagggtggaagtgggaagaccaTCTGGAACAtttcctgtcactgaaatacctg +ttcccacagttgctcacctggtaagcacctgttcaacttttaaacctcaactcaaaagcc +tccccttctatggatcctttaccaaacctttcccttcctcactccagagccaacctacct +ctctttaggtccccactccctccaatgaacacttatgtgtgtctaccctccttaacactc +tccttatttggttccaggtcctttgctctcccaagattgcaagttatctgaggtcaagga +ccatccctagtgcccagcacagcatgtggcagattagaggcataaaatacatgctggttg +aatgaatggatGCATTGGGTGAGGCACTTGCGATGGGGAAGGGTATGTTTGCAGGCTATT +GTTAACCCAGATGAGTGAGATGCACATATATATGGCCATAGGTTGTAATCAGACAAGTGT +TAGCATATGCCCACATATTTCTGTAAATTCTGTTCACAAGTATACGTGTTAGCATGTATG +TGCATGCTGACAAATCCCCGTGTTGGTATAGACACTCCTGTAGATTTGTTAATGGATGTG +CATGTTAGAAAGTGCACCTATGTTGATATATGCCTATTATGGCACAGACAAGTAATATGC +ACATGTACCTGTACACGTGTATTGTCACATCTTGTATGTATGAGGCTTATGCATGCACTT +GGGCCCCCCTCTTACTCACTACCCCTTTCATCCACTAGGACCAACTTGTTGAATTTTGAA +ACTTCTGTAGCAATGCCAATGTTTAAGCCCTGATCCTCTTTCCCCACATACAGCCCTGAG +CACCATAGCATCTGAACAGCCTGGAGCCTGGATTTCTTACTTGGCTATCCCCAAGGCCTT +ATAGGTTTTCCCTCCACAAACTTCTTTCATATGATGGAGAACAGTTGGCTCCCAAGGACA +TAAGAATTTGAGAGACCTCAGGGAGCCTACTTTCTGGAGAAGAGCTACAAGTAGCAGGGT +GATCAAGCTCAAGCTGTTGGGAAGACACTTTTGGGTAGCCCAATGTTCAGTCAGAATCGG +TCTCTCTCTTTCTTACATTTATTCACAGGTTTGCCTCAACTTGTGTACATATATTCATAT +GTGGTTGATACGGTACGTATATGCATGCCCCACATACATGCTCACATGCATGCTTACACT +CACACAAAGGCATTACTGGATAAGcacaccacacacacacacacagacatgcacacaTTG +GTTTAATTCAGTAATTTCCTTCACATTCacatatatacatgaatgcatacatagagtcat +atatatatacacacatccacacttatacaaatagatgtgcttatacacatatacacagca +tactcacatatacttatgtacatatacacagtcatatactcactcacaggcagaaatacg +catgcatgtgtacTGGAGTCCCAGATCTTGCAGAGATATCCAGCCCCTCCCCTGGCTTCT +ATCCTTCATATTCTCTCCAAGTACATCACAAGTTTGCATTTGCTCTCTCCTCTTGCTAGT +CTCCCACTTCTCTATTTGGAAAGTTGTTCCTGTTATCAATGAGATATACCCACTCCTGGA +CACATCCCATTCCCACCCACTCTCAGTGGGAAAAAATCGTCATTTTTTTTTTTAAAAGGG +CCCTGTCATGTCCTCATCCCATGCCTAGAGAAACGAGTATTTCCTCAGACAACCTGGGTA +GGAGTAACAATAAAGTAGGTGTACCTCTTCAAACCCAGGAGACAATCCCCCCGTATATGC +AACCCCTTAACTCTAAAAAAGAAAGAACGAAAGAAAAGAAAGAGAAAATATCAAGGCCAA +AATCCTTCCTCCCAGCACCTCTGGGTAAAGGTCTAACACTCTCAAACTCCAAAAGTTACT +GGGGCAGAGGAAGAAATAGTAAGGAAATTAACTGTGGGTGCTAAAACCTCCTAGAAAACA +CCCCTTTTCTTCCCTAGAGGGGAGCTTCATGATCAGTGAATCCCTCCCTTCCCAGCCTGT +GGGCCCTACAAGGGAGAGGGTAGACCAGGAGGCTTAAAAATGTAAAGGTGGTGACCTGGG +CTCAAATAACAAAAGAAGCAAGTATTTTGAAAGCAGAAGCTGGGAAGGGAGCAGGGAGGC +AAGCTGCAGACACCTCCTGGCAAGGAAGCAGCTGCTGGAACAGTGGATCAGGAAGAGCAG +GACTCTCTAAGGGGCCAGGGAAAAGGGGGTGGACATCTAGCATTTCATGTGGGGGTGGAG +GGGTGACTGCTTCAGGCAGTAGCAGCAGATCCAAAGTAAAGTCTTATCAAAGCTGTTATG +TAACCAAGGGAGCTGAGTGGAGCACAAACACCTCCCCTCCCCAAACAGGCACCCACACCC +ACACCCACCACCTCCCAGCACCCACAGCAGAGGAAAACTCAGCTCCTCCCAAGCAGCTAG +AGAAGGCAGGAATCATCTTGATGAGTTACATCAAAAACATGATGGGTGAGGGGCTCCTTA +TGAACTACAAGTCACATGTGGGAAGGGATCAACTGGTTCAGTTTGAGATCCCTAGATACC +TCTCCCTTTTCTTGAACTCCCTGCCACACCCAATTTTTGCCCAGTATTATCTGGAAACTG +TCTCCTTCCTCCCCTCACAGGGAGGATCCCATTTGAATATTTGATTGTGCTCTTGGGGAT +GGGAAGTGAAGCCACCATCATCCCTTCCTGCCTGTTGTTCCCCTACAGACTCATCTGCAT +GTCCTGACATTTGGCTCTCATCCCCCTGGGATGACAAGGGAAGGGACCTTAAGAAACTCC +TTGCTCTATTCCCTTCATGGTTACAAAGACAGTGCATAAGAATACAGATACTTGAAATGA +CCCTGACTCTAAGCCATAAGGAGAAAGATATCCAAGAGAACTAAAGACTGAAACCCAGAC +CTCATCCCTCCATTTGAATATTTTTTACTCCCCCAGATCTTCCTCTTTTCCCACTGCCCT +GTCTCCAGTAGCCTCCCCCTTCTCTTCTCCATGGCACTGAACAACCCCACCCACTCCTTG +AATCCTTTGCTTAAAAATCTTCCTCCCCAACAAAAGTCTCTCCCAAATGCTGCTCTGAGC +TAGGTTTGGCAGTGGGCAGAACACAGGACAGGCTTGCAGAATATTTCAGTGTCCCTGTCC +CAAATCCCAAAGTATGATGGGCAAGGGAATATCAAGTTGTCAGTCAAGTTATCCTGAACT +CCTGAGCTGTAACCACCCCACACCTAACCAGGAAGACCGGCGTTCTCTTAATCCAGAACC +ACCTTGAGCCTGAAATTCTGGGACCCAGTAGGTGAAAGGCTGGTATCAATATCTCTGAGC +TTGTTGCGCTAAAAAAAAGTTCCCAGGAGATGAGATCTCACAGGCACAATATCATTCTCC +AACTCTACCCCGATAATAACAGTACAATGGTTTTGGAAGGGAGAGAGGGAACTGAAACAG +CAAAAGGGGAGAGGGGCCCCTTGGGGGAAGGGTTCCTAAATACCACTAACAACTGTGAAA +CCTAAACCATAGGGAGAACTCCAAATCCATATTTCCATCCATGCCCTTGGAAAGTGGGTC +ATCTGGGAGAATTTTTCTAGTGAGCCCTCCCCACTGCCCTCCGCCTTTCCACCATCGGGA +CCGAACGAAGCCTCATTCAGCACTCGGGACAGCTCCGAAGGAGCAAATCCCCGCCGAATC +CCACTCAGCACCCGGGACAGTTCCCAGCGACATTGCCGGCCCCGGTAGCCAGAAACCCAG +GATGCCAGGAAGGAACAGGTTTACCCCACCACACACCCCCTTTAGAACAGAAGCCCCTCT +CCCCTGCCCCTCCCACTGTCGCTCCCATCCACCGGGGGCACCTGACAACCCCCCCCCCAC +CTTCCCTCTATGTCCCAAGAGAGAAAAGAAACCCAGACATGGGGCTTCCCTGAGGGAACC +TTGAGAGAGGACCCCACCCACCTTCCTTCAGCCCAGAGCCTCTCAATGCCACTCACAGCT +GGTTCTAAAAACCACTTTCCTTCTTAACCACCACCCCAAAAATAAAAGAAATACTCACGT +GGGGGCTCCCAGCCCTGCAGACAGATGTGGTGGGGGGAGGCAGAGAGAGGTAGCTCCCCA +CACCCTGTTCTGAGCCCCCTTTCTGAAGGAGCCAGCTCCCATCTGGACTGGGGGGAGGAG +AGACATGTGGAAGCACTGAGTGAGGGGAGGGGAGAGGGGAGAGGGGAAGAAGCAGGAGCG +AGGGACTGCGGGGCGGGGGTGTCGAGATGGGGGCGAGGGAATCCTTTTTAATTTCATTCT +CTCCCCATGTCTACATCAGCCCTGCAGGCTCAGCTCTTTAATATTTACACACAGGAAGAG +GAGAGGATGAGAAAGAACAGACAGTGAGGGGGGCAGGGGCTACCTGAGCTCAAAGGGCAT +AGAAGCAGGGGCCTTTGGGAGCTGGGAGCTTGGGCCCCCGACACCATCCCCAGCCCACTT +CCACTCTGAGCTCTTAACTGGAAGGAAGAAGAAGGAACCCTGGGACCATTCTGTCCCTTT +GTTAACAAGACACTTTGAAGCTGCATCAGAAAAAGATCAGATCCCCACCCACATACCTGG +ACACCCCCACAAACCCAGATTTCTTGGGTGCCTTATGTGCAGATGGTAGAGACAGTATTC +AGGCACAAGCATGTTCTGATGCTTGGAAGCATGTTTGCCTGTGGGCTGCTGTGTAAAAAC +ACATGAACATGTCAGCTAGCCTGTATAAGTTTATACAAGCATGTTCTGAGTGTTTTCACA +TGTTAACAGCCCACGCAATCATATGCAAGCCTATGTAACCATATGTGTAAACCAGCTTCC +AAGCAGCCTCCCCGCAGCTCTCCAGCTACAGCCCCAGGGACAAGGCCACCCACTTCTCCA +GACTCCCTTATTCCCAGACCCCTCCATCAAAGCCTTACTTTTTCTGTCTGTGACATGGGA +AGAAGGGCTGGTAGGAAGAGATGCTGCATGGAGCCCAGGGGCCTGACAAGTTATTAGCAA +TGATGAGCTGGCACCTCGTTACCATAACGATGGTGCCACTGCCTCACCCCAGCTCAAACC +CAGACTCCCCAGACGGCAGGAGGCCCGCTGAGCCAGCAGCCTTCAGACTGGGGAGGGGCA +GGGTGGATAAAGAGGAAATCAAGACATAATGCttgcatagtggagggtacgcagctgttc +ttccaacccccactgagtgacaaagctttgactctaccaagtgggaatgaaatcagaatc +tgggaaggtttcctgaccgtggggatggtaagaccagaaggggtCTTTGGAAGCTCCTCT +AGGCAAAAGTTTTTGTCATCATTTGCTCCCTTCATCACCTCACCCCCAAAAAACTAAAAA +ACAACCAAATACGGGGCCccttgctgaatttcagtctccccacctgtaaaatgggggtaa +tCCCTTTATCATTTGTCCTAGACTCCTGGAAGATTTCATTAGAAAGGGTTTGGGGGTAAC +TACAGACCCTTCCTAAATCAGACAAGCCCCAGAAGTTTCTCTATTCATTAGGAACCCAAT +AAGGTAAGGAATGGTCTATCCAGCTAGAGGCAAAATGCACTGGAAACTGGGGAGGATGAA +GGAAAACAAGCTTAGCCAGCTCGAGCCCCAACATCAGCTGGAAGAGATGATGTTAGGTGT +CAGGCAGCCGCTGAAAGCAGGTACTAACATGAGAAAGTCTGGGAGTCTGGCCTGTAGCAG +CTCCAGCCCCTCACCAGCAGGAATCAAGACAAGACAAGCCCATGGCCTACCTCGGTGGTG +GGTGTGGCTAGGAATCCCTATCCCCAGCGACATCTGTAGCGCCCTCTCTTTGGCAAGGAG +TCCCAAGCTGAAAGATGTACAGCCTTAGGCTTTTTGAGTCTTCATTTCTTTTCCAAAAAT +CCCCTGTACTCAGCTCTGATGGGGGTGGGGAGAGTTCAGGAATAGAAGGCAACATGGAGG +ATTGCAAAGTTCCTCGTCTAAGATTAGCCTAGGAACTcacaaattcgttgtgtgaccttg +ggcaagtcccctcccttcttggggcttcagagtccccggtttgtaatgaagaggttggac +caagtcaatactaaggttcctctcCTGGCCATCATTCTACAGCTACATACAAGCTCACTC +GTTGGATGTGAGCCCCCTGGCACAAAACTCAGCGGGCCCTGCCTGCCAGATCAGTGGGGC +AGTGGCGGGTGGGAGATGCGGGGGCTGTATGTGAGGCCGTTCATCCTATGTTCATGTTCC +TTTTAGAAACACCTGCCACCCTAGCCCTCCCAGCTCCCTTTTTAGACCCTGATTCACTGC +CAACTCACGAAGcctctccctcccctccctcctctcttctccccccaccccccACTCTTT +TAGGCATTGGCAGCTGGGTGCAGAAGTAGCCCCAGCATTCAGGGAATGCTGCGCAGTGGT +AGAGGGCAGTGCCCCCAGGGTCAGAGAGAGCACACCAGGAAGTACCACTCTCTAACCTTG +GCCCAGCCCAGTTctttgggtcactgaaagacctgggctgaggtctttctgtaccactaa +ctagcagtgtgtggttgtggaaaatgcaattcatttctcaagcctcaacatcttcatctg +taaatcggcattatatttggttgaaccatatgaaattgctgtttttgtaggttaaataaa +aacagttgaatattgcagttgcatatggcttaacgtgatacctgtcctgcctgcttccca +aggctgttggggaaataagaagagTTCAGAGGGCAGCATTTTCAAAAGCCCTGAACTAAT +ATGAGGGCATTATTTTATTATTATTACTTCAAAGAGCTTAGTACAGACCCACCCGGAGCC +AGTGGACTGAACCAATAACCCAGAACTTGAAGGTTTGGGACTTGGAAGTCTGGGAGAGCG +CCACCTGCTCTGATGACTAACAGGGCAGACGCTTCCACCTGGCCTCCTCATCTCCTAGCT +CTAAAAGGCCCTTGGTGAAACATTATTGAGATGACACAAGTTCCCAGGCCCCCAAAAGGA +GAAGCAGCACACGCAGGCACATACTCCAGCTCGCCCCAGATCCCCCCTCCCACCCACCAG +GGGCCTTAGCATGCAGGAAGGACACGACCAGCAACATCCCAGAGGGCACCCCCTGAGGTA +GGTGAAGGTAGAGACCAAGCTGGGGAGTGCCACAAAGCTCTTGCCTGAATCAAGGGTCAG +GGGTCCCCAGAGAAGTGGGGAATGATCTGACCTCGGAAAAGTCTCATCTCCCTGTCCCAT +ATCCCACCAGGAATGGGGGGACAGTGGGGGGGACAGAGCCCAGGTGTGGGTGATTCAGAG +TGAACCGCGCTCAGATACACTCTCTCTCACACAGCCAacgcacgcgcgcgcacacgcaca +cacacacacacacagtcacacaGGGCAGATACCGGGACCCACTCACAGAGACAGTCACGC +CGGcacacacatccattcacacactcacagacacacacaggcacacatggggacaacaca +cactcattcactcacatgtccacagatgcatacacagtaccaccctccacactcacgctg +catacacccactaacatgcacacacactctcgcccacagtgacacacgcacacactcacg +gcatacactcaccggcacacacaatcgcccacagacccacacagtgacacactcggcaca +gacacacagcgacacgcactcacattcacacacCTGCAGAGGAAACTTCTCTCCGGATCT +CCCCAGCACCACGACTTCCCCCACAACCAGCTGGCTACTCCCTCCCAGACCCGAGCCTCC +AGCCGGGCGAGGGCTGGGCCGGGGCTGGCCTGTCCCCGCGGCCCTGACCGGGAGCGTGGG +TCCGCGGTCCGCGTGGTCCCCTGCCCGCCCCTCGGGTCGGGCCCGCGGGCAGCCAGGCCG +GGGCAGGAGCGGGGGCAGCTGAGGAGGCCCAGCCCCTCCCCCCTcccggggccgggagcc +gagcgccggagcccggggcgtgggcggcgccggggccgcagccgggccgTGCCTGGGGGG +CGCTGCAGAGGGAGCCGCGAGCGCGGCCCCGTCCCCACTCCTCCCCGCGGCTTACCTGGC +CCGGCTCGGGCTCCGGCCGGGTTACATGGTgccggcggcccgggccgggggcgcTGCGGC +GTTGGGCAGGCGGGCAGGGACCGGGGCCCGGCACTGCGGAGCCCCCAGCTGAGGGGCCGC +GCCGGCTGCGGAGCCCCAAGCGAGCGCCGAGCGGCAGCGGGCGCGGGAGCGGGAGGCGGC +CAAGCCACGGAGGCT diff --git a/packages/core/BaseFeatureWidget/test_data/DLGAP3_pep.fa b/packages/core/BaseFeatureWidget/test_data/DLGAP3_pep.fa new file mode 100644 index 0000000000..1b6d499a46 --- /dev/null +++ b/packages/core/BaseFeatureWidget/test_data/DLGAP3_pep.fa @@ -0,0 +1,18 @@ +>sp|O95886|DLGP3_HUMAN Disks large-associated protein 3 OS=Homo sapiens OX=9606 GN=DLGAP3 PE=1 SV=3 +MRGYHGDRGSHPRPARFADQQHMDVGPAARAPYLLGSREAFSTEPRFCAPRAGLGHISPE +GPLSLSEGPSVGPEGGPAGAGVGGGSSTFPRMYPGQGPFDTCEDCVGHPQGKGAPRLPPT +LLDQFEKQLPVQQDGFHTLPYQRGPAGAGPGPAPGTGTAPEPRSESPSRIRHLVHSVQKL +FAKSHSLEAPGKRDYNGPKAEGRGGSGGDSYPGPGSGGPHTSHHHHHHHHHHHHQSRHGK +RSKSKDRKGDGRHQAKSTGWWSSDDNLDSDSGFLAGGRPPGEPGGPFCLEGPDGSYRDLS +FKGRSGGSEGRCLACTGMSMSLDGQSVKRSAWHTMMVSQGRDGYPGAGPGKGLLGPETKA +KARTYHYLQVPQDDWGGYPTGGKDGEIPCRRMRSGSYIKAMGDEESGDSDGSPKTSPKAV +ARRFTTRRSSSVDQARINCCVPPRIHPRSSIPGYSRSLTTGQLSDELNQQLEAVCGSVFG +ELESQAVDALDLPGCFRMRSHSYLRAIQAGCSQDDDCLPLLATPAAVSGRPGSSFNFRKA +PPPIPPGSQAPPRISITAQSSTDSAHESFTAAEGPARRCSSADGLDGPAMGARTLELAPV +PPRASPKPPTLIIKTIPGREELRSLARQRKWRPSIGVQVETISDSDTENRSRREFHSIGV +QVEEDKRRARFKRSNSVTAGVQADLELEGLAGLATVATEDKALQFGRSFQRHASEPQPGP +RAPTYSVFRTVHTQGQWAYREGYPLPYEPPATDGSPGPAPAPTPGPGAGRRDSWIERGSR +SLPDSGRASPCPRDGEWFIKMLRAEVEKLEHWCQQMEREAEDYELPEEILEKIRSAVGST +QLLLSQKVQQFFRLCQQSMDPTAFPVPTFQDLAGFWDLLQLSIEDVTLKFLELQQLKANS +WKLLEPKEEKKVPPPIPKKPLRGRGVPVKERSLDSVDRQRQEARKRLLAAKRAASFRHSS +ATESADSIEIYIPEAQTRL diff --git a/packages/core/BaseFeatureWidget/test_data/NCDN.json b/packages/core/BaseFeatureWidget/test_data/NCDN.json new file mode 100644 index 0000000000..749104270f --- /dev/null +++ b/packages/core/BaseFeatureWidget/test_data/NCDN.json @@ -0,0 +1,1116 @@ +{ + "source": "BestRefSeq", + "type": "gene", + "start": 36023399, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "gene634", + "dbxref": ["GeneID:23154", "HGNC:HGNC:17597", "MIM:608458"], + "name": "NCDN", + "description": "neurochondrin", + "gbkey": "Gene", + "gene": "NCDN", + "gene_biotype": "protein_coding", + "subfeatures": [ + { + "source": "BestRefSeq", + "type": "mRNA", + "start": 36023399, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "mRNA1331", + "parent": "gene634", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NM_014284.3", + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "subfeatures": [ + { + "source": "BestRefSeq", + "type": "exon", + "start": 36023399, + "end": 36023824, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-0", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36023791, + "end": 36023824, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-1", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36024707, + "end": 36024848, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-2", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36025926, + "end": 36026895, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-3", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36027992, + "end": 36028234, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-4", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36028802, + "end": 36029027, + "strand": 1, + "phase": 1, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-5", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36029367, + "end": 36029510, + "strand": 1, + "phase": 1, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-6", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36030827, + "end": 36031264, + "strand": 1, + "phase": 2, + "refName": "NC_000001.10", + "id": "CDS1286", + "parent": "mRNA1331", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_055099.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_055099.1", + "note": "isoform 1 is encoded by transcript variant 3", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_055099.1", + "tag": "RefSeq Select", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-7", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36024707, + "end": 36024848, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-8", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36025926, + "end": 36026895, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-9", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36027992, + "end": 36028234, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-10", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36028802, + "end": 36029027, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-11", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36029367, + "end": 36029510, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-12", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36030827, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1331", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_014284.3", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 3", + "tag": "RefSeq Select", + "transcript_id": "NM_014284.3", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0-13", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0" + } + ], + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-0", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638" + }, + { + "source": "BestRefSeq", + "type": "mRNA", + "start": 36023399, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "mRNA1333", + "parent": "gene634", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NM_001014841.2", + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "subfeatures": [ + { + "source": "BestRefSeq", + "type": "exon", + "start": 36023399, + "end": 36023484, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-0", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36024707, + "end": 36024848, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-1", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36024725, + "end": 36024848, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1288", + "parent": "mRNA1333", + "dbxref": [ + "CCDS:CCDS30672.1", + "GeneID:23154", + "Genbank:NP_001014841.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014841.1", + "note": "isoform 2 is encoded by transcript variant 2", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 2", + "protein_id": "NP_001014841.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-2", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36025926, + "end": 36026895, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1288", + "parent": "mRNA1333", + "dbxref": [ + "CCDS:CCDS30672.1", + "GeneID:23154", + "Genbank:NP_001014841.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014841.1", + "note": "isoform 2 is encoded by transcript variant 2", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 2", + "protein_id": "NP_001014841.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-3", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36027992, + "end": 36028234, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1288", + "parent": "mRNA1333", + "dbxref": [ + "CCDS:CCDS30672.1", + "GeneID:23154", + "Genbank:NP_001014841.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014841.1", + "note": "isoform 2 is encoded by transcript variant 2", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 2", + "protein_id": "NP_001014841.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-4", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36028802, + "end": 36029027, + "strand": 1, + "phase": 1, + "refName": "NC_000001.10", + "id": "CDS1288", + "parent": "mRNA1333", + "dbxref": [ + "CCDS:CCDS30672.1", + "GeneID:23154", + "Genbank:NP_001014841.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014841.1", + "note": "isoform 2 is encoded by transcript variant 2", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 2", + "protein_id": "NP_001014841.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-5", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36029367, + "end": 36029510, + "strand": 1, + "phase": 1, + "refName": "NC_000001.10", + "id": "CDS1288", + "parent": "mRNA1333", + "dbxref": [ + "CCDS:CCDS30672.1", + "GeneID:23154", + "Genbank:NP_001014841.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014841.1", + "note": "isoform 2 is encoded by transcript variant 2", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 2", + "protein_id": "NP_001014841.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-6", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36030827, + "end": 36031264, + "strand": 1, + "phase": 2, + "refName": "NC_000001.10", + "id": "CDS1288", + "parent": "mRNA1333", + "dbxref": [ + "CCDS:CCDS30672.1", + "GeneID:23154", + "Genbank:NP_001014841.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014841.1", + "note": "isoform 2 is encoded by transcript variant 2", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 2", + "protein_id": "NP_001014841.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-7", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36025926, + "end": 36026895, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-8", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36027992, + "end": 36028234, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-9", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36028802, + "end": 36029027, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-10", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36029367, + "end": 36029510, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-11", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36030827, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1333", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014841.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 2", + "transcript_id": "NM_001014841.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1-12", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1" + } + ], + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-1", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638" + }, + { + "source": "BestRefSeq", + "type": "mRNA", + "start": 36023399, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "mRNA1332", + "parent": "gene634", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NM_001014839.2", + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "subfeatures": [ + { + "source": "BestRefSeq", + "type": "exon", + "start": 36023399, + "end": 36023484, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-0", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36023756, + "end": 36023824, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-1", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36023791, + "end": 36023824, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-2", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36024707, + "end": 36024848, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-3", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36025926, + "end": 36026895, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-4", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36027992, + "end": 36028234, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-5", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36028802, + "end": 36029027, + "strand": 1, + "phase": 1, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-6", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36029367, + "end": 36029510, + "strand": 1, + "phase": 1, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-7", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "CDS", + "start": 36030827, + "end": 36031264, + "strand": 1, + "phase": 2, + "refName": "NC_000001.10", + "id": "CDS1287", + "parent": "mRNA1332", + "dbxref": [ + "CCDS:CCDS392.1", + "GeneID:23154", + "Genbank:NP_001014839.1", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "name": "NP_001014839.1", + "note": "isoform 1 is encoded by transcript variant 1", + "gbkey": "CDS", + "gene": "NCDN", + "product": "neurochondrin isoform 1", + "protein_id": "NP_001014839.1", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-8", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36024707, + "end": 36024848, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-9", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36025926, + "end": 36026895, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-10", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36027992, + "end": 36028234, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-11", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36028802, + "end": 36029027, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-12", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36029367, + "end": 36029510, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-13", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + }, + { + "source": "BestRefSeq", + "type": "exon", + "start": 36030827, + "end": 36032380, + "strand": 1, + "phase": 0, + "refName": "NC_000001.10", + "parent": "mRNA1332", + "dbxref": [ + "GeneID:23154", + "Genbank:NM_001014839.2", + "HGNC:HGNC:17597", + "MIM:608458" + ], + "gbkey": "mRNA", + "gene": "NCDN", + "product": "neurochondrin, transcript variant 1", + "transcript_id": "NM_001014839.2", + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2-14", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2" + } + ], + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638-2", + "parentId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638" + } + ], + "uniqueId": "type-Gff3TabixAdapter;type-Gff3TabixAdapter;uri-https://s3.amazonaws.com/jbrowse.org/genomes/hg19/nc-offset-164287638" +} diff --git a/packages/core/BaseFeatureWidget/test_data/NCDN_dna.fa b/packages/core/BaseFeatureWidget/test_data/NCDN_dna.fa new file mode 100644 index 0000000000..efdff98b7a --- /dev/null +++ b/packages/core/BaseFeatureWidget/test_data/NCDN_dna.fa @@ -0,0 +1,151 @@ +>1:36,023,400-36,032,380 +AGTGGGCAACGCGGCGTGAGCAGCGGCCCGAGGCTCCCGGAGCATCGCGCTGGGAGAAGA +CTTCGCCGCTCGGGGCCGCAGCCTGGTGAGCTCAGCCCCCTTCGGGCCCTCCCCTGCATC +CCAGCCGGGGCCTCTCCGAGCCGGCGCTGATCGATGCCGACACACCCCGGGGACCCTATC +GCGACTCCATCGCGCCATATCGCGACACCATCGTGCCCTGTCGAGACTCCATTTTGTCAC +AGCCCTTTTCAATATATATCTTTTTTTTTTTTAATTTGCCCTGTCATCTTTGGGGGCTGT +CTCCCATGTCGTGATTTTGACGTGATCTCTCCGTGACATCACCGCGCCATCGTGAAGTGT +GATCTCATCGCCGCCCTGTCGTGACTTCATCAATGTCGTGTTGTGACCTGGCTGCGGCGG +GACAGGTGGTGACCGCCAGGAACCCTCCTCCCCTTCTCATCTCCCCATCTCAGCAGCCCT +GCTTCGATTATCCGGCTTTTGGATTCTCCGTTGTCCTGGGAACTATCCGGGACCCCCTCT +TGCTTCTCCAGCCCCTGCCGGCATCCACAGGCTGGTAGCGGGACGGGGAGGGCGAGAAGA +GGGAGCGCAAGGGGTTAATTctgctgctgccgccgccgctgctgctgctgctgcAGCCTC +TACCCGAGGGAGGGAAAGGAGAGGAGGCAAGGAGCCTGCGGGGGCGACTGAGAGCCCTGG +CTGGAGGGGTGGGGTCCCCAAAGGGGCCTCCAAGCCTTCCCTGTTGAGCGTCTTGTATTC +TCACTTCTGAAGCGTATCTCTGCCTCTGAAGAAGGGAGGGGAAAGGAAGCCTGGGGTGTC +CTTTTCTCCCATGTCAGCCTGAGTCCGGATAATCGAACTTCACCCATGTATGTCTCCATT +TCTCCCTGTCTGTCCTCACCACTCACTCCCTCTGTGTCCCTGTGGAGGGAGATAAAACCC +AGCCTCCGGTGCCAGGGGGACAGCTGAGCAGTGGGGCCAGCTCCCGCCCACCCCCAGGAG +ACTGGTGAGGAGAGCTGTCCGGCTGAGCAGCAGCATGCATGGTCCTTCTTTCCCGCTTTC +TGGAGGTGACCTTGGACCAGGGTCCCTTCTTTATCCCTAAGGATTTGCAGATCCAGCCCC +TTAAAGGGGCTTCTGGGGGGAGGTCAGTCCTGAGGAGTCCACCCCTCCAGATtctctcct +cccctccctctgtgctaatccctccctccctccatcctccactctcacccccaccccacc +cccgtccctccTCTGCAGAGGGATGCTCAGTCCCTCTTGTGTTCACAGTTGGGCAAGGCG +AGCATCATGGCCTCGGATTGCGAGCCAGCTCTGAACCAGGCAGAGGGCCGAAACCCCACC +CTGGAGCGCTACCTGGGAGCCCTCCGTGAGGCCAAGAATGACAGCGAGCAGTTTGCAGCC +CTGCTGCTAGTAAGGAACTGGCTGAAAATTGGGAGGTGGGAAGGGCTGGGTGGTTGGGCC +CCCAAGGAATGGGGTCAGTGAGTCCCCAAGGATATGTACGTAGTGCTAGCAACCCTGGAG +GCACCAACGAAGGCCCAAGACCCCTACCTTTGTGCTCTTTTTTGCTCCCCCTGAGAATGG +GGGCAAAGAGGAGAATGGGACTGAATAAGGCTGTGGCACTAGGGGCTGCCTGGGTCTGTT +TTCTGGGGCGTCCCAGAGCAGATGGAAGCTGACTCATAGGGTAACAGCAGCAGGTAGTAA +CTAGTGCAGAGTACTTGAGGGCTGGGGATGGTTGTTCTGGGCCTGGAGAGAGTAGCAGGG +CTGGAAGTGGCTGGGGAGGGGTCCTAGGGGAAGGCCAGGATGGCAGTAGGTAGGTTAAGG +AATGGGAGCTAGTTTGGGGCTTAGCCTTTTTGGAGGAACCCAAGCTGGGGACAGCAGAGC +AGAAGCTGCAGTGCTAGGAAGGGGGGGTTGTGTGTGGGGGGTGAAGGGAGGAGGGAGTAC +AGCCGCTGCTTGTTTGCCATGGCAACAAGGAGAAGGCTCTGGAGTCAAgggctcacactg +cagcagaggaggtgtttaggtgaaatgtaaggggaaatgttttgacaggcggagcggcga +gacacaggagccatttcccctgagaaggtggcagaaatggatcagggacttctctggagg +gAGCAATTAAGGAAGGACTTTAAATCCTTGGGAGATCTTAAAACATTGAGTTCTAAGCCC +CTTCCATCCCAGGTTGTGGGCATttagacatcaggaagaacttctcaactggccaggtgt +tgaaatgctcaaatgaatggttgaggaagactAGACCTCACTTCCATGGGACAGTCACAG +ATGAGAGGGATCCCAGAGGTCACATTTATCTGCCTCTAAGGAGAAAAAAGGAGCTGGATG +AAATGACCTCAGATGAGTCCTGTTGCATAACCTCATCTTGCTAGTCCTCAGTGCCCCAGG +ATGCAGGAGAGGGACAGTCTTTCCCACTTCTTCCTTTCATCCTGATGATAGCACATACCC +CCTATAGGTGACCAAGGCAGTCAAAGCAGGTGACATAGATGCCAAAACTCGGCGGCGGAT +CTTCGATGCTGTCGGCTTCACCTTCCCCAATCGTCTCCTGACCACCAAGGAGGCGCCGGA +TGGCTGCCCTGACCATGTTCTGCGGGCTTTGGGTGTGGCCCTGCTGGCCTGCTTCTGCAG +TGACCCTGAACTGGCCGCCCATCCCCAAGTCCTGAACAAGATTCCCATTCTTAGCACCTT +CCTCACAGCCCGGGGGGACCCGGACGATGCTGCCCGCCGCTCCATGATTGATGACACCTA +CCAGTGCCTGACGGCTGTAGCAGGCACACCCAGAGGGCCTCGGCACCTCATTGCTGGTGG +CACCGTGTCTGCCCTATGCCAGGCATACCTGGGGCACGGCTATGGCTTTGACCAGGCCCT +GGCACTCCTGGTGGGGCTGCTGGCTGCTGCCGAGACACAGTGCTGGAAGGAGGCGGAGCC +CGACCTGCTGGCCGTGTTGCGGGGCCTCAGTGAGGATTTCCAGAAAGCTGAGGATGCCAG +CAAGTTTGAGCTCTGCCAGCTGCTGCCCCTCTTTTTGCCCCCGACAACCGTGCCCCCTGA +ATGCTACCGGGATCTGCAGGCCGGGCTGGCACGCATCCTGGGAAGCAAGCTGAGCTCCTG +GCAGCGCAACCCTGCACTGAAGCTGGCAGCCCGCCTGGCACACGCCTGCGGCTCCGACTG +GATCCCGGCGGGCAGCTCCGGGAGCAAGTTCCTGGCCCTGCTGGTGAATCTGGCGTGCGT +GGAAGTGCGGCTGGCACTGGAGGAGACGGGCACGGAGGTGAAAGAGGATGTGGTGACCGC +CTGCTATGCCCTCATGGAGTTGGGGATCCAGGAATGCACTCGCTGTGAGCAGTCACTGCT +TAAGGAGCCACAGAAGGTGCAGCTCGTGAGCGTCATGAAGGAGGCCATAGGGGCTGTTAT +CCACTACCTGCTGCAGGTGAGGGTGCAGTGACCCACAGAGGGGGCCCAGTATGGGGGGAG +CCAGTGCTGGAGCTGGGAGGCAAGGGGGAGGAGAATAATGGGGAGACAGCGAAGCTGCAT +GTCCACACAAGCTGATACTGTAGCCAGCACTCCAGGGAGTAGTGTGCGGCCCAACCTCCC +TCTCTCTCCCTCCCTCCACACAAGCACCATACCACACACCATATGTGCACTCACATCACA +GTacacacacacgcacacacacacaacacaGTAACCTCCCACTCAAACGCTCCCCCCAAT +ACACACACACTACACGCCACACACCTCTCCCCAACACATGCACACAAGATTGAAGCAGTC +TGTTCTGCTCACTCCATAGCATTGTTTTATACACGCACACACCCGAACTTCTAATGGTGC +AGGGAAGAGAAGCAGGGCTGCCTGGTTCCTGGCCTCTATAGAGGTCTGGCTAGATCAATT +CGCCTGCCTCCCCTACATCCCCTCCTGCCTCCCCGCCTGAGAGGCCAGCTGTCCTGTCCC +ACAGGGATTCAGTCATGACTCTGGTCTCTTTAATGGCCTGCTCCAGCCACCGAGCTCACC +AGCCATATATTCCATGCACCACGCTAAGCTCATGTCTTTTTTCTGACTTAGCACAAAAGA +GAGCATCCCCTCACTCCCACCATTGGGAGCAGTTACACAGTAGCCAGGAACCTGCCCTCC +CACCCCAGGTCAGAGCTGCTGTAAAGGGTGTTTAACTTAGCTTTTGACCTATGAATTTCC +TTCTAGCCTTGAGACACTCCAGAGGTAGGGAGTTAGGGAGATGTGACTGGAGCCTCAGCG +AGTACGGGGGCATGTCACTCAATTCACTCAGGCCCAGTTCACTCAGCAGACGTGTGTGGA +GGGCCTGGCTCACTCTGTGCCAGTCCCTTGTGTGCGTCcctaccacatgctaggtgctgg +gttcatgggacagaataaaggttggggcctgcctttgaaaggctcacaggccagAATTTC +CTTCTAGTTGTATTATTTCTAGCTGGCTGGCCTCTGGCAAGGCAGGGAGGGTCCCTGGTC +CTGCTCCATCTCAAGGGGGTCCTGTGGCAACAGGTGGGGTCAGAGAAGCAGAAGGAGCCC +TTTGTGTTTGCCTCGGTGCGGATCCTGGGTGCCTGGCTGGCCGAGGAGACCTCATCCTTG +CGTAAGGAGGTGTGCCAGCTGCTGCCCTTCCTCGTCCGCTATGCCAAGACCCTCTACGAG +GAGGCCGAGGAGGCCAATGACCTTTCCCAGCAGGTGGCCAACCTGGCCATCTCCCCCACC +ACCCCAGGGCCCACCTGGCCAGGAGACGCTCTCCGGTGAGTCTGTAGTTACAGTCTGTCC +AGCTAGATCATTCTACCGAAAAGCGTTAACACAAGGACACCCCTCCCCACAAACTGAGCT +GTGCCAGGCTTCCTGATTGGGCCATGAGATATCCCTTAGGGTTATTTCTGTTTTGGGGGG +CTTGTTCCCACAGGACTCCTCGGCTGCCAGGTGTCACTTGCCAACCCCAGATTTCTCAGT +TAAaagagaacttatacttattgagcacctactacgagccaggtattttgctataccctt +taccaaaatgatctcatttggtccacgtggtaaatataacagaagtctcattcacatatg +aaagattaggaaactgaggctcatagagattaaagtcacttgcccacagtcacactttgt +ggcagagcccaagtttggtcctgggttgtgcgactctgaagcttgtactttttctgtggt +accTGCGAGGATGTGTCCTTCTCCCCTACTTCCATTTCTCTTAGGCAAGGTGCCCTAAAA +AGGGAATCTATGTGCCTTCATCTCTCCCAATCCCACACACGTCTGTCCCTTCCACATCCC +CAGGCTCCTCCTGCCTGGCTGGTGCCACCTGACCGTTGAAGATGGGCCCCGGGAGATCCT +GATCAAGGAAGGGGCCCCCTCGCTTCTGTGCAAGTATTTCCTGCAGCAGTGGGAACTCAC +ATCCCCTGGCCACGACACCTCGGTGCTGCCTGACAGCGTGGAGATTGGCCTGCAGACCTG +CTGCCACATCTTCCTCAACCTCGTGGTCACCGCACCGGGGCTGATCAAGTGAGGGGCTCG +GGAGAGGTGGGGGAGGAGGCCGGAGGAGGCAAAGGAGGCTGCCCAGTTGCCTCAATTCTC +AGTCTCCTACTTTGCCCCCCATGCCCATGGATTTGTTAGTGGTAGCATGGGGGTCTCAGA +GTAGACATAGCCAGCCCCGCACAAGGATTCGGCATGCTGGAACCCCCAGGTACTGTCTCA +GCATGTCTGCTTGTTCCAATCTCTGCCCCCCAGATGCTATGTTTGGGGCCCAAAGTTAAT +CACCCTACTGCCTAATTTCTTGCCAAGGGCTTGATTTGGCTGTACTAGACCCCCACCTAC +CTCCATCCTTCCCCCCTTTCTTTTCCAGGCGTGACGCCTGCTTCACATCTCTAATGAACA +CCCTCATGACGTCGCTACCAGCACTAGTGCAGCAACAGGGAAGGCTGCTTCTGGCTGCTA +ATGTGGCCACCCTGGGGCTCCTCATGGCCCGGCTCCTTAGCACCTCTCCAGGTAAGAACT +GGGGATCCAGTCCTGATGGGTGAGGACAGAAGACCTGGGTGGACCTCCTGTGTTTGGGGC +AAAAGTCACCATTTTTAGAAGATGGTTTTGCAGCATTTTCTAAGCAAGAGGAAATCTTTG +CAGTGTATCTCCATCCCCTACCCCCACCGTTCTTCCCAAAATGCTAACATTCTCTTTCTT +CTGAAGACTTTTAAGGCAAAGTCTGGTGGGTGTTAAGTACAGACCTGCTCACAGGCACAG +GCATAGGCACCTGGAATCCCTGGCAGCCAGAGGAATCTGAATCCAGTGTTTTCAAGGTGG +AGCCGCCCCCACCCAGGCCTTGAGTCAGAAACCTGACTTCCTTCCATTGATGTTTTTCTC +TGCTCTGCTCGGTACCTCACCCCCATCAGTGACAGCCTTCAGCACTTGGTGTCCCTCTAT +GCACACCTTCTCCCTAGCTCTGCCTCACTCTGGCTGTTTGCAGGGGGAGGGACGTCCCCT +CCAGCCCCTGGCAGCCCTCCGTGTCTCCCTCTTTGGCTGTGGGTGTCTGCTTGGGTCCCT +CTGTCCCTGCCTGTTCCCTGTGCCCCATCTGTCAGGTTGGAGGAGCTGAGCAGATGCCTG +GGAACAGGGCGTAACATGCCCGTACCTTCCACTGCCTCTGTGTTCCTTTTGAGGGGTTCC +CAGCAGGGTACCCCGTCATGGGAAGGGGTGCACATCCCTGTACACCAGGAGCCCACTCTG +CACTCTCAGTCCCAGGCTGCATCTCTGCAGCCCCCAATTTCATGGTCCCAGTTCTGGCTC +ACCCTCAAATACCACCAGGTTAGGTTGACAGCTTCCTGGAGAGCACCTGCAGTGTGAGGG +TCACCCCTTGAACAGCCAGTAAGCAAAGCAGGGTCACTTGCTTATGTTCCTCTCTGGCGC +CCTCTTCTGGCCCAAGGATCAAATGGTGCAACTCCCTTAACCTGTGTCTGAGCTCTGTGT +CCAGAACCCTGAGGGGTTCTCTCTCCCATCTGACCCTGTGACTCACCCCCACCTCCAGTG +CCGGTAGAGGTCTTGGTGGTTGAGTGTACCAAGATGATCAcatttaattctcacaacaaa +tttctaagatgagcactattggcccattttacaagtaaagaaacagacccagaaaagtta +attacccaaggtcacacagtgagcatctaaggcagggtttcaacgcaggcagtctgattc +caggctgtgccctGGCTCCTGCATGTGTCTACACAGAGGACTAGGGAAGGGTCTGACACA +GCAGCTGGCCTGTCCGATTCATGCCCCACTCCTTCCGTTACCTTGCAGCTCTTCAGGGAA +CACCAGCATCCCGAGGGTTCTTCGCAGCTGCCATCCTCTTCCTATCACAGTCCCACGTGG +CGCGGGCCACCCCGGGCTCAGACCAGGCAGTGCTAGCCCTGTCCCCTGAGTATGAGGGCA +TCTGGGCCGACCTGCAGGAGCTCTGGTTCCTGGGCATGCAGGCCTTCACCGGCTGTGTGC +CTCTGCTGCCCTGGCTGGCCCCCGCTGCCCTGCGCTCCCGCTGGCCGCAGGAGCTGCTCC +AGCTGCTAGGCAGTGTCAGCCCCAACTCTGTCAAGCCCGAGATGGTGGCCGCCTATCAGG +GTGTCCTGGTGGAGCTGGCGCGGGCCAACCGGCTGTGCCGGGAGGCCATGAGGCTGCAGG +CGGGCGAGGAGACGGCCAGCCACTACCGCATGGCTGCCTTGGAGCAGTGCCTGTCAGAGC +CCTGAGGGGTGTCCACCGGGGACAGACCCAGGGGCGGGCAGAGAGGGAAGGAGGGAGGAG +GCATCTTCCCTGAAGCCCCCAATCTGGCCCCCCCCTCCCCAGACTTCCTCCCCAAAACAC +CCCAGCTTTCTGGCTTTTCTGAGGGCAAGGGCATGGTGCCCACCCCTCAAGTGTAAGGAA +CTGCGTTCCGCCCCTCAGGCCCCCATGGGGGCAGGGATCGGCTTGGAAATCAACGTGGTT +GTCCCCGCCAGGCCGGGGAAGGTTGGAGCAGCCCCCAGGGAGGGGGGCACTAGGTGTCAT +TGTGCCCGATGTCTGGCTCCCCTGCAGGAGGGAGGCTCCAGGGTAAGACAGGGCTGGCAG +GAGCAGACTGCCTCAGCCCATGTGCCCTGCCGGCCAGGGCGTGGGCTCCCCTCGGCTGTG +GTGCCTCCTCTGGCCCCCCAGGTCCACGTCCTTTAAATTGGCCCTTTGGCTCTTGCCCTT +GGCTCCCTTGGGCAGACAGCAGGCTTAGGCCATTGATATCGCAGTTCTTCCTATCAGCTT +CAGTGACCCAGGGTCTGAACTGCCTCCATCCTAGGGCAACCTGGGGCAGACAGGCCTGGT +GGGGGGTGGGGAAACCTCCTTCCACCTGAGCTTGCTTGAAGGGACCCAGAGTCTTTGGGC +CCAGATCTTTAAACCTTTGTGTCGTGTTGCAGCAGAGTGACGATGGGGGTTGGGGGGTTA +TTTATTTTGCCTGTCCTTATCCCTGCTTGGACACCTGAGCATCTGATTCCTGTCCCCCTG +GTGCCATCTGGCCTGGCTGGAGCCAGGAACAGGAGGGACACTTCCCCAGAATCCGCATGT +TTCCCCAGTGATTACACTCCACTGCCACCGTGGTGCCTGGCTTTAACTCCCACCCCTGCT +ATGACTCCTCTCTGCAGAGACGCGACTGGCGGCTCCAGCAGGGACTACCTTTCTTATAAA +CCCAGGGGGACcacacacacacacacacacacacacacacacacacacacacacacacac +acTCTTGATCCCTTGCTTCCCTCCCCCAGTGCGTTCTGTGATCGCCAAGTTCAAAGCTGT +GCACATGTGGACACTCAATAAATGTTCATTGGTGACGAGAA diff --git a/packages/core/BaseFeatureWidget/test_data/NCDN_upstream_dna.fa b/packages/core/BaseFeatureWidget/test_data/NCDN_upstream_dna.fa new file mode 100644 index 0000000000..581f58c21c --- /dev/null +++ b/packages/core/BaseFeatureWidget/test_data/NCDN_upstream_dna.fa @@ -0,0 +1,10 @@ +>1:36022900-36,023,400 +CTCACCCGGAGGAGGAGGAGGAAGAGGAAGAAGGTAGTGCGGGCTCCCCACCCGGACAGC +TACCTCTCGCCTCAGCCTCCCTGGACAGCGACGGCGGCCGGAAACACCGCCTCCTCCCAC +CTCCCCGGGACCGACCCGGAAACACACTCTCCATGCTAACCAAGCCCTCCCGCCCCTCCC +CCGGGAAGGGCAATGCCGGCCGCGAGACCAAGGGGGAGGAGGGGCAGTGCTGGGCGGGTA +AAACTACGCACAAGCGAAGGAATCTGGGCCCCCAGCCTCTCGCCGCCCGCTCTCCAGAGG +CAGTCTGCACCTTGCCTCCTTCGCTCGAGCCCCAGCCCCCAGACTCGGGCAATACCCACA +AGCAAGATGGCGGCAACGGCGGCACCCCCTACTGCTTAGCACCCTGACTTGCCATTGGCC +AGAGCCCGGAGTGAAGCAGCCGCGGATTCGTCAAGAGCGGTGCGGGGGTGGGGGTGGAGC +TGCAGCAGCCTGGAGCCAGG diff --git a/packages/core/BaseFeatureWidget/types.tsx b/packages/core/BaseFeatureWidget/types.tsx new file mode 100644 index 0000000000..6f6ec42e85 --- /dev/null +++ b/packages/core/BaseFeatureWidget/types.tsx @@ -0,0 +1,19 @@ +import { IAnyStateTreeNode } from 'mobx-state-tree' +import { SimpleFeatureSerialized } from '../util/simpleFeature' +import { AbstractViewModel } from '../util' + +export interface BaseProps extends BaseCardProps { + feature: SimpleFeatureSerialized + descriptions?: Record + model?: IAnyStateTreeNode & { + view?: AbstractViewModel & { + assemblyNames?: string[] + } + } +} + +export interface BaseCardProps { + title?: string + defaultExpanded?: boolean + children?: React.ReactNode +} diff --git a/packages/core/package.json b/packages/core/package.json index d02a4b6a5b..f31aff57fd 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -53,6 +53,7 @@ "object.fromentries": "^2.0.0", "pako": "^1.0.10", "react-error-boundary": "^1.2.5", + "react-intersection-observer": "^8.31.0", "react-measure": "^2.3.0", "shortid": "^2.2.13", "tenacious-fetch": "^2.1.0", diff --git a/yarn.lock b/yarn.lock index b7054f708f..7c304fffd3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21173,6 +21173,11 @@ react-inspector@^5.0.1: is-dom "^1.0.0" prop-types "^15.0.0" +react-intersection-observer@^8.31.0: + version "8.31.0" + resolved "https://registry.yarnpkg.com/react-intersection-observer/-/react-intersection-observer-8.31.0.tgz#0ed21aaf93c4c0475b22b0ccaba6169076d01605" + integrity sha512-XraIC/tkrD9JtrmVA7ypEN1QIpKc52mXBH1u/bz/aicRLo8QQEJQAMUTb8mz4B6dqpPwyzgjrr7Ljv/2ACDtqw== + react-is@^16.12.0, react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.0, react-is@^16.8.1, react-is@^16.8.4: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"