find_primer_snps
Find known SNPs under primers, the check NCBI Primer-BLAST makes with "Primer binding site may not contain known SNP". The template is placed on the UCSC assembly it was cut from, and the placement is proved by comparing the assembly's own sequence with the template; dbSNP 155 is then read over that span from the UCSC Genome Browser, and every primer is reported with the SNPs under it and each one's distance from the 3' end. excluded is the SNP spans in the form design_primer_pairs takes, to design around them. The template's sequence does not leave the machine; the assembly, chromosome and span are sent to UCSC.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| pairs | No | the pairs to check, as design_primer_pairs' `pairs` output (each with forward and reverse start/end on the template). | |
| _files | No | The project: record references shaped like _subject. Their records become library documents a tool names in sequences/parts/document; a trace or alignment is found by file name. | |
| forward | No | a forward primer to locate on the template by exact match, when no `pairs` are given. | |
| reverse | No | a reverse primer to locate by exact match of its reverse complement. | |
| snp_set | No | `dbSnp155Common`: About 15 million variants with a minor allele frequency of at least 1% in 1000 Genomes Phase 3. The default. `dbSnp155`: Every mapped variant: 1.06 billion locations on hg38, so few primers avoid them all. `dbSnp155ClinVar`: About 820,000 variants ClinVar mentions, benign and pathogenic alike. | dbSnp155Common |
| _subject | No | The record to act on: exactly one of sequence, accession (+source), sample (an id from list_samples) or file ({name, text} or {name, base64}); record_index picks one record of several. | |
| assembly | Yes | the UCSC assembly id the template was cut from (hg38, mm39, danRer11…). | |
| position | Yes | where the template sits in that assembly, as chromosome:position, 1-based: the lowest assembly coordinate the template covers. The check finds which strand the template reads on itself. | |
| template | No | the sequence the primers sit on. Left empty, the open record is used. | |
| window_end | No | 1-based last base of the span to check. Advanced. | |
| window_start | No | 1-based first base of the template span to check. Unset = the whole template. Advanced. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| snps | Yes | every SNP in the span, placed on the template (0-based, end-exclusive), with alleles as they read on the template's strand and whether the template spells dbSNP's reference allele there | |
| flagged | Yes | how many primers sit on at least one known SNP | |
| primers | Yes | every primer checked: its name, span on the template, strand, and the SNPs under it with rsID, alleles, minor allele frequency and distance from the 3′ end (1 = the 3′ base) | |
| excluded | Yes | the SNP spans, for design_primer_pairs' `excluded` |