首页 > 其他分享 >21-有参转录组实战7-基因序列提取

21-有参转录组实战7-基因序列提取

时间:2024-01-24 13:44:40浏览次数:31  
标签:实战 sed 21 bed fa 转录 genome Ptri gene

#本教程仿自于“https://zhuanlan.zhihu.com/p/439168788”。
#正则表达式教程https://www.runoob.com/regexp/regexp-tutorial.html。
#1,提取转录本
gffread Ptri_genome.gtf -g Ptri_genome.fa -w Ptri.transcripts.fa
#2,CDS
gffread Ptri_genome.gtf -g Ptri_genome.fa -x Ptri.cds.fa
#3,Protein
gffread Ptri_genome.gtf -g Ptri_genome.fa -y Ptri.protein.fa
#4,Length of chromosomes
cut -f 1,2 Ptri_genome.fa.fai > Ptri_chr.size

#5,检查GTF文件第一行
head -n 1 Ptri_genome.gtf | sed 's/"/\t/g' | tr '\t' '\n' | sed = | sed 'N;s/\n/\t/'
#6,检查GTF文件第二行
sed -n '2p' Ptri_genome.gtf | sed 's/"/\t/g' | tr '\t' '\n' | sed = | sed 'N;s/\n/\t/'

#7,提取启动子Promoter, 2000bp, first, create bed file
sed 's/"/\t/g' Ptri_genome.gtf | awk 'BEGIN{OFS=FS="\t"}{if($3=="transcript") {if($7=="+") {start=$4-2000; end=$4;} else {if($7=="-") start=$5; end=$5+2000; } if(start<0) start=0; print $1,start,end,$12,$12,$7;}}' >Ptri.promoter.bed
#8, Install bedtools
conda install bedtools
#9, Get the promoter sequences
bedtools getfasta -name -s -fi Ptri_genome.fa -bed Ptri.promoter.bed > Ptri.promoter.fa
#10, Simplify title but not recommend
cut -d ':' -f 1 Ptri.promoter.fa> Ptri.promoter.simplename.fa
#11, Gene, the bed file can view the gene location
type="transcript"
sed 's/"/\t/g' Ptri_genome.gtf | awk -v type="${type}" 'BEGIN{OFS=FS="\t"}{if($3==type) {print $1,$4-1,$5,$12,".",$7}}' > Ptri_gene.bed
#12, Get the gene sequences
bedtools getfasta -name -s -fi Ptri_genome.fa -bed Ptri_gene.bed > Ptri_gene.gene.fa
#13, Simplify title but not recommend
cut -d ':' -f 1 Ptri_gene.gene.fa > Ptri.gene.simplename.fa

#14, 最后保留这些文件,一些细节可用Notepad++ software修改,excel自行整合。不想理解代码,建议用TBtools,这软件在提取序列上还是很好用的。
#Ptri.transcripts.fa#转录本
#Ptri.cds.fa#CDS
#Ptri.protein.fa#蛋白
#Ptri_chr.size#染色体长度
#Ptri.promoter.fa#启动子
#Ptri_gene.bed#基因的位置信息
#Ptri_gene.gene.fa#基因序列

 

 

#虫师

标签:实战,sed,21,bed,fa,转录,genome,Ptri,gene
From: https://www.cnblogs.com/liangjinghui/p/17984510

相关文章

  • Xmas Contest 2021 D Determinant?
    由Amitsur-Levitzki定理,当\(n\ge2k\)时,答案为\(0\)矩阵。否则我们考虑答案矩阵的某一位\(b_{i,j}\),其必然由某些路径\(i=p_0\top_1\to\\cdots\top_n=j\)贡献而来,一条路径的贡献为\(\text{sgn}(\sigma)\cdot\prod\limits_{i=1}^nA_{\sigma(i),p_{i-1},p_{i}}\)。......
  • CF-1921-F-根号分治
    1921-F题目大意有一个长为\(n\)的序列\(a\),有\(q\)次询问,对于每次询问:给定\(s,d,k\),请输出\(\sum_{i=1}^{k}i*a_{s+(i-1)*d}\)Solution根号分治。对于\(d\ge\sqrt{n}\)的情况,直接暴力计算即可。对于\(d\le\sqrt{n}\)的情况,这时需要预处理两个数组:\(pre,sum\),这里\(pr......
  • MySQL子查询、WITH AS、LAG查询统计数据实战
    需求给出一个比较常见的统计类业务需求:统计App(包括iOS和Android两大类)每日新注册用户数、以及累计注册用户数。数据库采用MySQL,根据上面的需求,不难设计表如下:createtableos_day_count(stat_datevarchar(10)notnullcomment'统计日期',osvarcha......
  • STM32CubeMX教程23 FSMC - IS62WV51216(SRAM)驱动
    1、准备材料开发板(正点原子stm32f407探索者开发板V2.4)STM32CubeMX软件(Version6.10.0)野火DAP仿真器keilµVision5IDE(MDK-Arm)ST-LINK/V2驱动XCOMV2.6串口助手2、实验目标使用STM32CubeMX软件配置STM32F407开发板的FSMC实现以轮询或DMA的方式读写IS62WV51216(SRAM)芯片3、......
  • 【面试突击】并发编程、线程池面试实战
    欢迎关注公众号(通过文章导读关注:【11来了】),及时收到AI前沿项目工具及新技术的推送!在我后台回复「资料」可领取编程高频电子书!在我后台回复「面试」可领取硬核面试笔记!前言最近在更新面试突击专栏,我把每一篇将字数都尽量控制在2000字以内,可能在文章里边写的没有那么细致,主要是......
  • Oracle 21c-PL/SQL连接远程数据库的方式
    1、方式一:使用’IP:端口‘直接链接2、方式二:配置Oracle数据库连接器(1)打开NetManager(2)配置Oracle数据库服务器信息(3)打开PL/SQL,输入用户名、密码;数据库输入框输入'(2)中第4页配置的服务名'即可......
  • Java高级实战--高级开发和架构师的秘籍
    本JavaWeb高级实战教程全网最强!本教程是实际项目中真正会用到的技术,学完就能成为真正的技术大佬,有亮点的大佬!此教程包含:高并发、项目架构、全局处理、自动化处理、链路追踪、应用监控等,也包含Spring、SpringMVC、SpringBoot、Redis、MQ的高级用法等。很多人有这样的困惑:工作已经是......
  • Java高级实战--高级开发和架构师的秘籍
    ​本JavaWeb高级实战教程全网最强!本教程是实际项目中真正会用到的技术,学完就能成为真正的技术大佬,有亮点的大佬!此教程包含:高并发、项目架构、全局处理、自动化处理、链路追踪、应用监控等,也包含Spring、SpringMVC、SpringBoot、Redis、MQ的高级用法等。很多人有这样的困惑:工作已......
  • [转帖]ORA-01450 maximum key length (3215) exceeded
    一、问题背景给一个业务表online建索引时遇到了ORA-01450maximumkeylength(3215)exceeded报错,看字面意思是字段太长了,检查表字段类型发现基本都是nvarchar2(2000),有些字段(例如unit)明显是不需要这么长的,表的设计有问题,联系开发按实际需求改短后能正常创建。奇怪的是表的......
  • SciTech-HybridSoftwareEngineering-Software Engineering2ndEditionISBN13:978126072
    Part1:IntroductionandSystemEngineeringChapter1:IntroductionChapter2:SoftwareProcessandMethodologyChapter3:SystemEngineeringPart2:AnalysisandArchitecturalDesignChapter4:SoftwareRequirementsElicitationChapter5:DomainModel......