TCGA中RNA-seq數(shù)據(jù)根據(jù)基因的表達(dá)量分組

代碼保存位置: /mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/script/

1.sample_info.sh

#!bin/bash
#指定list代表的文件
list=/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/script/Symblel2Ensembl.txt

#逐行遍歷list文件列表
while read line
do 
arr=($line) #將該行賦值給arr
panel=${arr[0]} #該行第一列賦值給panel
id=${arr[1]}    #該行第二列賦值給id
#grep從輸入文件中遍歷逐行提取包含字符Ensembl_ID和$id的行,并導(dǎo)出到輸出文件中
grep -E "Ensembl_ID|$id"  "/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KIRP/TCGA-KIRP.htseq_fpkm4.tsv" > "/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KIRP/sample_gene/sample_info2.$panel.$id" 
done<$list
#逐行遍歷list文件列表
while read line
do 
arr=($line) #將該行賦值給arr
panel=${arr[0]} #該行第一列賦值給panel
id=${arr[1]}    #該行第二列賦值給id
#grep從輸入文件中遍歷逐行提取包含字符Ensembl_ID和$id的行,并導(dǎo)出到輸出文件中
grep -E "Ensembl_ID|$id"  "/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KIRC/TCGA-KIRC.htseq_fpkm4.tsv" > "/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KIRC/sample_gene/sample_info2.$panel.$id"
done<$list
#逐行遍歷list文件列表
while read line
do 
arr=($line) #將該行賦值給arr
panel=${arr[0]} #該行第一列賦值給panel
id=${arr[1]}    #該行第二列賦值給id
#grep從輸入文件中遍歷逐行提取包含字符Ensembl_ID和$id的行,并導(dǎo)出到輸出文件中
grep -E "Ensembl_ID|$id"  "/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KICH/TCGA-KICH.htseq_fpkm4.tsv" > "/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KICH/sample_gene/sample_info2.$panel.$id"
done<$list

cat /mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/script/Symblel2Ensembl.txt #查看list文件內(nèi)容

image.png

cat /mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KICH/TCGA-KICH.htseq_fpkm4.tsv #查看TCGA-KICH.htseq_fpkm4.tsv文件內(nèi)容

image.png

2.sample_info2Tosample_info.txt.sh

#!bin/bash
#首先設(shè)置for循環(huán),$i遍歷RP,RC,CH三個字符
for i in RP RC CH
do
#指定list1代表的文件  
list1=/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/script/Symblel2Ensembl.txt
#逐行遍歷list1文件列表
while read line
do 
Suffix=($line) #將該行賦值給Suffix
Suffix1=${Suffix[0]} #該行第一列賦值給Suffix1
Suffix2=${Suffix[1]} #該行第二列賦值給Suffix2
#awk將輸入文件進(jìn)行轉(zhuǎn)置,并導(dǎo)出為輸出文件
awk '{for(i=1;i<=NF;i++)a[NR,i]=$i}END{for(j=1;j<=NF;j++)for(k=1;k<=NR;k++)printf k==NR?a[k,j] RS:a[k,j] FS}' /mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KI$i/sample_gene/sample_info2.${Suffix1}.${Suffix2} > /mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KI$i/sample_gene/sample_info2.${Suffix1}.${Suffix2}.Trans
#指定lis2t代表的文件 
list2=/mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KI$i/sample_gene/sample_info2.${Suffix1}.${Suffix2}.Trans
#計(jì)算list2文件中第二列,即基因表達(dá)量的平均值,并賦值給aver.
aver=`cat $list2 |awk 'NR>1 {sum += $2; } END {sum; print  sum/(NR-1)}'`
#判斷$list2.group文件是否存在,若不存在則顯示文件不存在,若存在則刪除原文件
if [ ! -f "$list2.group" ];then
  echo "文件不存在"
else
  rm -f $list2.group
fi
#逐行遍歷list2文件列表
while read line
do 
arr=($line) #將該行賦值給arr
sample=${arr[0]} #該行第一列賦值給sample
exp=${arr[1]}  #該行第二列賦值給exp
B="ENSG" #將字符ENSG賦值給B

if [[ $exp == $B* ]] #判定$exp是否包含ENSG這一字符
then
    line=`echo $sample  $exp  "label"` #將$sample  $exp  label賦值給line
elif [ `expr $exp \> $aver` -eq 1 ] #判斷該樣本基因表達(dá)值與平均值的大小
then
    line=`echo $sample  $exp  "high"` #若該樣本基因表達(dá)值高于平均值將,則將$sample  $exp  high賦值給line
else 
    line=`echo $sample  $exp  "low"` #若該樣本基因表達(dá)值高于平均值將,則將$sample  $exp  low賦值給line
fi
echo "$line" >> "$list2.group" #將line所包含的內(nèi)容追加寫入到$list2.group文件中
done<$list2
done<$list1
done

cat /mnt/vol2_ws/test/projects/xcy/data/2021-8-12-liang/data/11/tcga/TCGA-KIRP/sample_gene/sample_info2.ATM.ENSG00000149311.Trans #查看list2文件內(nèi)容

image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容