美文网首页
脚本 | Shell | 基因id转换_v2

脚本 | Shell | 基因id转换_v2

作者: shwzhao | 来源:发表于2021-06-24 18:49 被阅读0次

之前写过一个【基因id转换】的脚本,是针对fasta文件的。

一些软件对基因id的长度有一定限制,改完基因id跑完软件之后,发现要把结果文件中的id再改回来并不像改fasta文件那么简单。

下面举了一种结果文件的例子,其实还有很多种(如基因树文件中的id要改的情况...),关键就在于有一个原有id和改后id的对照表。

1_wrong_name.txta_wrong_name.txt:需要改基因id的文件

$ cat 1_wrong_name.txt
white gene1,gene2,gene3
black gene4,gene5
gray gene11,gene15
$ cat a_wrong_name.txt
red genea,geneb,genec
blue gened,genee
purple geneab,genedd

1_gene_id.txta_gene_id.txt:基因id对应表

$ cat 1_gene_id.txt
gene1 ID1
gene2 ID2
gene3 ID3
gene4 ID4
gene5 ID5
gene11 ID11
gene15 ID15
$ cat a_gene_id.txt
genea ida
geneb idb
genec idc
gened idd
genee ide
geneab idab
genedd iddd
for i in `echo 1 a`
do
j=`echo ${i}_wrong_name.txt`
awk '{print $2}' $j | sed 's/,/\n/g' > gene.txt
grep -wFf gene.txt ${i}_gene_id.txt | awk '{print $0,length($1)}' | sort -k 3nr | awk -va=$j 'NR==1{print "sed danyinhaos/"$1"/"$2"/gdanyinhao "a" | \\"}NR>1{print "sed -e danyinhaos/"$1"/"$2"/gdanyinhao | \\"}END{print "grep -v ^$ > changed_"a}' | sed "s/danyinhao/'/g" > change_gene.sh
bash change_gene.sh
rm gene.txt change_gene.sh
done

changed_1_wrong_name.txtchanged_a_wrong_name.txt:改完基因id之后的文件

$ cat changed_1_wrong_name.txt
white ID1,ID2,ID3
black ID4,ID5
gray ID11,ID15
$ cat changed_a_wrong_name.txt
red ida,idb,idc
blue idd,ide
purple idab,iddd

代码先提取结果文件基因id,再 grep id对照表,确定要改的id,利用 awk 生成一个含有 sed 命令的脚本。
也可以不麻烦提取id,直接把所有基因id都放进脚本中,但几万个基因实在是...

相关文章

  • 脚本 | Shell | 基因id转换_v2

    之前写过一个【基因id转换】的脚本,是针对fasta文件的。 一些软件对基因id的长度有一定限制,改完基因id跑完...

  • 脚本 | Shell | 基因id转换

    之前在简书中看到过基因 id 转换的相关文章,没点进去,应该不是一个东西。

  • Bioconductor:clusterProfiler

    准备工作 这里进行包的导入 基因ID类型的转换 bitr转换 参数: x:基因ID向量 fromType:目前基因...

  • 基因ID转换

    #BiocManager::install("clusterProfiler") #BiocManager::in...

  • 基因id转换

    gene symbol 与 entrezid 转换

  • gene symbol 与 entrezid 转换

    参考Gene id 转换(四种基因各种id转换方法)[https://blog.csdn.net/weixin_4...

  • 基因id转换方法

    1.一开始是在DAVID中:不过转换后的结果有些不全; https://david.ncifcrf.gov/ 2....

  • 四、基因ID转换

    01.需求 TCGA的RNA-seq数据使用的geneid是ensembl id,两个常见的需求: 1.差异分析结...

  • 1,$......含义

    简要说明 $$shell本身的PID(ProcessID,即脚本运行的进程ID号)$!shell最后运行的后台Pr...

  • 数据挖掘20210115学习笔记

    富集分析:GO、KEGG id转换:bitr() 输入数据:差异基因的entrezid;所有基因的entrezid...

网友评论

      本文标题:脚本 | Shell | 基因id转换_v2

      本文链接:https://www.haomeiwen.com/subject/txcgyltx.html