人

基因家族分析 | 基因家族成员鉴定(hmm模型＆同源blast) - 简书 (jianshu.com)

基因家族鉴定流程

以NLR基因家族流程鉴定为例

1.      资料下载

首先在interpro网站（https://www.ebi.ac.uk/interpro/），Member DB中搜索NLR（GATA），并下载它全部的蛋白质

Fig 1   interPro html home

|

Fig2  NLR（GATA）搜索结果

Fig3   下载fasta文件

下载完成后会得到一个名为protein-matching-PF21402.fasta的文件，将其上传至服务器指定文件夹内（自己分析文件处），本次示例存放在/home/data1/renminpeng/GeneFamily_redo（/home/data1/Ghl/genefimily）路径下。

至此，资料下载部分介绍完毕。

2．

2.1使用hmmbuild构建.hmm文件

打开SecureCRT软件，切换路径：cd /home/data1/renminpeng/GeneFamily_redo/（/home/data1/Ghl/genefimily）

然后运行以下代码：

mafft --auto --clustalout /home/data1/renminpeng/GeneFamily_redo/protein-matching-PF21402.fasta > /home/data1/renminpeng/GeneFamily_redo/Pfam21402.FBNs.align.clustal

（mafft --auto --clustalout /home/data1/Ghl/genefimily/protein-matching-PF16497.fasta > Pfam16497.FBNs.align.clustal

）

应得到以下文件：

2.2文件格式转换

将上述生成文件上传至：https://sequenceconversion.bugaco.com/converter/biology/sequences/fasta_to_phylip.php

网站中，根据以下选项进行设置

超过50M用命令esl-reformat clustal stockholm input.clustal > output.stockholm
（esl-reformat clustal stockholm Pfam16497.FBNs.align.clustal > output.stockholm）
(rom Bio import AlignIO

# 读取.clustal格式文件

alignment = AlignIO.read("/home/data1/renminpeng/GeneFamily_redo/test/Pfam16497.FBNs.align.clustalg", "clustal")

# 将alignment对象写入.stockholm格式文件

with open("/home/data1/renminpeng/GeneFamily_redo/test/output.stockholm", "w") as out_handle:

AlignIO.write([alignment], out_handle, "stockholm")

)

应得到以下文件，将该文件上传至服务器指定文件夹内：

2.3hmmbuild构建文件

在SecureCRT软件中，输入以下命令：

hmmbuild Pfam21402.FBNs.hmm sample.stockholm

（hmmbuild Pfam16497.FBNs.hmm sample.stockholm）

得到以下文件：

2.4 hmmsearch

将参考蛋白质序列，即NCBI下载的protein.fa文件上传至服务器内

输入以下命令：

hmmsearch /home/data1/renminpeng/GeneFamily_redo/Pfam21402.FBNs.hmm /home/data1/renminpeng/GeneFamily_redo/protein.fa > /home/data1/renminpeng/GeneFamily_redo/PF21402.hmmer.out.txt
（hmmsearch Pfam16497.FBNs_1.hmm /home/data1/renminpeng/GeneFamily_redo/protein.fa > PF16497.hmmer.out_1.txt

）
hmmsearch PF00129.hmm protein.fa >/home/data1/Ghl/genefimily/other_hmm/txt/PF00129.hmm.txt

应得到以下文件：

输入筛选命令：

（cat PF16497.hmmer.out_1.txt|grep -v "#" | awk '{if($4 < 1e-5 && $5 > 90) print $9}' | sort | uniq | grep -v "+" > PF21402.hmmer.best.out_1.txt）

cat PF21402.hmmer.out.txt |grep -v "#" | awk '{if($4 < 1e-5 && $5 > 90) print $9}' | sort | uniq | grep -v "+" > PF21402.hmmer.best.out.txt

应得到以下文件：

如果之前做过一次，那么直接跳转到

2.5TBtools提取参考基因组CDS序列（输入参考NCBI的gtf,fa得到cds，ID应该为XM…）
Gallus gallus - NCBI - NLM (nih.gov)

注意配套使用，即应用NCBI的参考基因组.fa和.gtf或者ensembl的.fa或.gft文件，不能交叉混用。

2.6翻译CDS序列（cds转换成.fa,ID为XM…）

TBtools中Batch Translate CDS to Protein插件可以实现，输入上步得到的Gallus CDS.fa文件，输出Gallus CDS to protein.fa文件

应得到以下文件：

2.7提取目的蛋白序列（2.4的xp，与参考的protein.fa，提取，得到ID为xp的.fa）

将2.4得到的目的基因蛋白ID，通过参考protein.fa进行提取，注意输出文件为.fa文件

应得到以下文件：

2.8多序列比对(上面的得到ID为xp的蛋白质.fa文件   与 ID为XM…蛋白质.fa比对   )

TBtools中 Blast Several Sequnences to a Big Database, 输入目标基因蛋白序列，和提取到目标物种的蛋白序列，进行比对，注意输出为Table制符表格式，以便后续Excel操作。

应得到以下文件：（XP与NM比对）

红色矩形圈出的为比对出的基因ID，可视情况进行筛选，将以上内容复制到excel中，提取所圈出列的内容。

2.9提取目标物种的NLR基因家族所有蛋白序列

在excel中，将重复的单元格进行删除。

在TBtools中Fasta Extract，输入目标物种所有蛋白fasta文件（CDS to protein）和excel筛选好的基因名，设置输出结果。（筛选后的ID为XM…的fa）

应得到以下文件：

target_protein_made_by_cds_and_hummer.fa

3.

3.1基因家族Motif分析

首先打开MEME网页进行在线分析，将上步的得到的基因家族蛋白序列提交，motif设置为10进行分析。

（提交的target应该为ID为XM…的）

MEME网站：https://meme-suite.org/meme/tools/meme

稍等片刻后，在结果页面点击MAST_XML_output,  Ctrl+S进行保存

Tbtools打开Visualize MEME/MAST Motif Pattern工具，将保存好的mast文件拖入，设置好基因ID，点击start即可得到motif图片。

除非不同物种同一基因家族才行

4. 基因家族保守结构域分析

首先打开NCBI的Batch CDD 网页进行在线分析，将2.9得到的基因家族蛋白序列上传进行分析。

NCBI CDD网站：https://www.ncbi.nlm.nih.gov/Structure/bwrpsb/bwrpsb.cgi

下载结果

会得到hitdata .txt文件，

打开hitdata .txt可以筛选出自己想要研究的基因家族。改成hitdata+基因家族 .txt

筛选鉴定基因家族：

新建一个表格，鉴定基因家族，将筛选基因家族后的hitdata+基因家族 .txt复制进去。得到的是NCBI的工具认为的含有这个结构域的基因。

另一种方法，打开Browse - InterPro (ebi.ac.uk)，

上传序列，target_protein_made_by_cds_and_hummer.fa

提交：

看结果

这种方法可以可视化，但是得到108个，MHC1和MHC2不好找。用NCBI的

TBtools中打开Visualize NCBI CDD Domain Pattern工具，将刚下好的.txt文件和.fa文件拖入，点击start即可获得图片。

5. 基因结构分析

TBtools中 Visualize Gene Structure完成，需要键入基因组注释gff文件和target基因名。

得到以下图片

6. 基因家族进化分析

通过MEGA构建一个简单的基因树，输入数据为目标物种P450基因家族的蛋白质序列。

6.1打开MEGA界面，上传序列数据

上传文件应为target protein made by CDS and hummer.fa，将序列全部选中后点击Align by MUSCLE进行比对，然后将文件保存为.mas文件

点击PHYLOGENY，选择第一个建树方法，输入文件为保存的.mas文件，使用默认参数（可后期调整）。

进程完成后，进行适当调整，输出.newick文件并保存。

|

7. 展示所有结果

分别将生成的.nwk文件、mast.xml、基因组注释文件、CDD结果以及Domain结果输入

注意，Domain文件需要自己制作，方法如下：

NCBI中CDD结果下载hitdata.txt文件，将整个txt内容复制到excel表中，全部选中，点击方方格子—随机重复—删除重复值—整行对比进行删除，完成后将query列、from列、to列、Short name列移动到一旁，这四列内容应进一步存放在新建txt文本中，在Set Input Doamin info. In amino Acid(protein)功能中使用。

不要GTF文件

不要GTF文件

不要GTF文件

不要GTF文件

得到以下示例图：

筛选得到想要的基因家族的基因，重命名，做蛋白质的理化性质。

将找到的基因家族基因的蛋白质序列提取出来

找蛋白质长度

整理到表格中

找跨膜域

https://services.healthtech.dtu.dk

提交筛选的基因家族蛋白质序列

得到下面这个，然后复制粘贴，整理到表格里，得到跨膜结构域

然后找等电点和分子量

https://www.expasy.org

用下面这个工具

这种方法繁琐，用TBTOOLS做吧

这个表格列出了蛋白质序列的一些基本属性和预测结果，每列的含义如下：

1. **跨膜域的数量 (PredHel)**: 预测的跨膜螺旋区域的数量。这通常是通过某些生物信息学工具预测的，用于预测蛋白质是否有跨膜区域，以及有多少个。这里的“1”意味着预测有一个跨膜螺旋区域，“0”意味着没有预测到跨膜螺旋区域。

2. **Sequence ID**: 序列标识符。这是一个唯一的标识符，用于指代特定的蛋白质或者基因序列。这里的格式（如NM_001017412.2）通常表示这是一个在特定数据库（如NCBI）中注册的序列版本。

3. **Number of Amino Acid**: 氨基酸的数量。这表明了蛋白质链中氨基酸的总数，直接反映了蛋白质的长度。

4. **Molecular Weight**: 分子量。这是蛋白质的分子量，以道尔顿（Da）或者克/摩尔（g/mol）为单位。分子量是根据蛋白质中所有原子的相对原子质量总和计算得出的。

5. **Theoretical pI**: 理论等电点。等电点是蛋白质在溶液中不迁移的pH值，即蛋白质表面正负电荷平衡的pH值。这个值是理论计算得出的，根据蛋白质序列中氨基酸的性质进行估算。

6. **Instability Index**: 不稳定指数。这是一个预测蛋白质稳定性的参数，值越低表示蛋白质越稳定。通常，不稳定指数大于40的蛋白质被认为是不稳定的。

7. **Aliphatic Index**: 脂肪族指数。这是衡量蛋白质中脂肪族氨基酸（如丙氨酸、缬氨酸、亮氨酸）相对含量的一个指标。脂肪族指数越高，蛋白质的热稳定性可能越好。

8. **Grand Average of Hydropathicity (GRAVY)**: 总平均亲疏水性。这个值通过计算蛋白质序列中所有氨基酸亲疏水值的平均值得出。值为正表示整体亲水性，值为负表示整体疏水性。这个参数有助于了解蛋白质在水环境中的行为。

会得到上述红色的部分。

接着：亚细胞定位
https://wolfpsort.hgc.jp

整理到表格里

选择alg-alg by  NJ,比对，保存fas格式

修建后的拖入MEGA中，用NJ方法

构建树，保存一下

得到图，美化工具

简单修改下ID，替换就行

PlantCARE, a database of plant promoters and their cis-acting regulatory elements (ugent.be)

会收到邮件，然后解压一下

用动物

AnimalTFDB4 (wchscu.cn)

NCBI-gallus-MHC搜索，然后下载下来用里面的代码得到combined_protein.faa

Windows_cmd

for /d %F in (*_datasets) do (

if exist "%F\ncbi_dataset\data\rna.fna" (

type "%F\ncbi_dataset\data\rna.fna" >> combined_rna.fna

)

)

combined_rna.fna改名input.fasta

然后

Python input.py

def parse_fasta(filename):

with open(filename, 'r') as file:

fasta = file.read().split('>')

gene_data = {}

for entry in fasta:

if entry.strip():

lines = entry.split('\n')

header = lines[0].strip()

sequence = ''.join(lines[1:]).strip()

# Extract GeneID for identifying unique entries

gene_id = header.split('[GeneID=')[-1].split(']')[0]

# Store the sequence only if it's the longest one seen for this GeneID

if gene_id not in gene_data or len(sequence) > len(gene_data[gene_id][1]):

gene_data[gene_id] = (header, sequence)

return gene_data

def write_longest_variants(gene_data, output_filename):

with open(output_filename, 'w') as file:

for _, (header, sequence) in gene_data.items():

file.write(f">{header}\n{sequence}\n")

# Example usage

gene_data = parse_fasta('input.fasta')

write_longest_variants(gene_data, 'output.fasta')

得到了target_hummer.fa

findstr "^>" output.fasta > headers_only.fasta

不满，但是剩下的是假基因

有用

ID转换
网站：

https://www.ncbi.nlm.nih.gov/sites/batchentrez

BF1

BF2

MHCY1

MHCY2

MHCY4

MHCY6

MHCY7

MHCY8

MHCY9

MHCY10

MHCY11

MHCY12

MHCY13

MHCY14

MHCY15

MHCY30

MHCY32

MHCY34

MHCY35

MHCY36

MHCY37

MHCY38

MHCY44

MHCY46

MHCY47

MHCY48

MHCY51

MHCY52

MHCY55

MHCY57

MHCY58

MHCY59

MHCY60

MHCY61

MHCY62

MHCY63

MHCY64

MHCY65

MHCY66

YLEC55

LOC121106430

DMA

BLA

BLB1

BLB2

MHCY2B1

MHCY2B2

MHCY2B7

顺势作用元件

ALGGEN - PROMO (upc.es)

E:\工作\基因家族-genefamily\new_begin\重命名\mRNA-顺势作用元件

下载，整理到一起

共线性

有个功能很强大，batch

E:\工作\基因家族-genefamily\all\just_MHC2\gxx\input_file\one_step\NCBI_Gallus7b_reference_genome.fa.vs.NCBI_Gallus7b_reference_genome.fa.gff

E:\工作\基因家族-genefamily\new_begin\重命名\mRNA-种内共线性

看起来需要对代码进行调整，确保正确地替换匹配到的序列标识符。根据你的描述，看起来你希望在第一个文件中的每行中查找并替换基因组标识符（例如：`NC_029516.1`）为新的名称（例如：`chr1`）。这意味着我们需要对第一个文件中的每一行进行处理，而不仅仅是替换完整行。

以下是更新后的Shiny应用代码，它会正确地在每行中查找和替换基因组标识符：

```r

library(shiny)

# UI定义

ui <- fluidPage(

titlePanel("数据替换工具"),

sidebarLayout(

sidebarPanel(

fileInput("txt_file", "选择TXT文件", accept = ".txt"),

fileInput("replace_file", "选择替换文件", accept = ".txt"),

actionButton("replace", "执行替换"),

tags$hr(),

downloadButton("downloadData", "下载替换后的数据")

),

mainPanel(

textOutput("text")

)

)

)

# 服务器逻辑

server <- function(input, output) {

data <- reactive({

inFile1 <- input$txt_file

inFile2 <- input$replace_file

if (is.null(inFile1) || is.null(inFile2)) {

return(NULL)

}

# 读取文件

txt_data <- readLines(inFile1$datapath)

replace_data <- read.delim(inFile2$datapath, header = FALSE, stringsAsFactors = FALSE)

# 创建映射字典

replacement_dict <- setNames(replace_data$V2, replace_data$V1)

# 执行替换

replaced_data <- sapply(txt_data, function(line) {

# 对每一行进行替换操作

for (original in names(replacement_dict)) {

replacement <- replacement_dict[original]

# 替换行中出现的每个基因组标识符

line <- gsub(paste0(original, " "), paste0(replacement, " "), line)

}

line

}, USE.NAMES = FALSE)

replaced_data

})

observeEvent(input$replace, {

output$text <- renderText({

replaced_data <- data()

if (is.null(replaced_data)) {

return("请上传文件并点击执行替换")

}

paste(replaced_data, collapse = "\n")

})

})

output$downloadData <- downloadHandler(

filename = function() {

paste("replaced_data", Sys.Date(), ".txt", sep = "_")

},

content = function(file) {

replaced_data <- data()

writeLines(replaced_data, file)

}

)

}

# 运行应用

shinyApp(ui = ui, server = server)

```

### 代码解释：

1. 我们使用`gsub()`函数来在每行中进行查找和替换操作。这里的关键是确保只替换整个标识符，避免替换标识符的一部分。在`gsub()`中使用空格确保只匹配完整的基因组标识符。

2. 将替换的结果重新赋值回`line`，并将更新后的`line`返回。

这个更新应该会按你的需求替换文本中的序列标识符。如果还有问题，可以继续调整正则表达式以确保准确匹配。

几个文件需要批量替换：

import re

def apply_replacement(data_file, rules_file, output_file):

# 读取替换规则，同时确保每行正确分割为两部分

rules = []

with open(rules_file, 'r', encoding='utf-8') as file:

for line in file:

parts = line.strip().split('\t')  # 使用制表符分隔

if len(parts) == 2:  # 确保每行都有两个值

rules.append(parts)

else:

print(f"Skipping invalid rule: {line.strip()}")  # 提示跳过无效规则

# 读取数据文件并逐行应用替换规则

with open(data_file, 'r', encoding='utf-8') as file:

data_lines = file.readlines()

# 应用每条替换规则

for old_text, new_text in rules:

old_text = re.escape(old_text)  # 处理特殊字符

data_lines = [re.sub(old_text, new_text, line) for line in data_lines]

# 将替换后的内容写入新文件

with open(output_file, 'w', encoding='utf-8') as file:

file.writelines(data_lines)

# 使用示例

apply_replacement('data.txt', 'rules.txt', 'replaced_data.txt')

有用

ITOL

转录组

热图

BioLadder

BioLadder-生物信息在线分析可视化云平台

https://web.expasy.org/translate/

if (!require('shiny', quietly = TRUE)) {

install.packages('shiny')

}

# 检查并安装lattice包

if (!require('dplyr', quietly = TRUE)) {

install.packages('dplyr')

}

library(shiny)

library(dplyr)

ui <- fluidPage(

titlePanel("VLOOKUP with File Input and Output in Shiny"),

sidebarLayout(

sidebarPanel(

fileInput("file1", "Choose CSV/TXT File for First Table:",

accept = c(

"text/csv",

"text/comma-separated-values,text/plain",

".csv",

".txt"

)),

fileInput("file2", "Choose CSV/TXT File for Second Table:",

accept = c(

"text/csv",

"text/comma-separated-values,text/plain",

".csv",

".txt"

)),

actionButton("go", "Generate Third Table"),

downloadButton("download", "Download Result")

),

mainPanel(

tableOutput("result")

)

)

)

server <- function(input, output) {

result <- eventReactive(input$go, {

# Ensure the file is uploaded

req(input$file1)

req(input$file2)

# Read the files

table1 <- read.csv(input$file1$datapath)

table2 <- read.csv(input$file2$datapath, col.names = colnames(table1)[1])

# Perform the join operation

left_join(table2, table1, by = colnames(table1)[1])

})

output$result <- renderTable({

result()

})

output$download <- downloadHandler(

filename = function() {

paste("result-", Sys.Date(), ".csv", sep = "")

},

content = function(file) {

write.csv(result(), file, row.names = FALSE)

}

)

}

shinyApp(ui = ui, server = server)

2226706 2229505

BF2
7b的位置 16 2226703  2229465

6a的位置ENSGALG00000041380 16:2606528-2609057:-1

plink --vcf chicken_6a.vcf.gz --chr 16 --from-bp 2606528 --to-bp 2609057 --make-bed --out output_BB --chr-set 39

plink --vcf GRCg6a.928.Indel.vcf.gz --chr 16 --from-bp 2606528 --to-bp 2609057 --make-bed --out BF2_indel --chr-set 39

合成vcf文件

plink --bfile BF2_indel --recode vcf --out BF2_indel

I:\plink

plink --vcf BK_BS_QC3.vcf --chr 16 --from-bp 2226703 --to-bp 2229465 --make-bed --out BS_BK_BF2_indel --chr-set 39

plink --bfile BS_BK_BF2_indel --recode vcf --out BS_BK_BF2_indel --chr-set 39

服务器

/home/data1/6aVCF

vcftools --gzvcf GRCg6a.928.Indel.vcf.gz --positions BF2_indel.map --recode --out BF2_indel_positions

BF2_indel.map，文件里面的内容 16 . 0 2606984

改成16 2606984 可以了！

# 压缩参考基因组文件

bgzip reference_genome.fasta

# 为参考基因组文件创建索引

samtools faidx reference_genome.fasta.gz

# 提取序列信息

bcftools consensus -f reference_genome.fasta.gz BF2_indel_positions.recode.vcf -o BF2_indel.fasta

不太行

巴布考克的所有的文件

vcf indel
/media/dell/XIFEI/bbkkb380/40个内脏组织_鸡-10G/04.vcf

/media/dell/XIFEI/37BASHANG/KPSNY082023037K-KPS202306033-37个/04.vcf

坝上

ENSGALG00000041380 16:2606528-2609057

:-1

bcftools view -r 16:2606528-2609057 input.vcf > extracted_region.vcf

bcftools view -r 16:2606528-2609057 chicken_6a.gz > extracted_BF2_region.vcf

也不行

基因
Genes

GenBank登录号GenBank accseeion No.

等电点Isoelectric point

分子质量Molecular Weight mass/u

染色体
Chromosomes

起始位置Initiation site/bp

终止位置Termination site/bp

亚细胞定位 Subcellular localization

氨基酸数量Number of amino acids

跨膜蛋白数Number of transmembrane proteins

BF1

NM_001044683.3

6.72

39712.86

16

2213458

2216245

plas

360

2

BF2

NM_001397292.1

6.26

37908.85

16

2226703

2229465

plas

344

1

LOC121106430

XM_040657274.2

5.66

41236.09

16

5587

8412

plas

374

2

MHCY1

NM_001389450.1

5.73

39153.5

16

E.R.

353

2

MHCY2

NM_001395203.1

5.63

37321.68

16

E.R.

332

2

MHCY4

NM_001395204.2

5.63

37293.62

16

1467566

1778747

E.R.

332

2

MHCY6

NM_001393723.2

5.91

38927.2

16

1450012

1453009

plas

348

1

MHCY7

NM_001393728.2

5.96

38138.36

16

plas

344

2

MHCY8

NM_001393729.2

6.46

38950.34

16

E.R.

353

1

MHCY9

NM_001393731.2

5.83

39332.57

16

E.R.

353

1

MHCY10

NM_001393732.2

6.32

36665.06

16

1298774

1301691

plas

326

2

MHCY11

NM_001393733.2

6.5

40744.3

16

1402191

1405040

E.R.

374

2

MHCY12

NM_001393738.2

5.68

42716.18

16

plas

390

1

MHCY13

NM_001393742.2

5.74

39214.5

16

E.R.

353

1

MHCY14

NM_001393745.2

6.32

36665.06

16

1311152

1317703

plas

326

2

MHCY15

XM_040648579.2

7.86

50464.98

16

1434598

1730591

plas

460

2

MHCY30

NM_001393751.1

6.8

39286.84

16

E.R.

353

2

MHCY32

NM_001393752.2

5.96

39203.67

16

plas

353

2

MHCY34

NM_001393754.1

5.77

39234.37

16

E.R.

353

1

MHCY35

NM_001393757.2

5.69

38106.27

16

1806168

1809152

plas

344

2

MHCY36

NM_001396166.1

8.93

49366.1

16

1235003

1238004

plas

444

2

MHCY37

NM_001393760.1

5.33

38951.2

16

E.R.

353

2

MHCY38

NM_001030675.3

6.12

39071.32

16

E.R.

353

2

MHCY44

XM_046901565.1

5.92

45368.82

16

1253069

1255895

plas

416

1

MHCY46

XM_040648773.2

6.28

42316.19

16

1273689

1289326

plas

378

1

MHCY47

XM_025146129.3

8.38

48834.55

16

1326897

1349164

plas

445

3

MHCY48

XM_040648790.2

5.66

38666.91

16

1327868

1341855

plas

348

2

MHCY51

XM_046901571.1

5.79

38829.06

16

1409369

1418629

E.R.

353

1

plink --vcf BS_INDEL.vcf --chr 16 --from-bp 2226703 --to-bp 2229465 --make-bed --out BS_BF2_indel --chr-set 39 --allow-extra-chr

plink --bfile BS_BF2_indel --recode vcf --out BS_BF2_indel --chr-set 39

plink --vcf BS_BF2_indel.vcf --make-bed --out BS_BF2_indel --chr-set 39

plink --vcf BK_BF2_indel.vcf --make-bed --out BK_BF2_indel --chr-set 39报错

解决：

plink --bfile BS_BF2_indel --bmerge BK_BF2_indel.bed BK_BF2_indel.bim BK_BF2_indel.fam --make-bed --out merged_BF2_indel --chr-set 39

plink --bfile BS_BF2_indel --set-missing-var-ids @:# --make-bed --out BS_BF2_indel_unique --chr-set 39

plink --bfile BK_BF2_indel --set-missing-var-ids @:# --make-bed --out BK_BF2_indel_unique --chr-set 39

plink --bfile BK_BF2_indel_unique --exclude merged_BF2_indel-merge.missnp --make-bed --out BK_BF2_indel_no_multiallelic --chr-set 39

>plink --bfile BS_BF2_indel_unique --bmerge BK_BF2_indel_no_multiallelic.bed BK_BF2_indel_no_multiallelic.bim BK_BF2_indel_no_multiallelic.fam --make-bed --out merged_BF2_indel --chr-set 39

plink --bfile merged_BF2_indel --recode vcf --out merged_BF2_indel --chr-set 39

plink --bfile BS_BF2_indel_unique --flip merged_BF2_indel-merge.missnp --make-bed --out BS_BF2_indel_flipped --chr-set 39

plink --bfile BS_BF2_indel_flipped --bmerge BK_BF2_indel_no_multiallelic.bed BK_BF2_indel_no_multiallelic.bim BK_BF2_indel_no_multiallelic.fam --make-bed --out merged_BF2_indel --chr-set 39

plink --bfile merged_BF2_indel --recode vcf --out merged_BF2_indel --chr-set 39

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg7b BS_BK_BF2_snp.vcf > BS_BK_BF2_snp.out.vcf

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg7b merged_BF2_indel.vcf > merged_BF2_indel.out.vcf

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg7b BS_BK_BF2_snp.vcf > BS_BK_BF2_snp.out.vcf

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg7b merged_BF2_indel.vcf > merged_BF2_indel.out.vcf

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg6a.105 BF2_indel.vcf> BF2_indel_out.vcf

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg7b merged_BF2_indel.vcf > merged_BF2_indel.out.vcf

I:\SNPEFF\snpEff>java -jar snpEff.jar GRCg7b BS_BK_BF2_snp.vcf > BS_BK_BF2_snp.out.vcf

研究小鼠

Ortholog table (kegg.jp)

你列出的三个条目看起来像是某种编码或标识符的简写，可能代表不同的物种或生物样本。从给出的信息来看，可以推测以下几点：

1. **E.AniM**: 这部分可能是某个数据库或研究项目中用来标识样本或实验的一个固定前缀。

2. **Mus**: 这个词通常与老鼠（鼠属）相关，特别是在生物学或遗传学的上下文中，它通常代表老鼠属的动物。

3. 后面的部分（**mmu**, **mcal**, **mpah**）可能代表不同的种或亚种：

- **mmu**: 这通常是小鼠（Mus musculus）的标准缩写。

- **mcal**: 可能代表一个特定的鼠种，但不是一个通用的缩写。需要更多的上下文来确定具体指的是哪种动物。可能是某个特定研究项目或特定文献中使用的特殊标识。

- **mpah**: 同样，这不是一个通用的缩写，可能是特定文献或研究中的特定种的缩写。

总结来说，这三个条目可能是用来区分不同的鼠类样本或实验中的标识符。每一个都可能代表不同的鼠类种或亚种，但是具体的种类和差异需要更多具体的信息或上下文才能准确解读。

如果这些条目是从某个科学数据库、研究文档或类似的来源获取的，建议查阅该来源的详细信息或元数据说明，以获得关于这些标识符的确切含义和背景。如果你有更多信息或想要更详细的解释，请提供更多上下文或详细信息。

PSP70的结构域

Hsp70 protein (PF00012) - Pfam entry - InterPro (ebi.ac.uk)

### 主要热休克蛋白家族

1. **HSP90家族**

- **HSP90AA1** (HSP90α)

- **HSP90AB1** (HSP90β)

- **GRP94** (糖蛋白94，内质网中的HSP90)

2. **HSP70家族**

- **HSPA1A** (HSP70-1)

- **HSPA1B** (HSP70-2)

- **HSPA8** (HSC70，宿主伴侣70)

- **GRP78** (BiP，内质网中的HSP70)

3. **小热休克蛋白家族（Small Heat Shock Proteins, sHSPs）**

- **HSPB1** (HSP27)

- **HSPB5** (α-crystallin)

4. **HSP60家族**

- **HSPD1** (HSP60)

5. **HSP100家族**

- **HSP104**

6. **其他相关蛋白**

- **HSPE1** (HSP10，通常与HSP60合作)

- **HSPA5** (GRP78, 也作BiP, 主要在内质网中表达)

这些热休克蛋白通过帮助蛋白质折叠、防止聚集、参与蛋白质复合体的组装和解离、以及调控细胞死亡过程等机制，对维持细胞内环境的稳定性和细胞的生存至关重要。它们在许多生理和病理过程中都发挥着关键作用，包括细胞应激反应、免疫反应和癌症的发展等。

利用tbtools批量计算KaKs值 - 简书 (jianshu.com)

可以计算一下

有问题前面加上transform