1. 環(huán)境安裝
java version "1.8.0_161"
2. flashfry index
hg38索引構(gòu)建,大約需要2h
java -Xmx4g -jar FlashFry-assembly-1.15.jar
index --tmpLocation ./tmp --database hg38_cas9ngg_database
--reference /mnt/f/GENCODE_hisat2/GRCh38.primary_assembly.genome.fa
--enzyme spcas9ngg
# Main - Total runtime 12567.79 seconds
3. 建庫序列查詢
建庫需求:靶基因TSS±200 bp序列和固定染色體區(qū)域序列
hg19可以選擇以下方式:
如何獲取所有基因的轉(zhuǎn)錄起始位點--轉(zhuǎn)載 - nkwy2012 - 博客園 (cnblogs.com)
hg38版本
基因組注釋文件(二)| gff 和 gtf文件格式說明 - 簡書 (jianshu.com)
生物信息常見文件的格式以及查看方式 | Public Library of Bioinformatics (plob.org)
TSS位置
#第一個 awk 過濾出所有 gene 類型的行。
#第二個 awk 根據(jù)鏈方向計算 TSS 上下 200 bp 的區(qū)域,并輸出 BED 文件格式。
awk '$3 == "gene"' gencode.v43.primary_assembly.annotation.gff3 | awk '{OFS="\t"; if($7 == "+") print $1, $4-200, $4+200, $9; else if($7 == "-") print $1, $5-200, $5+200, $9}' > genes_tss.bed
less genes_tss.bed
library(rtracklayer)
library(GenomicRanges)
# genes_tss.bed
bed_data <- import("G:/linux/flashfry/genes_tss.bed")
bed_df <- as.data.frame(bed_data)
View(bed_df)
y <- bed_df$name
strsplit(as.character(y),"[;]")[[1]][4]
gene_type <- unlist(lapply(y,function(y) strsplit(as.character(y),"[;]")[[1]][3]))
gene_name <- unlist(lapply(y,function(y) strsplit(as.character(y),"[;]")[[1]][4]))
bed_df$gene_type<- gene_type
bed_df$gene_name<- gene_name
da <- subset(bed_df,bed_df$gene_type=="gene_type=protein_coding")
View(da)
d = da[!duplicated(da$gene_name),]
dim(d)
dim(da)
x <- d$gene_name
name <- unlist(lapply(x,function(x) strsplit(as.character(x),"[=]")[[1]][2]))
d$name<- name
View(d)
#target gene
target <- readxl::read_xlsx("target.xlsx")
View(target)
merge <- merge(d,target,by="name")
View(merge)
targeashfry/target_for_bed.csv > target_for_TSS.bedt_for_bed <- merge[,2:6]
View(target_for_bed)
write.csv(target_for_bed,"target_for_bed.csv")
awk -F',' 'NR>1 {print $1"\t"$2"\t"$3"\t"$4"\t"$5}' /mnt/g/Rstudio/20240603flashfry/target_for_bed.csv > target_for_TSS.bed
#-F',' 設(shè)置字段分隔符為逗號
#NR>1 跳過第一行(表頭)
bedtools getfasta -fi /mnt/f/GENCODE_hisat2/GRCh38.primary_assembly.genome.fa -bed target_for_TSS.bed -fo TSS_target.fa
4. 設(shè)計序列
java -Xmx4g -jar FlashFry-assembly-1.15.jar \
discover \
--database hg38_cas9ngg_database \
--fasta TSS_target.fa \
--output TSS_target.output
java -Xmx4g -jar FlashFry-assembly-1.15.jar \
score \
--input TSS_target.output \
--output TSS_target.output.scored \
--scoringMetrics doench2014ontarget,doench2016cfd,dangerous,hsu2013,minot \
--database hg38_cas9ngg_database
Site scoring - mckennalab/FlashFry GitHub Wiki (github-wiki-see.page)