Look up annotations for specific chromosome location?
1
0
Entering edit mode
9.3 years ago

If I have specific SNP chromsome locations, what applications can I use to look up if this location is a "gene", "promoter of a gene", "enhancer of a gene", etc, and if it IS any of those, to tell me which gene it is associated with?

I know about GENCODE and ENSEMBL, but I'm look for a more seamless, automatic conversion of BED file information (input) and annotation of genomic "type" and gene association (if there is one) as the outputs.

I'm new to the field so name dropping and tool suggestions are appreciated! If there is an R package that does this, that would be AMAZING.

Thanks for your insights!

bed SNP annotation • 2.0k views
ADD COMMENT
2
Entering edit mode
9.3 years ago

You can use BEDOPS bedmap to identify SNPs that map to various sets of genomic annotations.

For instance, to get gene annotations, you might start with human GENCODE genes:

$ wget -qO- ftp://ftp.sanger.ac.uk/pub/gencode/Gencode_human/release_21/gencode.v21.annotation.gff3.gz \
    | gunzip --stdout - \
    | awk '$3 == "gene"' \
    | convert2bed -i gff - \
    > genes.bed

Once you have genes.bed and your SNPs in another sorted BED file (say, snps.bed), you can do BEDOPS map operations on them:

$ bedmap --echo --echo-map-id-uniq --delim '\t' genes.bed snps.bed > snps_over_genes.bed

Say we define proximal promoters as a region 1kb upstream of the gene. We can process the file genes.bed per-strand with awk and generate promoter regions:

$ awk '{ \
        if ($6=="+") { \
            print $1"\t"($2 - 1000)"\t"$2"\t"$4"\t"$5"\t"$6; \
        } \
        else { \
            print $1"\t"$3"\t"($3 + 1000)"\t"$4"\t"$5"\t"$6; \
        } \
    }' genes.bed \
    > promoters.bed

Then we map SNP IDs to promoters with bedmap:

$ bedmap --echo --echo-map-id-uniq --delim '\t' promoters.bed snps.bed > snps_over_promoters.bed

And so on, for other annotation or feature categories of interest.

ADD COMMENT

Login before adding your answer.

Traffic: 2100 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6