I've been looking for this R code for such a long time!! Thanks @cpad0112!!
• 0 views
•
link
Hello,
I am a R beginner, and I have a stupid question that if I have a data frame like this, represents the chromosome position of 9 exons of a gene.
exon_chrom_start exon_chrom_end
1 61955718 61955951
2 61956844 61956998
3 61957387 61957464
4 61958146 61958298
5 61959498 61959578
6 61959892 61960043
7 61950370 61950427
8 61955107 61955201
9 61962255 61965515
And I have another list of the positions of a batch of SNPs, for example, like
61948834
61958130
61956083
61948922
61950242
61950134
61956819
Is there a easy way to check if any of the SNP falls in the exons or not?
I tried to use match function but it didn't work for ranges set by two vectors( exon_chrom_start:exon_chrom_end)
Thank you,
Your example SNVs do not have overlapping exons. I added one to include in the range.
output:
> sqldf("select * from snvs left join exons on snvs.V1 between exons.exon_chrom_start and exons.exon_chrom_end")
V1 exon_chrom_start exon_chrom_end
1 61948834 NA NA
2 61958130 NA NA
3 61956083 NA NA
4 61948922 NA NA
5 61950242 NA NA
6 61950134 NA NA
7 61956819 NA NA
8 61955725 61955718 61955951
Input:
> exons
exon_chrom_start exon_chrom_end
1 61955718 61955951
2 61956844 61956998
3 61957387 61957464
4 61958146 61958298
5 61959498 61959578
6 61959892 61960043
7 61950370 61950427
8 61955107 61955201
9 61962255 61965515
> snvs
V1
1 61948834
2 61958130
3 61956083
4 61948922
5 61950242
6 61950134
7 61956819
8 61955725
I added 8th SNV to include one in range.
I've been looking for this R code for such a long time!! Thanks @cpad0112!!
Log in to answer this question.