数据处理小技巧 - 提取cellranger质控信息需仔细

最初的需求

运行完的cellranger,多个样本会输出多个结果文件。往往第一步我们需要查看下质控信息。一般是下载结果文件夹下的“web_summary.html” 在浏览器查看。但是样本多的时候一个一个点开查看难免觉得不方便,那么有更快的查看方法吗?

当然是有的,其实我们也可以在Linux上直接查看“metrics_summary.csv” 文件的信息。塔河“web_summary.html” 上的信息是对应的,只是文件格式不同。

了解了这一点,那么我们现在只需要实现才能从“metrics_summary.csv”批量提取我们需要的信息即可

通常提取我所用的代码

要提取的文件信息如下(这是6个样本数据的结果文件):

观察以上信息,我们只需提取前四列数据即可,一般来说还是比较好实现的,代码如下:

ls Patient*/outs/metrics_summary.csv|while read id ;do echo ${id}|awk -F '/' '{print $1}' |paste - <(cat ${id} |awk -F '"' 'BEGIN{"	"} NR>1{print $2,$4,$6,$8}') ;done |awk 'BEGIN{print "filename""	""Estimated_Number_of_Cells""	" "Mean_Reads_per_Cell""	""Median_Genes_per_Cell""	""Number_of_Reads"}{print $0}'

代码思路

这样就可以很方便的查看质控结果了。通常这样是没有问题的,但是也有例外情况,如果数值过小,这个就会出错。

遇到问题

比如下面这个数据的情况

第一个样本结果如下:

最开始只关注了一个样本,提取信息代码同上

ls HRR*/outs/metrics_summary.csv|while read id ;do echo ${id}|awk -F '/' '{print $1}' |paste - <(cat ${id} |awk -F '"' 'BEGIN{"	"} NR>1{print $2,$4,$6,$8}')|awk  'BEGIN{OFS="	"} {print $0}' - ;done |awk 'BEGIN{print "filename""	""Estimated_Number_of_Cells""	" "Mean_Reads_per_Cell""	""Median_Genes_per_Cell""	""Number_of_Reads"}{print $0}' 

会发现,有些数值很不正常。对照“web_summary.html” ,会发现这些数值是错误的。那么问题出在哪里了呢。

打开查看原文件信息:

会发现,csv文件中有些数值因为没有超过位数,是没有引号的。

而提取信息的时候分割只采用了引号分割 ,所以,分割提取信息出错。

解决办法

方法一

合并所有样本质控信息到一个csv文件,然后下载到本地用excel查看。如下操作

head -n1 HRR002909/outs/metrics_summary.csv |cat - <(cat HRR*/outs/metrics_summary.csv |awk '{if(NR%2==0){print $0}}') > ~/tmp.csv

方法二

尝试修改上面出差的代码,区分单双引号,如下:

ls HRR*/outs/metrics_summary.csv|while read id ; do echo ${id} |awk -F "/" '{print $1}' | paste - <(cat ${id}| awk -F """  '/".*"/ {gsub(",","");print $0}'|sed 's/^"//'|sed 's/""/	/g ; s/"/	/g' |awk 'BEGIN{OFS="	"} {print $1,$2,$3,$4}' );done |awk  'BEGIN{print "filename""	""Estimated_Number_of_Cells""	" "Mean_Reads_per_Cell""	""Median_Genes_per_Cell""	""Number_of_Reads"}{print $0}'

代码思路:

只需想办法,正确区分数值分割即可。

最终输出结果如下:

filename        Estimated_Number_of_Cells       Mean_Reads_per_Cell     Median_Genes_per_Cell   Number_of_Reads
HRR002909       5845    104477  1063    610670836
HRR002910       3612    147165  970     531559371
HRR002911       2340    472190  863     1104925710
HRR002912       11872   48061   564     570580261
HRR002913       3965    135269  1032    536341442
HRR002914       571     1084502 888     619250370
HRR002915       5912    106701  896     630814298
HRR002916       8517    75243   907     640845538
HRR002917       7815    88231   1092    689528242
HRR002918       9639    60181   875     580085959
HRR002919       7531    81827   1038    616240084
展开阅读全文

页面更新:2024-03-13

标签:塔河   信息   引号   数据处理   数值   样本   思路   仔细   两个   情况   代码   文件

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top