跟着Nature Communications学习Hisat-Trinity-PASA等分析流程

news2025/1/15 13:37:08

一边学习,一边总结,一边分享!

详细教程请访问:
组学分析流程

本期分析流程

  1. Hisat2-Samtools
  2. Trinity_GG_denovo
  3. PASA

本期教程文章


题目:Genomic insights into local adaptation and future climate-induced vulnerability of a keystone forest tree in East Asia

Hisat2-samtools分析流程

#!/bin/bash

genome=$1
index=${genome%.*}
rna_1_fq=`cat $2|grep 1P|sed ":a;N;s/\n/,/g;ta"` #1.fq path list
rna_2_fq=`cat $2|grep 2P|sed ":a;N;s/\n/,/g;ta"` #2.fq path list

#echo $index
hisat2-build -p 20 $genome $index

hisat2 -x $index \
           -1 $rna_1_fq\
           -2 $rna_2_fq\
           --threads 20 \
           --min-intronlen 20 \
           --max-intronlen 20000 \
           --dta \
           --score-min L,0.0,-0.4 \
           -S ${index}.sam


samtools sort -@ 20 \
                  -o ${index}.sorted.bam \
                      -O BAM \
                ${index}.sam

PSSA_align

#!/bin/bash

export PATH="$PATH:/usr_storage/jcf/.conda/envs/PASA"
source  /pub_storage2/new_PASA/.bashrc

#cat $Trinity_GG $Trinity_denovo >transcripts.fasta #
transcripts_fasta="$1" # transcripts.fasta generated from merging fasta file of Trinity denovo and Trinity genome guided mode

#perl -e 'while(<>) { print "$1\n" if />(\S+)/ }' Trinity.fasta >tdn.accs #
denovo_transcript_id="$2" 
alignAssembly_config="$3"
genome="$4" #reference fasta file



seqclean $transcripts_fasta \
	     -v /pub_storage2/PASA/UniVec
		 

Launch_PASA_pipeline.pl -c $alignAssembly_config \
					    -C -R -T \
						-g $genome \ 
						-t $transcripts_fasta.clean \
						-u ${transcripts_fasta} \
						--ALIGNERS gmap,blat \
						--CPU 8 \ 
						--TDN $denovo_transcript_id
                        

Trinity GG denovo

#!/bin/bash

#conda activate trinity

export PATH="$PATH:/usr_storage/jcf/.conda/envs/trinity"

rna_1_fq="cat $1|sed ":a;N;s/\n/,/g;ta"" #1.fq path list 
rna_2_fq="cat $2|sed ":a;N;s/\n/,/g;ta"" #2.fq path list
bam="$3"  #sorted.bam from hisat
out=${bam%.*}


Trinity --left $rna_1_fq \
	    --right $rna_2_fq \
		--seqType fq  \
		--max_memory 100G \
		--no_normalize_reads \
		--CPU 20 \
		--bflyCalculateCPU  \
		--output trinity_denovo_$out
		
Trinity --genome_guided_bam $bam  \
		--genome_guided_max_intron 10000 \
		--max_memory 100G \
		--no_normalize_reads \
		--CPU 20 \
		--bflyCalculateCPU\
		--output trinity_GG_$out

ab homo

#!/bin/bash

export PATH="$PATH:/usr_storage/jcf/.conda/envs/BUSCO"
source /usr_storage/jcf/geta-user204/.bashrc


rna_1_fq="cat $1|sed ":a;N;s/\n/,/g;ta"" #1.fq path list 
rna_2_fq="cat $2|sed ":a;N;s/\n/,/g;ta"" #2.fq path list
genome="$3" #genome fasta file 
conf="$4" #small genome conf.txt of geta pipepline setting as default parameters
out=${genome%.*}
homo_pro="$5"

geta.pl \
	--RM_species Embryophyta\
	--out_prefix `pwd`/$out \
	--config $conf \
	--cpu 20 \
	--protein $homo_pro\
	-genome $genome \
	-1 $rna_1_fq \
	-2 $rna_2_fq \
	--augustus_species $out

Evm

#!/bin/bash

export PATH="/usr_storage/xyf/jcf/genewise/EVM/EVidenceModeler-1.1.1/EvmUtils/:$PATH"

genome="$1" #genome fasta file 
augustus_gff3="$2" #gff3 generated from augutus 
genewise_gff3="$3" #gff3 generated from tblastn and genewise
pasa_align_gff3="$4" #gff3 generated from PASA 
repeat_gff3="$5" #repeat gff3 generated from repeatemasker
partition="$6" #partition path for evm



partition_EVM_inputs.pl \
		--genome $genome\
		--gene_predictions $augustus_gff3 \
		--protein_alignments $genewise_gff3 \
		--transcript_alignments $pasa_align_gff3 \
		--repeats $repeat_gff3 \
		--segmentSize 5000000 \
		--overlapSize 10000 \
		--partition_listing $partition
		
write_EVM_commands.pl \
		--genome $genome \
		--gene_predictions $augustus_gff3 \
		--protein_alignments $genewise_gff3 \
		--transcript_alignments $pasa_align_gff3 \
		--repeats $repeat_gff3 \
		--output_file_name evm.out \
		--weights $weight >command.list
		
ParaFly -c command.list -CPU 32 

recombine_EVM_partial_outputs.pl \
		--partitions $partition \
		--output_file_name evm.out 
		
convert_EVM_outputs_to_GFF3.pl \
		--partitions $partition \
		--output_file_name evm.out \
		--genome  $genome 

cat */evm.out.gff3 >evm.out.gff3

PASA update

#!/bin/bash


export PATH="$PATH:/usr_storage/jcf/.conda/envs/PASA "
source  /pub_storage2/new_PASA/.bashrc

genome="$1" #genome fasta file
annotation_conf="$2" #pasa annotation compare conf 
transcripts_fasta="$3" #transcripts_fasta file for PASA seqclean step
gff3="$4" #gff3 for PASA updata


Launch_PASA_pipeline.pl \
		-c $annotation_conf\
		-A -T -L \
		-g $genome\
		-t ${transcripts_fasta}.clean \
		-u $transcripts_fasta \
		--annots $gff3

这里只是提供了各个分析流程的脚本,对于初学者来说是比较有好的。我们在转录组上游分析教程[零基础]中提供了详细转录组上游分析的参数,对于初学者来说是比较友好的。

往期文章:

1. 复现SCI文章系列专栏

2. 《生信知识库订阅须知》,同步更新,易于搜索与管理。

3. 最全WGCNA教程(替换数据即可出全部结果与图形)

  • WGCNA分析 | 全流程分析代码 | 代码一

  • WGCNA分析 | 全流程分析代码 | 代码二

  • WGCNA分析 | 全流程代码分享 | 代码三

  • WGCNA分析 | 全流程分析代码 | 代码四

  • WGCNA分析 | 全流程分析代码 | 代码五(最新版本)


4. 精美图形绘制教程

  • 精美图形绘制教程

5. 转录组分析教程

转录组上游分析教程[零基础]

小杜的生信筆記 ,主要发表或收录生物信息学的教程,以及基于R的分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1281358.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++-内存管理

目录 一.C/C内存分布 二. C语言中动态内存管理方式&#xff1a;malloc/calloc/realloc/free 三. C内存管理方式 1.new/delete操作内置类型 2.new和delete操作自定义类型 四.C语言中的动态开辟内存空间和C中的区别 1.对于开辟内置类型 2.…

2023/12/3总结

RabbitMq 消息队列 下载地址RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ 使用详情RabbitMQ使用教程(超详细)-CSDN博客 实现延迟队列&#xff08;为了实现订单15分钟后修改状态&#xff09; 1 死信队列 当一个队列中的消息满足下列情况之一时&…

智能优化算法应用:基于秃鹰算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于秃鹰算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于秃鹰算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.秃鹰算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…

开源项目-对新手极其友好的数据结构与算法入门教程-hello-algo

点击上方“嵌入式应用研究院”&#xff0c;选择“置顶/星标公众号” 干货福利&#xff0c;第一时间送达&#xff01; 排版 | 嵌入式应用研究院 素材来源 |Github开源社区 从业多年&#xff0c;大家是否在工作中遇到很多软件逻辑问题难以解决&#xff1f;其实大多数情况下是由于…

一次电气——电抗器(一)

我之前的工作是在国外建联合循环电厂&#xff0c;现在的工作是研发一次电力设备。虽然仍是在电力行业发展&#xff0c;但这两份不同岗位不同职能的工作究其感受而言有很大的不同。相较于第一份工作&#xff0c;第二份工作带给我带来的更多的是一种由广及微&#xff0c;由浅入深…

小程序SSL证书

小程序通常需要与服务器进行数据交互&#xff0c;包括用户的登录信息、支付数据等。在没有安全保障的情况下&#xff0c;这些敏感数据容易受到黑客攻击&#xff0c;导致信息泄露和用户隐私的严重问题。因此&#xff0c;确保小程序中的通信安全势在必行。 SSL证书在小程序中扮演…

排序算法介绍(一)插入排序

0. 简介 插入排序&#xff08;Insertion Sort&#xff09; 是一种简单直观的排序算法&#xff0c;它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常…

TimeGPT:时间序列预测模型实例

时间序列预测领域正在经历一个非常激动人心的时期。在过去的三年里&#xff0c;我们见证了许多重要的贡献&#xff0c;如N-BEATS、N-HiTS、PatchTST和TimesNet等。同时&#xff0c;大型语言模型&#xff08;LLM&#xff09;近来在流行度方面取得了很大的成功&#xff0c;例如Ch…

Zotero 安装及常用插件设置指南

Zotero 安装及常用插件设置指南 本指南旨在帮助用户安装并配置 Zotero。通过本教程&#xff0c;您将能够实现以下功能&#xff1a; 界面语言设置为中文使用颜色标签来区分不同阅读状态的文献重要文献标记显示影响因子、JCP和中科院分区翻译插件Sci-Hub 集成 安装和设置步骤…

【算法】单调栈题单(矩阵系列、字典序最小、贡献法)⭐

文章目录 题单来源经典题单496. 下一个更大元素 I&#xff08;单调栈模板题&#xff09;503. 下一个更大元素 II&#xff08;单调栈循环数组&#xff09;2454. 下一个更大元素 IV&#xff08;第二个更大的元素&#xff1a;两个单调栈&#xff09;456. 132 模式&#xff08;单调…

Dockerfile与Docker网络

一、Dockerfile 1、概念&#xff1a; Dockerfile是用来构建docker镜像的文本文件&#xff0c;是由构建镜像所需要的指令和参数构建的脚本。 2、构建步骤&#xff1a; ① 编写Dockerfile文件 ② docker build命令构建镜像 ③ docker run依据镜像运行容器实例 Dockerfile …

电影《星愿》观后感

上周看了电影《星愿》&#xff0c;看这部电影的动机&#xff0c;主要是回忆的价值大于电影本身的价值&#xff0c;看着影片介绍&#xff0c;是迪士尼工作室成立百年&#xff0c;特别推出的影片。 具体来说&#xff0c;主要是在开头有一段是影片&#xff0c;各个时期的我们看过的…

Echarts大屏可视化_03 定制柱状图

柱状图模块引入 1.找到合适的图表 在echarts中寻找与目标样式相近的图表 Examples - Apache ECharts 2. 引入柱状图 使用立即执行函数构建&#xff0c;防止变量全局污染 实例化对象 将官网中提供的option复制到代码中&#xff0c;并且构建图表 // 柱状图模块1 (function () {/…

若依微服务项目整合rocketMq

原文链接&#xff1a;ttps://mp.weixin.qq.com/s/IYdo_suKvvReqCiEKjCeHw 第一步下载若依项目 第二步安装rocketMq&#xff08;推荐在linux使用docker部署比较快&#xff09; 第二步新建一个生产者模块儿&#xff0c;再建一个消费者模块 第四步在getway模块中配置接口映射规…

浅学指针(5)sizeof和strlen的进阶理解

系列文章目录 文章目录 系列文章目录前言1. sizeof和strlen的对⽐1.1 sizeofsizeof不是函数&#xff0c;是运算符 1.2 strlen1.3 sizeof 和 strlen的对⽐ 2. 数组和指针笔试题解析• sizeof(数组名)&#xff0c;sizeof中单独放数组名&#xff0c;这⾥的数组名表⽰整个数组&…

一款自动帮你生成UI界面和代码的AI神器

我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版&#xff0c;欢迎购买。点击进入详情 只要描述你想要的UI是什么样的&#xff0c;它就能帮你生成&#xff0c;是不是很神奇&#xff1f; v0使用 AI 模型根据简单的文本提示生成用户界面和代码&#xff…

有序表常见题型

给定一个数组arr和两个整数a和b求arr中有多少个子数组累加和在a到b这个范围上返回达标的子数组数量 如【3&#xff0c;6&#xff0c;1&#xff0c;9&#xff0c;2】达标的子数组通过暴力求解的方式时间复杂度为O&#xff08;N的三次方&#xff09;【找每个子数组占用O&#xf…

MQ - KAFKA 基础篇

##1、KAFKA的核心组件/API Producer API&#xff0c;它允许应用程序向一个或多个 topics 上发送消息记录 Consumer API&#xff0c;允许应用程序订阅一个或多个 topics 并处理为其生成的记录流 Streams API&#xff0c;它允许应用程序作为流处理器&#xff0c;从一个或多个主…

Ubuntu中安装IDEA,并配置桌面快捷方式

1、首先自己下载linux版本的idea 这一步省略不说了 2、在/usr/local/路径下新建安装目录IDEA&#xff1a; mkdir -p /usr/local/IDEA3、执行如下命令&#xff0c;解压下载的压缩包到指定目录&#xff1a; tar -zxvf ideaIU-2022.3.3.tar.gz -C /usr/local/IDEA 注意&#x…

QT 中 QDateTime::currentDateTime() 输出格式备查

基础 QDateTime::currentDateTime() //当前的日期和时间。 QDateTime::toString() //以特定的格式输出时间&#xff0c;格式 yyyy: 年份&#xff08;4位数&#xff09; MM: 月份&#xff08;两位数&#xff0c;07表示七月&#xff09; dd: 日期&#xff08;两位数&#xff0c…