生信软件20 - seqkit+awk+sed+grep高级用法技巧合辑

软件安装与示例数据文件下载

ensembl最新版本下载网址: https://ftp.ensembl.org/pub/release-112/

# seqkit安装
conda install -c bioconda seqkit -y

# 格式转换
conda install csvtk -y

# 查看seqkit帮助
seqkit

seqkit

# 下载GRCh38 fasta文件
wget https://ftp.ensembl.org/pub/release-112/fasta/homo_sapiens/dna/Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz
# 解压
# gzip -d Homo_sapiens.GRCh38.dna.primary_assembly.fa.gz

# 下载GRCh38 gtf文件
wget https://ftp.ensembl.org/pub/release-112/gtf/homo_sapiens/Homo_sapiens.GRCh38.112.gtf.gz

1. seqkit 查看fa.gz和fq.gz序列文件

seqkit可自动识别文件扩展名,而无需使用zcat查看.gz文件。

seqkit seq hairpin.fa.gz|less -S
# >cel-let-7 MI0000001 Caenorhabditis elegans let-7 stem-loop
# UACACUGUGGAUCCGGUGAGGUAGUAGGUUGUAUAGUUUGGAAUAUUACCACCGGUGAAC
# UAUGCAAUUUUCUACCUUACCGGAGACAGAACUCUUCGA

seqkit seq reads_1.fq.gz|less -S
# @HWI-D00523:240:HF3WGBCXX:1:1101:2574:2226 1:N:0:CTGTAG
# TGAGGAATATTGGTCAATGGGCGCGAGCCTGAACCAGCCAAGTAGCGTGAAGGATGACTGCCCTACGGG
# +
# HIHIIIIIHIIHGHHIHHIIIIIIIIIIIIIIIHHIIIIIHHIHIIIIIGIHIIIIHHHHHHGHIHIII


# 仅显示序列名称
seqkit seq Homo_sapiens.GRCh37.dna.primary_assembly.fa -n|head
# 1 dna:chromosome chromosome:GRCh37:1:1:249250621:1 REF
# 10 dna:chromosome chromosome:GRCh37:10:1:135534747:1 REF
# 11 dna:chromosome chromosome:GRCh37:11:1:135006516:1 REF

2. seqkit 压缩fasta文件

# -o 自动识别文件扩展名, 将fasta压缩为.gz格式
seqkit seq Homo_sapiens.GRCh37.dna.primary_assembly.fa.fasta \
-o Homo_sapiens.GRCh37.dna.primary_assembly.fa.fasta.gz

3. seqkit 统计fasta/fastq文件

# 单个文件统计
seqkit stats Homo_sapiens.GRCh37.dna.primary_assembly.fa
# file                                         format  type  num_seqs        sum_len  min_len       avg_len      max_len
# Homo_sapiens.GRCh37.dna.primary_assembly.fa  FASTA   DNA         84  3,101,804,739    4,262  36,926,246.9  249,250,621


# 统计全部fq.gz 和 fq.gz文件全部信息
seqkit stats *.f{a,q}.gz -a
# file               format  type  num_seqs    sum_len  min_len  avg_len  max_len   Q1   Q2   Q3  sum_gap  N50  N50_num  Q20(%)  Q30(%)  AvgQual  GC(%)
# reads_1.fq.gz      FASTQ   DNA      2,500    567,516      226      227      229  227  227  227        0  227        3   91.24   86.62    15.45  53.63
# reads_2.fq.gz      FASTQ   DNA      2,500    560,002      223      224      225  224  224  224        0  224        2   91.06   87.66    14.62  54.77


# 表格格式输出, 并通过csvtk转换为tab分割
seqkit stats *.f{a,q}.gz -T | csvtk pretty -t
# file                format   type   num_seqs   sum_len   min_len   avg_len   max_len
# -----------------   ------   ----   --------   -------   -------   -------   -------
# reads_1.fq.gz       FASTQ    DNA    2500       567516    226       227.0     229
# reads_2.fq.gz       FASTQ    DNA    2500       560002    223       224.0     225

4. seqkit 提取fasta指定染色体序列

# 提取1号染色体序列
seqkit grep -p 1 Homo_sapiens.GRCh37.dna.primary_assembly.fa \
-o Homo_sapiens.GRCh37.dna.primary_assembly.chr1.fa


# 查看>开头信息
cat Homo_sapiens.GRCh37.dna.primary_assembly.fa|grep '^>'
# 提取2号染色体10000-10050碱基序列
seqkit faidx Homo_sapiens.GRCh37.dna.primary_assembly.fa 2:10000-10050
#[INFO] create or read FASTA index ...
#[INFO] read FASTA index from Homo_sapiens.GRCh37.dna.primary_assembly.fa.fai
#[INFO]   84 records loaded from Homo_sapiens.GRCh37.dna.primary_assembly.fa.fai
#>2:10000-10050
#NCGTATCCCACACACCACACCCACACACCACACCCACACACACCCACACC

5. seqkit合并fastq文件夹全部fastq文件

seqkit scat -j 4 -f fastq_dir > all.fq

6. seqkit转换fasta为氨基酸序列文件

# 查看密码子表详细表, notincluding ambigugous codons
seqkit translate -l 1

# 查看密码子表详细表, including ambigugous codons
seqkit translate -L 1
# The Standard Code (transl_table=1)
# Source: https://www.ncbi.nlm.nih.gov/Taxonomy/taxonomyhome.html/index.cgi?chapter=tgencodes#SG1

# Initiation Codons:
#     ATG, CTG, TTG

# Stop Codons:
#     TAA, TAG, TGA

# Stranslate Table:
#     AAA: K, AAC: N, AAG: K, AAT: N
#     ACA: T, ACC: T, ACG: T, ACT: T
#     AGA: R, AGC: S, AGG: R, AGT: S
#     ATA: I, ATC: I, ATG: M, ATT: I

#     CAA: Q, CAC: H, CAG: Q, CAT: H
#     CCA: P, CCC: P, CCG: P, CCT: P
#     CGA: R, CGC: R, CGG: R, CGT: R
#     CTA: L, CTC: L, CTG: L, CTT: L

#     GAA: E, GAC: D, GAG: E, GAT: D
#     GCA: A, GCC: A, GCG: A, GCT: A
#     GGA: G, GGC: G, GGG: G, GGT: G
#     GTA: V, GTC: V, GTG: V, GTT: V

#     TAA: *, TAC: Y, TAG: *, TAT: Y
#     TCA: S, TCC: S, TCG: S, TCT: S
#     TGA: *, TGC: C, TGG: W, TGT: C
#     TTA: L, TTC: F, TTG: L, TTT: F

# --trim参数表示去除*
seqkit translate mouse-p53-cds.fna --trim
# >lcl|AB021961.1_cds_BAA82344.1_1 [gene=p53] [protein=P53] [protein_id=BAA82344.1] #[location=101..1273] [gbkey=CDS]
# MTAMEESQSDISLELPLSQETFSGLWKLLPPEDILPSPHCMDDLLLPQDVEEFFEGPSEA
# LRVSGAPAAQDPVTETPGPVAPAPATPWPLSSFVPSQKTYQGNYGFHLGFLQSGTAKSVM
# CTYSPPLNKLFCQLAKTCPVQLWVSATPPAGSRVRAMAIYKKSQHMTEVVRRCPHHERCS
# DGDGLAPPQHRIRVEGNLYPEYLEDRQTFRHSVVVPYEPPEAGSEYTTIHYKYMCNSSCM
# GGMNRRPILTIITLEDSSGNLLGRDSFEVRVCACPGRDRRTEEENFRKKEVLCPELPPGS
# AKRALPTCTSASPPQKKKPLDGEYFTLKIRGRKRFEMFRELNEALELKDAHATEESGDSR
# AHSSYLKTKKGQSTSRHKKTMVKKVGPDSD

7. 连接碱基序列

echo -e ">seq\nACGT-ACTGC-ACC"| seqkit seq -g -u
# >seq
# ACGTACTGCACC

8. 使用序列长度过滤fasta文件

-m 最小长度, -M 最大长度

cat hairpin.fa| seqkit seq -m 100 -M 1000| seqkit stats
# 文件格式类型num_seqs    sum_len min_len avg_len max_len
#-     FASTA   RNA     10,972 1560270      100    142.2      938

9. RNA和DNA序列的相互转换

# RNA to DNA, DNA to RNA 用--dna2rna参数
echo -e ">seq\nUCAUAUGCUUGUCUCAAAGAUUA" | seqkit seq --rna2dna
# >seq
# TCATATGCTTGTCTCAAAGATTA

10. 输出反向互补序列

seqkit seq hairpin.fa.gz -r -p
# >cel-let-7 MI0000001 Caenorhabditis elegans let-7 stem-loop
# UCGAAGAGUUCUGUCUCCGGUAAGGUAGAAAAUUGCAUAGUUCACCGGUGGUAAUAUUCC
#AAACUAUACAACCUACUACCUCACCGGAUCCACAGUGUA

11. grep 提取gtf指定染色体注释信息

# 提取1号染色体gtf注释
zcat Homo_sapiens.GRCh38.112.gtf.gz|grep -w '^1'| \
gzip -c > Homo_sapiens.GRCh38.112.gtf.chr1.gz

12. GTF文件转换为bed格式文件

# 需要使用gtftobed, 需conda安装bedops
conda install bedops -y

# gtf转换为bed格式
# gzip -c 压缩为.gz格式
zcat Homo_sapiens.GRCh38.112.gtf.gz|gtf2bed --do-not-sort| \
gzip -c > Homo_sapiens.GRCh38.112.bed.gz

13. 提取GTF文件外显子exon信息

# 提取gtf exon信息
zcat Homo_sapiens.GRCh38.112.gtf.gz|grep exon | \
cut -f1,4,5,9 | cut -d ";" -f1  |  \
awk '{print $1, $2, $3, $5}' | \
sed -e 's/ /\t/g' | sed -e 's/\"//g' > gtf.exon.bed

生信软件文章推荐

生信软件1 - 测序下机文件比对结果可视化工具 visNano

生信软件2 - 下游比对数据的统计工具 picard

生信软件3 - mapping比对bam文件质量评估工具 qualimap

生信软件4 - 拷贝数变异CNV分析软件 WisecondorX

生信软件5 - RIdeogram包绘制染色体密度图

生信软件6 - bcftools查找指定区域的变异位点信息

生信软件7 - 多线程并行运行Linux效率工具Parallel

生信软件8 - bedtools进行窗口划分、窗口GC含量、窗口测序深度和窗口SNP统计

生信软件9 - 多公共数据库数据下载软件Kingfisher

生信软件10 - DNA/RNA/蛋白多序列比对图R包ggmsa

生信软件11 - 基于ACMG的CNV注释工具ClassifyCNV

生信软件12 - 基于Symbol和ENTREZID查询基因注释的R包(easyConvert )

生信软件13 - 基于sambamba 窗口reads计数和平均覆盖度统计

生信软件14 - bcftools提取和注释VCF文件关键信息

生信软件15 - 生信NGS数据分析强大的工具集ngs-bits

生信软件16 - 常规探针设计软件mrbait

生信软件17 - 基于fasta文件的捕获探针设计工具catch

生信软件18 - 基于docker部署Web版 Visual Studio Code

生信软件19 - vcftools高级用法技巧合辑

更多内容请关注公众号【生信与基因组学】,定期更新生信算法和编程、基因组学、统计学、分子生物学、临床检测和深度学习等内容。

在使用自学网提供的关于结合GEO数据与孟德尔随机化(MR)进行免疫浸润分析的代码时,运行失败可能是由多种原因引起的。以下是一些常见的错误类型及其解决方法: ### 1. 环境配置问题 **常见错误:** - 缺少必要的R包或版本不匹配。 - R和RStudio版本过旧。 **解决方法:** - 安装缺失的R包,例如`TwoSampleMR`, `limma`, `Seurat`, `clusterProfiler`等: ```r install.packages("BiocManager") BiocManager::install("limma") install.packages("TwoSampleMR") ``` - 更新R和RStudio至最新版本以确保兼容性。 ### 2. 数据格式不正确 **常见错误:** - GEO数据未正确下载或未转换为适合分析的格式。 - 基因表达矩阵与表型数据不匹配。 **解决方法:** - 使用`GEOquery`包下载并解析GEO数据集: ```r library(GEOquery) gse <- getGEO("GSE159677", GSEMatrix = TRUE, getGPL = FALSE) exprs_data <- exprs(gse) ``` - 检查基因ID是否一致,必要时进行转换(如从探针ID转为基因名)。 ### 3. MR分析参数设置不当 **常见错误:** - 工具变量选择不合适,如SNP数量不足或质量不高。 - 忽略异质性检验或敏感性分析。 **解决方法:** - 明确暴露和结局变量的选择标准,确保工具变量满足MR假设: ```r exposure_dat <- extract_instruments(outcomes = "ieu-a-2", clump = TRUE) outcome_dat <- extract_outcome_data(snps = exposure_dat$snps, outcomes = "ieu-b-1001") dat <- harmonise_data(exposure_dat, outcome_dat) ``` - 进行IVW、MR-Egger等多种方法分析,并执行留一法检验以评估结果稳定性[^1]。 ### 4. 免疫浸润分析流程中断 **常见错误:** - CIBERSORT或其他免疫细胞比例估算工具未能正确调用。 - 输入文件格式不符合要求。 **解决方法:** - 确保使用正确的参考矩阵(如LM22),并按照文档格式准备输入文件: ```r library(cibersort) result <- runCIBERSORT("expression_data.txt", "LM22.txt", 1000, "output_directory") ``` - 检查是否存在缺失值或异常值,必要时进行预处理。 ### 5. 单细胞数据分析中的常见问题 **常见错误:** - 数据质控不严格,导致低质量细胞干扰分析。 - 细胞注释不准确。 **解决方法:** - 使用`Seurat`包进行标准化质控,包括线粒体基因比例、UMI计数过滤等: ```r library(Seurat) pbmc <- CreateSeuratObject(counts = pbmc3k.final, project = "3K") pbmc[["percent.mt"]] <- PercentageFeatureSet(pbmc, pattern = "^MT-") pbmc <- subset(pbmc, subset = nFeature_RNA > 200 & nFeature_RNA < 2500 & percent.mt < 5) ``` - 结合已知标记基因手动注释细胞类型,或使用自动化工具如`SingleR`辅助识别[^2]。 ### 6. 可视化与结果解读问题 **常见错误:** - 图形无法正常显示或保存。 - 对统计结果理解偏差。 **解决方法:** - 使用`ggplot2`或`pROC`等包检查绘图代码逻辑是否完整,输出路径是否正确: ```r library(pROC) roc_obj <- roc(response = labels, predictor = predictions) plot(roc_obj) ``` - 仔细阅读文献和函数帮助文档,确保对统计指标(如OR值、FDR校正等)的理解无误。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

生信与基因组学

每一份鼓励是我坚持下去动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值