Dear Kevin, thank you so much for your through answer, it was really useful. However, I am afraid it does not work as I expected since when I use biomaRt with rs36563, which I know for certain is in REVERSE (https://www.ncbi.nlm.nih.gov/projects/SNP/snp_ref.cgi?rs=36563) I still get a +1 value in the strand field:
*require(biomaRt)
ensembl <- useMart("ENSEMBL_MART_SNP", dataset = "hsapiens_snp")
getBM(attributes=c(
"refsnp_id", "chr_name", "chrom_start", "chrom_end", "chrom_strand",
"allele", "mapweight", "validated", "allele_1", "minor_allele",
"minor_allele_freq", "minor_allele_count", "clinical_significance",
"synonym_name", "ensembl_gene_stable_id"),
filters="snp_filter", values="rs36563",
mart=ensembl, uniqueRows=TRUE)
refsnp_id chr_name chrom_start chrom_end chrom_strand allele mapweight
rs36563 14 70885931 70885931 1 T/G 1*
This is the same value that I obtain with FORWARD SNPs (such as rs6902771), so I still cannot differentiate them. Any ideas how I can do so?
Thank you so much again!
Aren't all dbSNP variant given on the forward (+) strand of the reference genome regardless of a gene/transcript?
No - some percentage of them are given on the reverse (-), not entirely sure why this is. For example, rs499479
I realized by chance that the bed files for dbSNP contain the strand information.
So one way you can choose, is to first find out on which chromosome your SNPs are located and query than the corresponding
bedfile for it.fin swimmer