Monthly Archives: July 2026

降解酶是在细胞内还是细胞外的?

这是一个非常敏锐且关键的问题。简短的回答是:两者都有,但主导“死后迅速清除”的主要是细胞内的酶。

为了更准确地理解这个过程,我们需要区分正常生理状态下的RNA周转细胞死亡后的降解

1. 细胞内(Intracellular):主要的降解场所

在细胞活着的时候,以及刚死亡的初期,RNA的降解主要发生在细胞内部。

  • 核糖核酸酶(RNases): 细胞质和细胞器中充满了各种RNase。这些酶在正常代谢中负责清理旧的、错误的或不再需要的mRNA。
  • 溶酶体(Lysosomes): 当细胞启动自噬或程序性死亡(凋亡)时,溶酶体会释放大量水解酶,包括强效的RNase,将细胞内的RNA彻底分解。
  • 为什么死后很快消失? 因为细胞膜破裂后,原本被 compartmentalization(区室化)隔离的酶会释放出来,与底物(RNA)充分接触,导致快速降解。

2. 细胞外(Extracellular):环境中的“清道夫”

一旦细胞裂解,内容物释放到周围环境中,细胞外的因素也开始起作用:

  • 环境中的RNase: 土壤、水体、甚至空气中都广泛存在微生物分泌的RNase。这些酶非常稳定且活性极强。
  • 其他细胞的酶: 在多细胞生物体内,免疫细胞(如巨噬细胞)会吞噬死亡细胞碎片,并在其内部的溶酶体中降解RNA。
  • 血液/体液中的酶: 在动物体内,血浆中也含有RNase,用于清除循环中的游离RNA。

3. 为什么我们还能在化石或古老样本中找到RNA?

虽然理论上RNA应该迅速消失,但在某些特殊条件下可以保留:

  • 极端干燥或冷冻: 抑制了酶的活性。
  • 矿化作用: RNA可能被包裹在矿物晶体中,物理上隔绝了酶。
  • 结合蛋白: RNA可能与某些保护性蛋白结合,延缓降解。

总结

  • 主要降解者: 细胞内的RNase 是RNA短命的主要原因。它们在细胞活着时就不断工作,在细胞死亡后因膜破裂而更加活跃。
  • 次要但重要的角色: 细胞外的环境RNase 会在细胞裂解后进一步确保RNA被彻底清除,防止遗传信息污染环境或被其他细胞误用。

所以,当你听到“死亡细胞不应该保留任何RNA”时,主要是因为细胞内原有的降解系统失控并加速工作,加上外部环境的侵蚀共同作用的结果。



这篇文章报道了德国马克斯·普朗克海洋微生物研究所的一项突破性发现,科学家首次直接观察到了“跳跃基因”在不同物种间的转移过程。以下是核心内容总结:

1. 核心发现: 研究团队在一种捕食性细菌(Ca. Velamenicoccus archaeovorus)与其猎物古菌(Methanothrix soehngenii)的互动中,首次亲眼目睹并证实了跳跃基因(具体为一种内含子)以 RNA形式 跨物种转移。

2. 关键机制:环状RNA的稳定性

  • 反常现象: 通常RNA极不稳定,且在细胞死亡后会迅速被酶降解。
  • 生存原因: 该跳跃基因形成的内含子RNA呈环状结构。由于没有末端,降解酶无法对其进行切割,使其能在死亡的猎物细胞残骸中长期稳定存在,从而被科学家通过高灵敏度探针捕获。

3. 科学意义:

  • 填补空白: 此前关于跳跃基因跨物种转移主要依赖“搭车假说”(借助病毒或质粒),缺乏直接证据。这项研究提供了可视化的直接证据。
  • 新传播路径: 揭示了跳跃基因可能无需病毒或质粒作为载体,仅凭稳定的环状RNA结构即可在物种间(如捕食过程中)进行传递。
  • 进化启示: 虽然本次观察中猎物已死导致转移未完全成功,但这表明在捕食等密切接触中,若猎物未立即死亡,这种机制可能成为生命进化和基因交流的重要途径。

4. 背景信息:

  • 研究成果于2026年5月发表在《科学报告》上。
  • 环状RNA不仅在微生物进化中起作用,在人类医学(如癌症、疫苗开发)中也是研究热点。

Pipeline for Nanopore-specific Variant Calling (Data_Tam_Methylation_2026_WT_T_O_T_Trans_O_Trans)

There are excellent pipelines available from nf-core for variant calling based on Nanopore reads.

The most recommended one is:

nf-core/sarek

While sarek is often associated with Illumina, it has robust support for long-read data. However, for a more specialized long-read workflow, you should look at:

nf-core/nanoseq (for methylation and basic QC)

Note: nanoseq is primarily for methylation and QC, not deep variant calling.

The Best Choice: nf-core/viralrecon or Custom Nextflow/Dorado/Medaka Workflow

Actually, for bacterial WGS variant calling with Nanopore, the community standard is often a combination of tools rather than a single “one-click” nf-core pipeline for de novo variant discovery against a reference. However, nf-core/bacass is highly relevant for your case since you are working with bacterial strains.

1. nf-core/bacass

  • Purpose: Bacterial assembly and annotation.
  • Relevance: It can assemble your Nanopore reads into high-quality genomes (using Flye, Unicycler, etc.). Once you have the assembled genome, you can compare it to a reference.
  • Limitation: It focuses on assembly, not direct variant calling against a known reference strain.

2. Recommended Pipeline for Variant Calling (Nanopore-specific)

Since you already have polished genomes (as seen in your script), the most accurate variant calling pipeline for Nanopore data usually involves:

  1. Basecalling & Alignment: Dorado (which you are already using).
  2. Polishing: Medaka (to correct residual errors in the assembly or alignment).
  3. Variant Calling:
    • DeepVariant (Google): Has a specific model for ONT data (--model_type=ONT). This is currently considered the gold standard for accuracy.
    • Clair3: A newer, highly accurate variant caller specifically designed for long-reads.
    • Medaka: Can also be used for variant calling if you align reads to a reference.

Is there an nf-core pipeline for this?

Currently, there isn’t a single, widely adopted nf-core pipeline named “nanopore-variant-caller” that does everything from POD5 to VCF for bacteria. However, you can use:

  • nf-core/rnaseq (No, that’s for RNA)
  • nf-core/sarek: You can configure it to use long-read aligners (like Minimap2) and variant callers, but it requires careful configuration.

My Recommendation for Your Project:

Since you are already generating modBAM files with Dorado, you can extend your workflow slightly:

  1. Align: Use Dorado to align to your reference (as you are doing).
  2. Sort/Index: samtools sort and index.
  3. Call Variants: Use DeepVariant or Clair3 on the resulting BAM file.

If you prefer a ready-made Nextflow pipeline, you might want to check out nf-core/eager (for ancient DNA, but handles long reads well) or simply build a small Nextflow script around Clair3, which is very easy to integrate.

Would you like me to help you draft a simple Nextflow process for variant calling using Clair3 or DeepVariant based on your existing BAM files?

YopQ 及其相互作用伙伴概述

根据关于小肠结肠炎耶尔森菌(Yersinia enterocolitica)的科学文献,以下是效应蛋白 YopQ(在密切相关的物种如假结核耶尔森菌 Yersinia pseudotuberculosis 和鼠疫耶尔森菌 Yersinia pestis 中也称为 YopK)相互作用伙伴的概述,以及为进一步研究或学习提供的建议问题。

YopQ 及其相互作用伙伴概述

小肠结肠炎耶尔森菌利用 III 型分泌系统 (T3SS) 将效应蛋白(统称为 Yops)注入宿主细胞,以逃避免疫反应 [[18]]。YopQ 是细菌毒力所必需的关键 T3SS 分泌蛋白 [[4]]。它的主要功能是从宿主细胞内部控制 T3SS 易位子孔的活性、保真度和免疫识别 [[15]]。

研究已经确定了 YopQ(及其同源物 YopK)的几个关键相互作用伙伴,包括在宿主内部和细菌本身内部:

1. 宿主相互作用伙伴

  • RACK1: 激活的 C-激酶 1 受体(RACK1)是一种信号支架蛋白,可选择性地与 YopQ/YopK 相互作用 [[30]]。这种相互作用被认为能确保其他 Yop 效应子被定向递送到正确的细胞内位置 [[14]]。
  • Matrilin-2 (MATN2): 已显示 YopK 与细胞外基质衔接蛋白 matrilin-2 相互作用 [[51]]。这种特异性结合有助于抑制细菌对宿主细胞的黏附,从而帮助免疫逃避 [[51]]。
  • T3SS 易位子组件: YopQ/YopK 直接与 T3SS 易位子相互作用,以防止宿主识别该孔,从而抑制 T3SS 诱导的炎症小体激活 [[54]]。

2. 细菌相互作用伙伴

  • YopD 和 LcrH: 在细菌内部,YopQ 的产生和分泌受到其他细菌蛋白的严格调控。YopD 及其分子伴侣 LcrH 结合到 yopQ mRNA 上,以控制其翻译以及随后通过 T3SS 的分泌 [[46]]。
  • 其他 Yops(如 YopE): YopQ 与 YopE 等其他效应子协同工作,以调节 Yop 易位到宿主细胞的速率和保真度 [[57]]。

进一步研究的建议问题

基于目前对 YopQ 相互作用伙伴的了解,以下是几个可以指导进一步研究、论文撰写或讨论的建议问题:

分子机制与结构生物学

  1. YopQ 与宿主支架蛋白 RACK1 之间的确切结构结合界面是什么?这种结合如何改变 RACK1 正常的信号通路?
  2. YopQ/YopK 如何在物理上与 T3SS 易位子孔相互作用,从而在不破坏其他 Yops 易位的情况下防止宿主炎症小体激活?
  3. 当 YopQ 与细胞外基质蛋白 Matrilin-2 (MATN2) 结合时,会发生哪些具体的构象变化?

宿主-病原体动态

  1. YopQ 与 RACK1 之间的相互作用如何具体指导其他效应子(如 YopE、YopH 和 YopT)在宿主胞质内的空间递送?
  2. YopK 与 Matrilin-2 (MATN2) 的结合如何与不同感染阶段的其他黏附-入侵机制(如侵袭素 Invasin 或 YadA)相辅相成?
  3. 一旦 YopQ 进入胞质,宿主细胞会如何尝试靶向或降解它?RACK1 在这种宿主防御机制中是否发挥作用?

细菌调控与进化

  1. YopD 和 LcrH 对 YopQ 的转录后调控如何确保细菌不会过度分泌效应子,从而避免过早引起宿主免疫系统的警觉?
  2. 为什么小肠结肠炎耶尔森菌保留了 YopQ 的名称,而密切相关的物种如假结核耶尔森菌和鼠疫耶尔森菌将同一基因重命名为 YopK,这两种变体之间是否存在细微的功能差异?
  3. YopQ 相互作用结构域的突变如何影响动物模型中小肠结肠炎耶尔森菌的整体毒力和组织嗜性?

治疗与诊断应用

  1. 是否可以针对 YopQ 与 RACK1 之间的特异性蛋白-蛋白相互作用开发小分子抑制剂,从而在不影响宿主正常细胞功能的情况下解除小肠结肠炎耶尔森菌 T3SS 的武装?
  2. YopQ 或其与宿主蛋白的相互作用是否是开发针对小肠结肠炎耶尔森菌感染的新型疫苗或诊断标志物的可行靶点?


Based on the scientific literature regarding Yersinia enterocolitica, here is an overview of the interaction partners for the effector protein YopQ (also known as YopK in closely related species like Yersinia pseudotuberculosis and Yersinia pestis), followed by suggested questions for further research or study.

Overview of YopQ and its Interaction Partners

Yersinia enterocolitica utilizes a Type III Secretion System (T3SS) to inject effector proteins, known as Yops, into host cells to evade the immune response [[18]]. YopQ is a crucial T3SS-secreted protein required for bacterial virulence [[4]]. It primarily functions to control the activity, fidelity, and immune recognition of the T3SS translocon pore from within the host cell [[15]].

Research has identified several key interaction partners for YopQ (and its homolog YopK) both within the host and the bacterium itself:

1. Host Interaction Partners

  • RACK1: The host receptor for activated C-kinase 1 (RACK1) is a signaling scaffold protein that selectively interacts with YopQ/YopK [[30]]. This interaction is thought to ensure the directed delivery of other Yop effectors to the correct intracellular locations [[14]].
  • Matrilin-2 (MATN2): YopK has been shown to interact with the extracellular matrix adaptor protein matrilin-2 [[51]]. This specific binding helps inhibit bacterial adherence to host cells, aiding in immune evasion [[51]].
  • T3SS Translocon Components: YopQ/YopK interacts directly with the T3SS translocon to prevent the host from recognizing the pore, thereby suppressing T3SS-induced inflammasome activation [[54]].

2. Bacterial Interaction Partners

  • YopD and LcrH: Inside the bacterium, the production and secretion of YopQ are tightly regulated by other bacterial proteins. YopD and its chaperone LcrH bind to yopQ mRNA to control its translation and subsequent secretion via the T3SS [[46]].
  • Other Yops (e.g., YopE): YopQ works in concert with other effectors like YopE to regulate the rate and fidelity of Yop translocation into the host cell [[57]].

Suggested Questions for Further Research

Based on the current understanding of YopQ interaction partners, here are several suggested questions that could guide further research, essays, or discussions:

Molecular Mechanisms & Structural Biology

  1. What is the exact structural binding interface between YopQ and the host scaffold protein RACK1, and how does this binding alter RACK1’s normal signaling pathways?
  2. How does YopQ/YopK physically interact with the T3SS translocon pore to prevent host inflammasome activation without disrupting the translocation of other Yops?
  3. What are the specific conformational changes in YopQ when it binds to the extracellular matrix protein Matrilin-2 (MATN2)?

Host-Pathogen Dynamics

  1. How does the interaction between YopQ and RACK1 specifically direct the spatial delivery of other effectors like YopE, YopH, and YopT within the host cytosol?
  2. In what ways does the binding of YopK to Matrilin-2 (MATN2) complement other adhesion-invasion mechanisms (like Invasin or YadA) during different stages of Yersinia infection?
  3. How do host cells attempt to target or degrade YopQ once it is inside the cytosol, and does RACK1 play a role in this host defense mechanism?

Bacterial Regulation & Evolution

  1. How does the post-transcriptional regulation of YopQ by YopD and LcrH ensure that the bacteria do not over-secrete effectors and prematurely alert the host immune system?
  2. Why did Yersinia enterocolitica retain the name YopQ while closely related species like Y. pseudotuberculosis and Y. pestis renamed the same gene YopK, and are there subtle functional differences between the variants?
  3. How do mutations in the YopQ interaction domains affect the overall virulence and tissue tropism of Yersinia enterocolitica in animal models?

Therapeutic & Diagnostic Applications

  1. Could the specific protein-protein interaction between YopQ and RACK1 be targeted by small-molecule inhibitors to disarm the Yersinia T3SS without affecting the host’s normal cellular functions?
  2. Is YopQ or its interaction with host proteins a viable target for developing a novel vaccine or diagnostic marker for Yersinia enterocolitica infections?

Variant Calling Results and Analysis Summary for the 6 Pairs of DNA-seq Data (Data_Holger_DNAseq_2026_Sepi_Pairs)

  1. Run nextflow bacass

     conda deactivate
    
     # Downlod k2_standard_08_GB_20251015.tar.gz from https://benlangmead.github.io/aws-indexes/k2#kraken2--bracken
     # Download 20190108_kmerfinder_stable_dirs.tar.gz from https://zenodo.org/records/13447056; 'tar xzf 20190108_kmerfinder_stable_dirs.tar.gz'  #The database does not work!
     # Download the kmerfinder database: https://www.genomicepidemiology.org/services/ --> https://cge.food.dtu.dk/services/KmerFinder/ --> https://cge.food.dtu.dk/services/KmerFinder/etc/kmerfinder_db.tar.gz  #The database works!
    
     # DEBUG: --kmerfinderdb /mnt/nvme1n1p1/REFs/kmerfinder/bacteria/ not working!
    
     nextflow run nf-core/bacass -r 2.6.0 -profile docker --help
    
     # -- Short assembly --
     #Maybe BUG is from '--skip_kmerfinder for -r 2.6.0, using db in 2.5.0'
     nextflow run nf-core/bacass -r 2.5.0 -profile docker \
       --input samplesheet.tsv \
       --outdir bacass_out \
       --assembly_type short \
       --kraken2db /mnt/nvme1n1p1/REFs/k2_standard_08_GB_20251015.tar.gz \
       --kmerfinderdb /mnt/nvme1n1p1/REFs/kmerfinder/bacteria/ \
       -resume \
       -work-dir bacass_out/work
  2. Verify if the genome is pure

     # 1. Go up one level to the main 'bacass_out' directory
     cd ..
    
     # 2. Create directories for CheckM inputs and outputs
     mkdir -p checkm_input checkm_output
    
     # 3. Copy all .fna files into the 'checkm_input' folder
     # (CheckM cannot search subdirectories, so they must be in one folder)
     find ./Prokka -name "*.fna" -exec cp {} checkm_input/ \;
    
     # 4. Run CheckM on all 4 assemblies
     (checkm_env2) checkm lineage_wf -x fna checkm_input checkm_output
  3. mlst

     (bacto) mlst *.fna > mlst
    
     #Pair1
     2780_.fna   sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
     12835_.fna  sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
    
     #Pair2
     4667_.fna   sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
     9940_.fna   sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
    
     #Pair3
     3139_.fna   sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
     19296_.fna  sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
    
     #Pair4
     9849_.fna   sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
     11635_.fna  sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
    
     #Pair5
     3006_.fna   sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
     10393_.fna  sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
    
     #Pair6
     1736_.fna   sepidermidis    59  arcC(2) aroE(1) gtr(1)  mutS(1) pyrR(2) tpiA(1) yqiL(1)
     8583_.fna   sepidermidis    59  arcC(2) aroE(1) gtr(1)  mutS(1) pyrR(2) tpiA(1) yqiL(1)
    
    #Compared to other isolates from the lab: patient HD04 [ST5], HD21 [ST2], HD26 [ST5], HD27 [ST5], HD29 [ST5], HD59 [ST5], HD33 [ST87]
  4. Species Identification: 快速筛查用 Mash → 精确分类用 GTDB-Tk → 种级验证用 FastANI,三者结合可最大限度提高物种鉴定的准确性和可解释性。

     # 1. 创建环境(推荐 mamba)
     mamba create -n gtdbtk -c conda-forge -c bioconda gtdbtk
     mamba activate gtdbtk
    
     # 2. 下载数据库(仅需首次,约 60GB)
     gtdbtk download --data_dir ./gtdb_data --release 220
    
     wget https://data.gtdb.aau.ecogenomic.org/releases/release232/232.0/auxillary_files/gtdbtk_package/full_package/gtdbtk_r232_data.tar.g
     mamba env config vars set GTDBTK_DATA_PATH="/mnt/nvme4n1p1/gtdb_data/release232"
     # 先退出当前环境,再重新激活
     mamba deactivate
     mamba activate gtdbtk
    
     # 验证环境变量是否加载成功
     echo $GTDBTK_DATA_PATH
     # 应输出:/mnt/nvme4n1p1/gtdb_data/release232
    
     # 3. 运行分类(你提供的命令 + 实用参数)
     gtdbtk classify_wf \
       --genome_dir ./checkm_input \
       --out_dir gtdb_out \
       --cpus 64 \
       --extension .fna \
       --prefix mygenome
    
     # 4. 查看结果
     cat gtdb_out/classify/mygenome.bac120.summary.tsv   # 细菌结果
    
     #Pair1
     2780_.fna   sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
     12835_.fna  sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
    
     #Pair2
     4667_.fna   sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
     9940_.fna   sepidermidis    2   arcC(7) aroE(1) gtr(2)  mutS(2) pyrR(4) tpiA(1) yqiL(1)
    
     #Pair3
     3139_.fna   sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
     19296_.fna  sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
    
     #Pair4
     9849_.fna   sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
     11635_.fna  sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
    
     #Pair5
     3006_.fna   sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
     10393_.fna  sepidermidis    5   arcC(1) aroE(1) gtr(1)  mutS(2) pyrR(2) tpiA(1) yqiL(1)
    
     #Pair6
     1736_.fna   sepidermidis    59  arcC(2) aroE(1) gtr(1)  mutS(1) pyrR(2) tpiA(1) yqiL(1)
     8583_.fna   sepidermidis    59  arcC(2) aroE(1) gtr(1)  mutS(1) pyrR(2) tpiA(1) yqiL(1)
    
     ----------------------------------------------------------------------------------------------------------------------------------------------------------------
     Bin Id         Marker lineage         # genomes   # markers   # marker sets   0    1    2   3   4   5+   Completeness   Contamination   Strain heterogeneity
     ----------------------------------------------------------------------------------------------------------------------------------------------------------------
     2780_    g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
     12835_   g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
    
     4667_    g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
     9940_    g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
    
     3139_    g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
     19296_   g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
    
     9849_    g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
     11635_   g__Staphylococcus (UID294)       60         773           178        2   771   0   0   0   0       99.73            0.00               0.00
    
     3006_    g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
     10393_   g__Staphylococcus (UID294)       60         773           178        1   772   0   0   0   0       99.81            0.00               0.00
    
     1736_    g__Staphylococcus (UID294)       60         773           178        1   771   1   0   0   0       99.81            0.28               0.00
     8583_    g__Staphylococcus (UID294)       60         773           178        1   771   1   0   0   0       99.81            0.28               0.00
     ----------------------------------------------------------------------------------------------------------------------------------------------------------------
  5. Antimicrobial resistance gene profiling and Resistome and Virulence Profiling with Abricate and RGI (Reisistance Gene Identifier)

     conda activate /home/jhuang/miniconda3/envs/bengal3_ac3
     abricate --list
    
     conda deactivate
    
     # 1. Set both required Java variables to bypass the buggy conda activation script
     export JAVA_HOME=/home/jhuang/miniconda3/envs/bengal3_ac3
     export JAVA_LD_LIBRARY_PATH=$JAVA_HOME/lib/server
    
     # 2. Run your script
     for sample in 2780 12835 4667 9940 3139 19296 9849 11635 3006 10393 1736 8583; do
         ENV_NAME=/home/jhuang/miniconda3/envs/bengal3_ac3 \
         ASM=bacass_out/checkm_input/${sample}_.fna \
         SAMPLE=${sample} \
         OUTDIR=resistome_virulence_${sample} \
         MINID=80 MINCOV=60 \
         THREADS=32 \
         ~/Scripts/run_abricate_resistome_virulome_one_per_gene.sh
     done
    
     conda activate /home/jhuang/miniconda3/envs/bengal3_ac3
     #NEED_TO_ADAPT: OUTDIR = Path("resistome_virulence_An7")
     #NEED_TO_ADAPT: SAMPLE = "An7"
     #DEPRECATED_DUE_TO_NEED_MANULL_SETTING: python ~/Scripts/merge_amr_sources_by_gene.py
    
     for sample in 2780 12835 4667 9940 3139 19296 9849 11635 3006 10393 1736 8583; do
         python ~/Scripts/export_resistome_virulence_to_excel_py36.py \
         --workdir resistome_virulence_${sample} \
         --sample ${sample} \
         --out Resistome_Virulence_${sample}.xlsx
     done
    
     Wrote Excel: Resistome_Virulence_2780.xlsx
     AMR genes (one row per gene): 29
     VFDB hits: 0
     DB hit counts saved.
     Wrote Excel: Resistome_Virulence_12835.xlsx
     AMR genes (one row per gene): 30
     VFDB hits: 0
     DB hit counts saved.
    
     Wrote Excel: Resistome_Virulence_4667.xlsx
     AMR genes (one row per gene): 33
     VFDB hits: 0
     DB hit counts saved.
     Wrote Excel: Resistome_Virulence_9940.xlsx
     AMR genes (one row per gene): 30
     VFDB hits: 0
     DB hit counts saved.
    
     Wrote Excel: Resistome_Virulence_3139.xlsx
     AMR genes (one row per gene): 27
     VFDB hits: 1
     DB hit counts saved.
     Wrote Excel: Resistome_Virulence_19296.xlsx
     AMR genes (one row per gene): 27
     VFDB hits: 1
     DB hit counts saved.
    
     Wrote Excel: Resistome_Virulence_9849.xlsx
     AMR genes (one row per gene): 20
     VFDB hits: 1
     DB hit counts saved.
     Wrote Excel: Resistome_Virulence_11635.xlsx
     AMR genes (one row per gene): 20
     VFDB hits: 1
     DB hit counts saved.
    
     Wrote Excel: Resistome_Virulence_3006.xlsx
     AMR genes (one row per gene): 21
     VFDB hits: 1
     DB hit counts saved.
     Wrote Excel: Resistome_Virulence_10393.xlsx
     AMR genes (one row per gene): 24
     VFDB hits: 1
     DB hit counts saved.
    
     Wrote Excel: Resistome_Virulence_1736.xlsx
     AMR genes (one row per gene): 22
     VFDB hits: 0
     DB hit counts saved.
     Wrote Excel: Resistome_Virulence_8583.xlsx
     AMR genes (one row per gene): 22
     VFDB hits: 0
     DB hit counts saved.
    
     # TODO: Delete the column 'COVERAGE_MAP' in all 'Raw_*' sheets
  6. Rename the files

     mv ./raw_data/Pair1/2780_S71_1_sequence.fastq.gz ./raw_data/Pair1/2780_S71_R1.fastq.gz
     mv ./raw_data/Pair1/2780_S71_2_sequence.fastq.gz ./raw_data/Pair1/2780_S71_R2.fastq.gz
     mv ./raw_data/Pair1/12835_S72_1_sequence.fastq.gz ./raw_data/Pair1/12835_S72_R1.fastq.gz
     mv ./raw_data/Pair1/12835_S72_2_sequence.fastq.gz ./raw_data/Pair1/12835_S72_R2.fastq.gz
    
     mv ./raw_data/Pair2/4667_S75_1_sequence.fastq.gz ./raw_data/Pair2/4667_S75_R1.fastq.gz
     mv ./raw_data/Pair2/4667_S75_2_sequence.fastq.gz ./raw_data/Pair2/4667_S75_R2.fastq.gz
     mv ./raw_data/Pair2/9940_S78_1_sequence.fastq.gz ./raw_data/Pair2/9940_S78_R1.fastq.gz
     mv ./raw_data/Pair2/9940_S78_2_sequence.fastq.gz ./raw_data/Pair2/9940_S78_R2.fastq.gz
    
     mv ./raw_data/Pair3/3139_S74_1_sequence.fastq.gz ./raw_data/Pair3/3139_S74_R1.fastq.gz
     mv ./raw_data/Pair3/3139_S74_2_sequence.fastq.gz ./raw_data/Pair3/3139_S74_R2.fastq.gz
     mv ./raw_data/Pair3/19296_S81_1_sequence.fastq.gz ./raw_data/Pair3/19296_S81_R1.fastq.gz
     mv ./raw_data/Pair3/19296_S81_2_sequence.fastq.gz ./raw_data/Pair3/19296_S81_R2.fastq.gz
    
     mv ./raw_data/Pair4/11635_S80_1_sequence.fastq.gz ./raw_data/Pair4/11635_S80_R1.fastq.gz
     mv ./raw_data/Pair4/11635_S80_2_sequence.fastq.gz ./raw_data/Pair4/11635_S80_R2.fastq.gz
     mv ./raw_data/Pair4/9849_S77_1_sequence.fastq.gz ./raw_data/Pair4/9849_S77_R1.fastq.gz
     mv ./raw_data/Pair4/9849_S77_2_sequence.fastq.gz ./raw_data/Pair4/9849_S77_R2.fastq.gz
    
     mv ./raw_data/Pair5/3006_S73_1_sequence.fastq.gz ./raw_data/Pair5/3006_S73_R1.fastq.gz
     mv ./raw_data/Pair5/3006_S73_2_sequence.fastq.gz ./raw_data/Pair5/3006_S73_R2.fastq.gz
     mv ./raw_data/Pair5/10393_S79_1_sequence.fastq.gz ./raw_data/Pair5/10393_S79_R1.fastq.gz
     mv ./raw_data/Pair5/10393_S79_2_sequence.fastq.gz ./raw_data/Pair5/10393_S79_R2.fastq.gz
    
     mv ./raw_data/Pair6/1736_S70_1_sequence.fastq.gz ./raw_data/Pair6/1736_S70_R1.fastq.gz
     mv ./raw_data/Pair6/1736_S70_2_sequence.fastq.gz ./raw_data/Pair6/1736_S70_R2.fastq.gz
     mv ./raw_data/Pair6/8583_S76_1_sequence.fastq.gz ./raw_data/Pair6/8583_S76_R1.fastq.gz
     mv ./raw_data/Pair6/8583_S76_2_sequence.fastq.gz ./raw_data/Pair6/8583_S76_R2.fastq.gz
    
     mv ./Pair1/2780_S71_R1.fastq.gz ./Pair1_2780_S71_R1.fastq.gz
     mv ./Pair1/2780_S71_R2.fastq.gz ./Pair1_2780_S71_R2.fastq.gz
     mv ./Pair1/12835_S72_R1.fastq.gz ./Pair1_12835_S72_R1.fastq.gz
     mv ./Pair1/12835_S72_R2.fastq.gz ./Pair1_12835_S72_R2.fastq.gz
    
     mv ./Pair2/4667_S75_R1.fastq.gz ./Pair2_4667_S75_R1.fastq.gz
     mv ./Pair2/4667_S75_R2.fastq.gz ./Pair2_4667_S75_R2.fastq.gz
     mv ./Pair2/9940_S78_R1.fastq.gz ./Pair2_9940_S78_R1.fastq.gz
     mv ./Pair2/9940_S78_R2.fastq.gz ./Pair2_9940_S78_R2.fastq.gz
    
     mv ./Pair3/3139_S74_R1.fastq.gz ./Pair3_3139_S74_R1.fastq.gz
     mv ./Pair3/3139_S74_R2.fastq.gz ./Pair3_3139_S74_R2.fastq.gz
     mv ./Pair3/19296_S81_R1.fastq.gz ./Pair3_19296_S81_R1.fastq.gz
     mv ./Pair3/19296_S81_R2.fastq.gz ./Pair3_19296_S81_R2.fastq.gz
    
     mv ./Pair4/9849_S77_R1.fastq.gz ./Pair4_9849_S77_R1.fastq.gz
     mv ./Pair4/9849_S77_R2.fastq.gz ./Pair4_9849_S77_R2.fastq.gz
     mv ./Pair4/11635_S80_R1.fastq.gz ./Pair4_11635_S80_R1.fastq.gz
     mv ./Pair4/11635_S80_R2.fastq.gz ./Pair4_11635_S80_R2.fastq.gz
    
     mv ./Pair5/3006_S73_R1.fastq.gz ./Pair5_3006_S73_R1.fastq.gz
     mv ./Pair5/3006_S73_R2.fastq.gz ./Pair5_3006_S73_R2.fastq.gz
     mv ./Pair5/10393_S79_R1.fastq.gz ./Pair5_10393_S79_R1.fastq.gz
     mv ./Pair5/10393_S79_R2.fastq.gz ./Pair5_10393_S79_R2.fastq.gz
    
     mv ./Pair6/1736_S70_R1.fastq.gz ./Pair6_1736_S70_R1.fastq.gz
     mv ./Pair6/1736_S70_R2.fastq.gz ./Pair6_1736_S70_R2.fastq.gz
     mv ./Pair6/8583_S76_R1.fastq.gz ./Pair6_8583_S76_R1.fastq.gz
     mv ./Pair6/8583_S76_R2.fastq.gz ./Pair6_8583_S76_R2.fastq.gz

https://bioinformatics.cc/call-and-merge-snp-and-indel-results-from-using-two-variant-calling-methods/

  1. SNP-calling on AP019721 using snippy, but too far is the reference –> throw the results away!

     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
    
     #Prepare raw_data and bacto-0.1.json
     #Set "reference": "db/CP133***.gb" in bacto-0.1.json
    
     conda activate bengal3_ac3
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds

https://bioinformatics.cc/analysis-of-snps-indels-transposons-and-is-elements-in-5-a-baumannii-strains/

  1. Annotate a sequence as reference

     conda activate /home/jhuang/miniconda3/envs/bakta
     bakta --db /mnt/nvme0n1p1/bakta_db shovill/Pair1_2780_S71/contigs.fa --prefix 2780
     bakta --db /mnt/nvme0n1p1/bakta_db shovill/Pair2_4667_S75/contigs.fa --prefix 4667
     bakta --db /mnt/nvme0n1p1/bakta_db shovill/Pair3_3139_S74/contigs.fa --prefix 3139
     bakta --db /mnt/nvme0n1p1/bakta_db shovill/Pair4_9849_S77/contigs.fa --prefix 9849
     bakta --db /mnt/nvme0n1p1/bakta_db shovill/Pair5_3006_S73/contigs.fa --prefix 3006
     bakta --db /mnt/nvme0n1p1/bakta_db shovill/Pair6_1736_S70/contigs.fa --prefix 1736
     #END
  2. Since your organism is non-model, standard R databases (org.Hs.eg.db, etc.) won’t work. You’ll need to manually retrieve KEGG and GO annotations.

     * Preparing file 1 eggnog_out.emapper.annotations.txt for the R-code below: (KEGG Terms): EggNog based on orthology and phylogenies
    
         EggNOG-mapper assigns both KEGG Orthology (KO) IDs and GO terms.
    
         Install EggNOG-mapper:
    
             mamba create -n eggnog_env python=3.8 eggnog-mapper -c conda-forge -c bioconda  #eggnog-mapper_2.1.12
             mamba activate eggnog_env
    
         Run annotation:
    
             #diamond makedb --in eggnog6.prots.faa -d eggnog_proteins.dmnd
             mkdir /home/jhuang/mambaforge/envs/eggnog_env/lib/python3.8/site-packages/data/
             download_eggnog_data.py --dbname eggnog.db -y --data_dir /home/jhuang/mambaforge/envs/eggnog_env/lib/python3.8/site-packages/data/
             #NOT_WORKING: emapper.py -i CP059040_gene.fasta -o eggnog_dmnd_out --cpu 60 -m diamond[hmmer,mmseqs] --dmnd_db /home/jhuang/REFs/eggnog_data/data/eggnog_proteins.dmnd
    
             # (DO_NOT_NEED_HERE) Download CU459141_protein_.fasta from NCBI
             # python ~/Scripts/update_fasta_header.py CU459141_protein_.fasta CU459141_protein.fasta
    
             emapper.py -i 2780.faa -o 2780_eggnog_out --cpu 80    #--resume
             emapper.py -i 4667.faa -o 4667_eggnog_out --cpu 80
             emapper.py -i 3139.faa -o 3139_eggnog_out --cpu 80
             emapper.py -i 9849.faa -o 9849_eggnog_out --cpu 80
             emapper.py -i 3006.faa -o 3006_eggnog_out --cpu 80
             emapper.py -i 1736.faa -o 1736_eggnog_out --cpu 80
             #----> result annotations.tsv: Contains KEGG, GO, and other functional annotations.
             #---->  470.IX87_14445:
                 * 470 likely refers to the organism or strain (e.g., Acinetobacter baumannii ATCC 19606 or another related strain).
                 * IX87_14445 would refer to a specific gene or protein within that genome.
    
         Extract KEGG KO IDs from annotations.emapper.annotations.
  3. Call variant calling on self using snippy

     mkdir snippy_Pair1
     mv 2780* snippy_Pair1
     cd snippy_Pair1
    
     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
    
     #Prepare raw_data and bacto-0.1.json
     mkdir raw_data
     mv ../raw_data/Pair1_2780_S71_R1.fastq.gz raw_data
     mv ../raw_data/Pair1_2780_S71_R2.fastq.gz raw_data
     mv ../raw_data/Pair1_12835_S72_R1.fastq.gz raw_data
     mv ../raw_data/Pair1_12835_S72_R2.fastq.gz raw_data
    
     #Copy the reference 2780.gbff to db, and set "reference": "db/2780.gbff" in bacto-0.1.json
    
     conda activate /home/jhuang/miniconda3/envs/bengal3_ac3
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds
    
     --
    
     mkdir snippy_Pair2
     mv 4667* snippy_Pair2
     cd snippy_Pair2
     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
     mkdir raw_data
     mv ../raw_data/Pair2_4667_S75_R1.fastq.gz raw_data
     mv ../raw_data/Pair2_4667_S75_R2.fastq.gz raw_data
     mv ../raw_data/Pair2_9940_S78_R1.fastq.gz raw_data
     mv ../raw_data/Pair2_9940_S78_R2.fastq.gz raw_data
     #Copy the reference 4667.gbff to db, and set "reference": "db/2780.gbff" in bacto-0.1.json
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds
    
     --
    
     mkdir snippy_Pair3
     mv 3139* snippy_Pair3
     cd snippy_Pair3
     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
     mkdir raw_data
     mv ../raw_data/Pair3_3139_S74_R1.fastq.gz raw_data
     mv ../raw_data/Pair3_3139_S74_R2.fastq.gz raw_data
     mv ../raw_data/Pair3_19296_S81_R1.fastq.gz raw_data
     mv ../raw_data/Pair3_19296_S81_R2.fastq.gz raw_data
     #Copy the reference 3139.gbff to db, and set "reference": "db/3139.gbff" in bacto-0.1.json
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds
    
     --
    
     mkdir snippy_Pair4
     mv 9849* snippy_Pair4
     cd snippy_Pair4
     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
     mkdir raw_data
     mv ../raw_data/Pair4_9849_S77_R1.fastq.gz ./raw_data
     mv ../raw_data/Pair4_9849_S77_R2.fastq.gz ./raw_data
     mv ../raw_data/Pair4_11635_S80_R1.fastq.gz ./raw_data
     mv ../raw_data/Pair4_11635_S80_R2.fastq.gz ./raw_data
     #Copy the reference 9849.gbff to db, and set "reference": "db/9849.gbff" in bacto-0.1.json
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds
    
     --
    
     mkdir snippy_Pair5
     mv 3006* snippy_Pair5
     cd snippy_Pair5
     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
     mkdir raw_data
     mv ../raw_data/Pair5_3006_S73_R1.fastq.gz ./raw_data
     mv ../raw_data/Pair5_3006_S73_R2.fastq.gz ./raw_data
     mv ../raw_data/Pair5_10393_S79_R1.fastq.gz ./raw_data
     mv ../raw_data/Pair5_10393_S79_R2.fastq.gz ./raw_data
     #Copy the reference 3006.gbff to db, and set "reference": "db/3006.gbff" in bacto-0.1.json
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds
    
     --
    
     mkdir snippy_Pair6
     mv 1736* snippy_Pair6
     cd snippy_Pair6
     git clone https://github.com/huang/bacto
     mv bacto/* ./
     rm -rf bacto
     mkdir raw_data
     mv ../raw_data/Pair6_1736_S70_R1.fastq.gz ./raw_data
     mv ../raw_data/Pair6_1736_S70_R2.fastq.gz ./raw_data
     mv ../raw_data/Pair6_8583_S76_R1.fastq.gz ./raw_data
     mv ../raw_data/Pair6_8583_S76_R2.fastq.gz ./raw_data
     #Copy the reference 1736.gbff to db, and set "reference": "db/1736.gbff" in bacto-0.1.json
     /home/jhuang/miniconda3/envs/snakemake_4_3_1/bin/snakemake --printshellcmds

TODOs: # Merge the annotated information 2780_eggnog_out.emapper.annotations into the SNP-Indels-results after making concensus SNP-Indels-results merging results of SPANDx!

!!!! OPTIONALLY (for the project, 我觉得用snippy就够了: simply only taking the results of snippy, do not do the concensus of the results using snippy and SPANDx !!!!)

https://bioinformatics.cc/interhost-variant-calling-data_tam_dnaseq_2025_y1y2y3y4w1w2w3w4_tig1_tig2_dij_on_atcc19606/

  1. Summarize all SNPs and Indels from the snippy result directory.

    cp ~/Scripts/summarize_snippy_res_ordered.py .
    # IMPORTANT_ADAPT the array in script should be adapted
    isolates = ["W1", "W2", "W3", "W4", "Y1", "Y2", "Y3", "Y4"]
    mamba activate plot-numpy1
    python3 ./summarize_snippy_res_ordered.py snippy
    #--> Summary CSV file created successfully at: snippy/summary_snps_indels.csv
    cd snippy
    #REMOVE_the_line? I don't find the sence of the line:    grep -v "None,,,,,,None,None" summary_snps_indels.csv > summary_snps_indels_.csv
  2. Convert the results to Excel-format

    #REPLCE_HEAD: CHROM,POS,REF,TYPE,Pair1_2780_S71,Pair1_12835_S72,Functional_Class,Codon_change,Protein_and_nucleotide_change,Gene_ID,Gene_name
    #Replace ' ' --> ','; Replace ",,,,,," --> ','; Remove "nan"
    #Check the first sample is the same to the reference, otherwise delete it.
    #Sort according contig number and position
    
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair1/snippy/summary_snps_indels.csv -d',' -o SNPs_Indels_pair1_on_2780.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair2/snippy/summary_snps_indels.csv -d',' -o SNPs_Indels_pair2_on_4667.xls
    #EMPTY ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair3/snippy/summary_snps_indels.csv -d',' -o SNPs_Indels_pair3_on_3139.xls
    #EMPTY ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair4/snippy/summary_snps_indels.csv -d',' -o SNPs_Indels_pair4_on_9849.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair5/snippy/summary_snps_indels.csv -d',' -o SNPs_Indels_pair5_on_3006.xls
    #EMPTY ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair6/snippy/summary_snps_indels.csv -d',' -o SNPs_Indels_pair6_on_1736.xls
    
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair1/2780_eggnog_out.emapper.annotations -d$'\t' -o 2780_ORF_annotations.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair2/4667_eggnog_out.emapper.annotations -d$'\t' -o 4667_ORF_annotations.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair3/3139_eggnog_out.emapper.annotations -d$'\t' -o 3139_ORF_annotations.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair4/9849_eggnog_out.emapper.annotations -d$'\t' -o 9849_ORF_annotations.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair5/3006_eggnog_out.emapper.annotations -d$'\t' -o 3006_ORF_annotations.xls
    ~/Tools/csv2xls-0.4/csv_to_xls.py ./snippy_Pair6/1736_eggnog_out.emapper.annotations -d$'\t' -o 1736_ORF_annotations.xls
    
    ~/Tools/csv2xls-0.4/csv_to_xls.py mlst.txt -d$'\t' -o mlst.xls
  3. Report

    I have completed the variant calling and functional annotation for the 6 pairs of Staphylococcus epidermidis DNA-seq data.
    
    Key Findings:
    Out of the 6 pairs, 3 pairs reported zero variants (Pairs 3, 4, and 6), while the other 3 pairs (Pairs 1, 2, and 5) yielded SNPs and Indels.
    This result aligns with the resistome and virulence profiling. For the pairs with no genetic variants (Pairs 3, 4, and 6), the isolates have identical AMR and VFDB gene profiles (e.g., both isolates in Pair 3 have 27 AMR genes and 1 VFDB hit; both in Pair 4 have 20 AMR genes). In contrast, the pairs that showed SNPs/Indels (Pairs 1, 2, and 5) also exhibit differences in their AMR gene counts (e.g., Pair 2 has 33 vs. 30 AMR genes; Pair 5 has 21 vs. 24 AMR genes).
    Attached Files:
    Please find the following results attached:
    
        MLST calling: mlst.xls.
        Resistome_Virulence results: 12 Excel files
        SNP/Indel Results (for the pairs with variants):
            SNPs_Indels_pair1_on_2780.xls
            SNPs_Indels_pair2_on_4667.xls
            SNPs_Indels_pair5_on_3006.xls
        ORF Annotations (EggNOG-mapper results with KEGG/GO terms for all 6 reference genomes in the 6 paired comparisons):
            2780_ORF_annotations.xls, 4667_ORF_annotations.xls, 3139_ORF_annotations.xls, 9849_ORF_annotations.xls, 3006_ORF_annotations.xls, 1736_ORF_annotations.xls
    
    Brief Methodology Summary:
    
        Assembly & QC: We used nf-core/bacass for short-read assembly. CheckM confirmed high genome purity (>99.7% completeness, ~0% contamination), and GTDB-Tk confirmed the species as Staphylococcus epidermidis.
        Typing & AMR: MLST was performed (identifying ST2, ST5, and ST59 lineages). Resistome and virulence profiling were done using Abricate and RGI.
        Variant Calling: We used snippy to map each pair against its own assembled reference genome to ensure high-confidence SNP/Indel calling.
        Functional Annotation: Bakta was used for structural annotation, and EggNOG-mapper was utilized to assign KEGG and GO terms to the ORFs for all 6 reference genomes in the 6 paired comparisons.

Annotation of Multi-Nucleotide Polymorphisms (MNPs): Dissecting the c.465_469delCATTGinsAATTT Complex Variant (Data_Holger_DNAseq_2026_Sepi_Pairs)

Based on the genetic notation provided, here is the detailed explanation for why it appears that “only one nucleotide changed” the protein, even though the DNA notation looks like a large 5-base substitution.

The Short Answer

At the protein level, the change from Glycine to Cysteine (p.Gly157Cys) is indeed caused by a single nucleotide change within that specific codon.

However, at the DNA level, two nucleotides actually changed within the 5-base window (CATTG $\rightarrow$ AATTT). The reason you only see one amino acid change is that the second DNA mutation is likely synonymous (silent)—meaning it does not change the amino acid. Bioinformatics tools often group adjacent DNA changes into a single “block” notation, which can make it look more complicated than it is.


Step-by-Step Breakdown of the Mutation

Let’s map the 5-base change (c.465_469delCATTGinsAATTT) directly to the codons (amino acid building blocks) to see exactly what happened.

Since each codon is 3 bases long:

  • Codon 155 consists of bases 463, 464, and 465.
  • Codon 156 consists of bases 466, 467, and 468.
  • Codon 157 consists of base 469, 470, and 471.

Now, let’s align your reference (CATTG) and alternate (AATTT) sequences across these positions:

DNA Position Codon Location Reference Base Alternate Base Effect
465 3rd base of Codon 155 C A Synonymous (Silent): Because this is the 3rd “wobble” position of the codon, this change likely does not alter the amino acid at position 155.
466 1st base of Codon 156 A A No change
467 2nd base of Codon 156 T T No change
468 3rd base of Codon 156 T T No change
469 1st base of Codon 157 G T Missense: This changes the first letter of Codon 157. Glycine codons start with GG... (e.g., GGT). Changing the G to a T makes it TG... (e.g., TGT), which codes for Cysteine.

Why is it written as a 5-base change?

You might wonder why the software wrote delCATTGinsAATTT (which looks like a massive 5-base deletion and insertion) instead of just listing the two single-nucleotide changes.

This is a standard behavior of variant calling and annotation pipelines (like GATK, SnpEff, or VEP). When multiple nucleotide changes occur very close to each other in the sequencing reads, the software groups them together into a single “Complex Variant” or Multi-Nucleotide Polymorphism (MNP).

Instead of outputting two separate lines:

  1. c.465C>A (Silent)
  2. c.469G>T (Missense)

The pipeline outputs them as one combined block event: c.465_469delCATTGinsAATTT.

Summary

  • Did only one nucleotide change the protein? Yes. The G $\rightarrow$ T mutation at position 469 is the sole reason the amino acid changed from Glycine to Cysteine.
  • What about the other change? The C $\rightarrow$ A mutation at position 465 is a “silent” passenger mutation that doesn’t affect the final protein structure.
  • Why the confusing notation? The software simply bundled the two adjacent DNA events into one line for simplicity, even though they affect different codons.

DWZ-Karteikarte XXXX

Die Daten enthalten die Spielerinformationen sowie die Turnierhistorie mit den zugehörigen DWZ-Wertungen (Deutsche Wertungszahl). Die Spalten “Wert 1” und “Wert 2” repräsentieren zusätzliche Kennzahlen (wie z. B. Start-DWZ oder Leistungszahl), die auf der DSB-Webseite nur bei bestimmten Turnieren angezeigt werden.

Spielerinformationen

  • Aktion: Foto senden
  • Name: XXXX
  • Geschlecht: (nicht angegeben)

Turnier- und DWZ-Historie

Nr. Jahr Turnier Punkte Partien Erwartung DWZ-Diff. Gegner-Schnitt Wert 1 Wert 2 Neue DWZ
1 2023 4. Kieler U12-Pokal 0 1 0,000 0 777
2 2023 30. DWZ Cup – sfwi.de – Gruppe 15 0 3 0,000 0 900
3 2023 31. DWZ Cup – sfwi.de – Gruppe 13 1 7 0,000 0 847 768 – 1
4 2024 32. DWZ Cup – sfwi.de – Gruppe 14 2 1,030 5 609 822 – 2
5 2024 Regionales Kinder Schach Turnier (U8) 0 2 0,221 29 1252 816 – 3
6 2024 Kieler U8-Wochenendturnier / RKST 0 2 0,894 30 762 794 – 4
7 2024 HJEM 2024 U8 0 2 1,007 34 742 772 – 5
8 2024 33. DWZ Cup – sfwi.de – Gruppe 15 2 3 1,583 5 695 814 – 6
9 2024 Jugendkreisliga Hamburg 2024 1 2 0,960 5 737 819 – 7
10 2024 34. DWZ Cup – sfwi.de – Gruppe 11 1 1 0,472 5 839 889 – 8
11 2024 U10 Sonderklasse 2024 0 5 0,727 20 1351 674 866 – 9
12 2024 35. DWZ Cup – sfwi.de – Gruppe 13 1 1 0,617 5 782 917 – 10
13 2024 36. DWZ Cup – sfwi.de – Gruppe 9 1 3 1,785 18 849 887 – 11
14 2025 Regionales Kinder Schachturnier 2025 A 0 3 1,071 20 1005 850 – 12
15 2025 1. Schachwerkstatt DWZ Challenge M 3 3 1,527 5 783 997 – 13
16 2025 HJEM 2025 U8 ½ 2 1,213 13 910 959 – 14
17 2025 39. DWZ Cup – sfwi.de – Gruppe 12 1 3 1,676 15 912 929 – 15
18 2025 Jugendkreisliga 0 4 1,364 17 1055 877 – 16
19 2025 40. DWZ-ELO-Cup Gruppe 15 ½ 2 1,296 21 769 849 – 17
20 2025 U10 Sonderklasse 2025 0 2 0,739 25 835 827 – 18
21 2025 2. Schachwerkstatt U12 DWZ Challenge I 1 1 0,499 5 828 894 – 19
22 2026 HJET 2026 – U10-1 4 8 3,350 5 957 956 934 – 20
23 2026 43. DWZ-Elo-Cup der Wilstermarsch u. I […] 2 3 1,528 5 828 981 – 21
AKT 2026 HJEM 2026 U10 7 2,144 5 1149 1145 1071 – 22

(Hinweis: “AKT” in der letzten Zeile steht für das aktuell laufende oder gerade beendete Turnier, bei dem die neue DWZ vorläufig oder endgültig berechnet wurde.)



https://schach-blankenese.de/2024/02/19/rkst-2024/

https://schach-blankenese.de/2025/02/25/rekordbeteiligung-beim-rkst/

https://schach-blankenese.de/2026/03/24/gut-besuchtes-rkst/

https://schach-blankenese.de/wp-content/uploads/2026/03/rkst-hamburg-22-03-2026-tabellen.pdf

Über diese RKST-Turniere, die auch in vielen anderen Orten Deutschlands ausgetragen werden, können sich Kinder der Altersklasse U8 direkt für die Deutschen Meisterschaften qualifizieren. Darüber hinaus werden besonders leistungsstarke Spieler:innen von Scouts gesichtet und gegebenenfalls für die DM vorgeschlagen. Diese Funktion übernahmen in diesem Jahr Olaf Wolna und Bernhard Jürgens. Vielen Dank! Um die Förderung der Kinder zu optimieren, konnten alle Kinder ihre Partien analysieren lassen. An dieser Aufgabe beteiligten sich unter der Führung von Berthold vor allem Sami, Nua, Noah, Rishi, Okke und Aaron sowie Kristina vom HSK. Es ist sehr schön zu sehen, dass auch unsere Jugend gern Aufgaben übernimmt und sich engagiert. Herzlichen Dank an alle Beteiligten!