您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么根據class_code篩選轉錄本”,在日常操作中,相信很多人在怎么根據class_code篩選轉錄本問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么根據class_code篩選轉錄本”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
鏈特異文庫鑒定長鏈非編碼RNA(lncRNA)的基本步驟是
stringtie -p 12 --rf -o transcripts.gtf sorted.bam
ls *.gtf > list.merged.txt
~/Biotools/gffcompare/gffcompare -r reference.gtf -i list.merged.txt -o merged
得到一個 merged.combined.gtf這個文件里給每一個轉錄本分配了一個class_code用來表示轉錄本相對于參考基因組的位置
以上圖片來源于論文 GFF Utilities: GffRead and GffCompare
長鏈非編碼RNA通常是選擇class_code為u/x/i,比如論文 Global identification of Arabidopsis lncRNAs revealsthe regulation of MAF4 by a natural antisense RNA 中就提到 only transcripts with TAIR10 annotation [Cufflinks class codes ‘u’ (intergenic transcripts),’x’ (Exonic overlap with reference on the opposite strand),’i’ (transcripts entirely within intron) were retained.
那么問題就來了,如何利用 merged.combined.gtf 這個文件獲得 class_code 為 u、x和i的轉錄本的gtf文件呢
找到了一個辦法,python中有一個模塊 pyGTF,github鏈接是https://github.com/chengcz/pyGTF
直接使用pip安裝
pip install pyGTF
可以解析gft格式的注釋文件
利用這個模塊來寫一個簡單的腳本
import sys
from pyGTF import Transcript
from pyGTF import GTFReader
in_gft = sys.argv[1]
class_code = sys.argv[2]
out_gtf = sys.argv[3]
fw = open(out_gtf,'w')
with GTFReader(in_gtf,flag_stream=True) as fi:
for i in fi:
if i._attri['class_code'] == class_code:
i.to_gtf(fw)
fw.close()
使用方法是
python 01.py in.gtf i out.gtf
####今天學到的另外一個知識點: samtools統計fasta文件序列長度,根據序列名提取序列
https://www.cnblogs.com/xudongliang/p/5200655.html
使用命令
samtools faidx input.fasta
會生成一個input.fasta.fai的文件,文件的內容總共有5列 第一列是序列名,第二列是序列長度,第四列是每行多少個堿基
根據序列名提取序列 這里好像只能提取單條序列
samtools faidx input.fasta TCONS_00000018 > TCONS_00000018.fa
還可以加上指定的位置
samtools faidx input.fasta TCONS_00000018:1-10
>TCONS_00000018:1-10
TGGGCGAACG
到此,關于“怎么根據class_code篩選轉錄本”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。