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

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

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

本期分析流程

  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/bashgenome=$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 $indexhisat2 -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}.samsamtools sort -@ 20 \-o ${index}.sorted.bam \-O BAM \${index}.sam

PSSA_align

#!/bin/bashexport 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 fileseqclean $transcripts_fasta \-v /pub_storage2/PASA/UniVecLaunch_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 trinityexport 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_$outTrinity --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/bashexport PATH="$PATH:/usr_storage/jcf/.conda/envs/BUSCO"
source /usr_storage/jcf/geta-user204/.bashrcrna_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/bashexport 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 evmpartition_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 $partitionwrite_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.listParaFly -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/bashexport PATH="$PATH:/usr_storage/jcf/.conda/envs/PASA "
source  /pub_storage2/new_PASA/.bashrcgenome="$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 updataLaunch_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.mzph.cn/news/194661.shtml

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

相关文章

华为手环配置技巧

前言 华为手环作为生活健康辅助设备发挥不可忽视的作用&#xff0c;但每次更换手环后需要重新配置。华为手环不仅有健康监测、消息通知、天气推送、离线支付、公交卡、运动锻炼、等功能&#xff0c;还有倒计时、计时器、手电筒、闹钟、等小工具。下文介绍如何进行配置。 配置…

qt-C++笔记之组件-分组框QGroupBox

qt-C笔记之组件-分组框QGroupBox code review! 文章目录 qt-C笔记之组件-分组框QGroupBox1.《Qt 6 C开发指南》p752.《Qt 官方文档》3.《Qt 5.12实战》——5.9 分组框控件 1.《Qt 6 C开发指南》p75 2.《Qt 官方文档》 中间段落翻译&#xff1a; 我把示例补充完整&#xff1a; …

深入了解Java8新特性-日期时间API之ZonedDateTime类

阅读建议 嗨&#xff0c;伙计&#xff01;刷到这篇文章咱们就是有缘人&#xff0c;在阅读这篇文章前我有一些建议&#xff1a; 本篇文章大概19000多字&#xff0c;预计阅读时间长需要10分钟以上。本篇文章的实战性、理论性较强&#xff0c;是一篇质量分数较高的技术干货文章&…

【Java 基础】17 集合

文章目录 1.基本概念2.核心接口3.常见实现1&#xff09;List 接口的实现类ArrayListLinkedListVector 2&#xff09;Set 接口的实现类HashSetLinkedHashSetTreeSet 3&#xff09;Queue 接口的实现**类**ArrayQueue 4&#xff09;Map 接口的实现类HashMapLinkedHashMapTreeMap 4…

GateWay的路由与全局过滤器

1.断言工厂 我们在配置文件中写的断言规则只是字符串&#xff0c;这些字符串会被Predicate Factory读取并处理&#xff0c;转变为路由判断的条件 例如Path/user/**是按照路径匹配&#xff0c;这个规则是由 org.springframework.cloud.gateway.handler.predicate.PathRoutePr…

shell编程-awk命令详解(超详细)

文章目录 前言一、awk命令介绍1. awk命令简介2. awk命令的基本语法3. 常用的awk命令选项4. 常用的awk内置变量 二、awk命令示例用法1. 打印整行2. 打印特定字段3. 根据条件筛选行4. 自定义分隔符5. 从文件中读取awk脚本 总结 前言 awk命令是一种强大的文本处理工具&#xff0c…

【C++】异常处理 ⑦ ( 异常类的继承层次结构 | 抛出 / 捕获 多个类型异常对象 | 抛出子类异常对象 / 捕获并处理 父类异常对象 )

文章目录 一、抛出 / 捕获 多个类型异常对象1、抛出 / 捕获 多个类型异常对象2、操作弊端3、完整代码示例 二、异常类的继承层次结构1、抛出子类异常对象 / 捕获并处理 父类异常对象2、完整代码示例 - 抛出子类异常对象 / 捕获并处理 父类异常对象 自定义的 异常类 , 可能存在 …

23.12.3日总结

饿了么项目进度 新建菜品的添加属性&#xff1a; 适应不同尺寸的媒体查询&#xff1a; 菜品详细页面&#xff1a; 项目上遇到的问题 媒体查询遇到的问题&#xff1a; 关于媒体查询不能生效的原因-CSDN博客 答辩总结 js中声明变量的关键字&#xff08;const&#xff0c;let…

初始化 Clouder Manager 数据库报错Unable to find JDBC driver for database type: MySQL

CDH部署初始化 Clouder Manager 数据库报错。 解决方法&#xff1a; 把mysql驱动放到 /usr/share/java/目录下面(没有的新建&#xff09;&#xff0c;驱动名称也要修改为mysql-connector-java.jar 再次执行后成功&#xff1a; sudo /opt/cloudera/cm/schema/scm_prepare_data…

SpringBoot之自定义Starter

目录 一、自己的理解 1. 理解一 2. 理解二 二、自定义starter&#xff08;重点&#xff09; 三、以mybatis-spring-boot-starter为例进行分析 1. 写好自己的自动配置类逻辑 2. 创建自己的starter项目并引入自动配置类项目的依赖 3. 在其它项目中使用自定义的starter 一…

[ 云计算 | AWS 实践 ] 使用 Java 检查指定的密钥是否存在于给定的 Amazon S3 存储桶中

本文收录于【#云计算入门与实践 - AWS】专栏中&#xff0c;收录 AWS 入门与实践相关博文。 本文同步于个人公众号&#xff1a;【云计算洞察】 更多关于云计算技术内容敬请关注&#xff1a;CSDN【#云计算入门与实践 - AWS】专栏。 本系列已更新博文&#xff1a; [ 云计算 | …

Java 数组另类用法(字符来当数组下标使用)

一、原因 看力扣的时候发现有位大佬使用字符来当数组下标使用。 class Solution {public int lengthOfLongestSubstring(String s) {int result 0;int[] hash new int[130];int i 0;for(int j 0; j < s.length(); j) {while(hash[s.charAt(j)] > 0) {hash[s.charAt…

虚拟化逻辑架构: VM VirtualBox 指定6.0.24版本开启硬件辅助虚拟化功能

目录 一、实验 1.安装VM VirtualBox-6.0.24 2.安装VM VirtualBox-6.1.26 3.再次重新安装VM VirtualBox-6.0.24 二、问题 1.系统开机报错 2.Ubuntu系统无法自适应VM VirtualBox系统边框 3.VirtualBox如何开启无缝模式 3.Ubuntu如何查询软件是否已经安装 一、实验 1.安…

react二次封装Modal和Drawer组件

目录 react二次封装Modal和Drawer组件01&#xff1a;Modal组件01-1 BaseModal.jsx01-2 使用BaseModal组件01-3 效果 02&#xff1a;Drawer组件02-1 BaseDrawer.jsx组件02-2 使用BaseDrawer组件02-3效果 react二次封装Modal和Drawer组件 npm i styled-components 01&#xff1…

移除元素、合并两个有序数组(leetcode)

一、移除元素 思路三&#xff1a; while(src<numsSize) 使用一个 while 循环来遍历数组。循环的条件是 src 必须小于 numsSize&#xff0c;以确保不会越界。 if(nums[src]!val) 如果当前 src 指向的元素不等于给定的值 val&#xff0c;则执行以下操作&#xff1a; nums[ds…

[RoFormer]论文实现:ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING

文章目录 一、完整代码二、论文解读2.1 注意力机制2.2 绝对位置编码2.3 相对位置编码2.4 旋转位置编码Long-term decayAdaption for linear attention 2.5 模型效果 三、过程实现四、整体总结 论文&#xff1a;ROFORMER: ENHANCED TRANSFORMER WITH ROTARY POSITION EMBEDDING …

Java 使用itextpdf创建Pdf文件

DOM文件添加Maven依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext7-core</artifactId><version>7.2.0</version><type>pom</type></dependency> 主要代码&#xff1a; PdfFont font PdfFo…

yo!这里是智能指针相关介绍

目录 前言 内存泄漏 RAII 智能指针原理 智能指针分类 auto_ptr unique_ptr shared_ptr 两个问题 线程安全 循环引用 后记 前言 对于智能指针&#xff0c;听起来很高大上&#xff0c;其实本质上就是一个类。为什么叫指针呢&#xff1f;因为可以像指针一样管理一块资…

linux 应用开发笔记---【I/O文件/基础篇 】

文章笔记来自于【速学Linux】手把手教你学嵌入式Linux C应用编程_哔哩哔哩_bilibili 一&#xff0c;什么是linux应用程序 1.运行在linux操作系统用户空间的程序 2.内核程序运行在内核空间&#xff0c;应用程序运行在用户空间 在终端执行的命令ls,ps。。。。。。都是运行在用…

【MySQL的DQL查询语句】

MySQL的DQL查询语句-----在Navicat下 将学生表导入Navicat中查询语句查询一整张表查询年龄大于22年龄大于22的女生查找文科的学生查找六班的学生计算学生的总分 &#xff08;group by&#xff09;合并两表 &#xff08;join on xxxx&#xff09;合并两张表 并求总分先合并在聚合…