生信6--SAM和blasttab+过滤一样的结果

我在处理数据的时候
发现sam文件和blasttab+文件排序不同
sam文件是按照reference里面的名字排序的,而blasttab+是从高到低排序的

因为我发现在过滤转化的时候会有一丢丢问题
先排序一下

Args <- commandArgs()

# 加载包
suppressMessages(library(data.table))
suppressMessages(library(tidyverse))

# 设置文件位置
blast_input_info <- Args[6]
sam_input_info <- Args[7]

#导入输入文件
blast_input <- fread(blast_input_info, header = FALSE, sep = "\t", stringsAsFactors = FALSE , check.names=FALSE)
sam_input <- fread(sam_input_info, header = FALSE, sep = "\t", stringsAsFactors = FALSE , check.names=FALSE)

#两者先排序
blast_input_sort <- blast_input[order(blast_input$V1,blast_input$V2),]
sam_input_sort <- sam_input[order(sam_input$V1,sam_input$V2),]

通过行来进行抽取

blast_input_sort$line_numbers <- c(1:nrow(blast_input_sort)) #增加一列,标记行号
blast_input_sort_filtered <- blast_input_sort %>% 
  dplyr::filter(V3>=85 & V4>=400) %>% 
  group_by(V1) %>% 
  dplyr::filter(V3 == max(V3))

sam_input_sort_filtered <- sam_input_sort[blast_input_sort_filtered$line_numbers,] #提取sam文件对应的行

好像就解决了,两个文件过滤掉一样的数据

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容