发布说明

目录

发布说明#

NoneNone

版本 0.11#

0.11.3 2025-01-10#

错误修复#

0.11.2 2025-01-07#

错误修复#

性能#

0.11.1 2024-11-12#

错误修复#

0.11.0 2024-11-07#

发布候选版本:

  • rc3 2024-10-14

  • rc2 2024-09-24

  • rc1 2024-09-04

错误修复#

重大更改#

  • rc3 放弃对 python 3.9 的支持 @ilan-gold (#1712)

  • NoneNone
  • rc2 新的 anndata.io 模块包含所有 read_*write_* 函数,所有对这些函数的导入应通过此模块进行。旧的导入这些函数的方法,例如 from anndata import read_csvfrom anndata._io.specs import read_elem 仍然有效,但现在被视为过时,并在导入时给出警告,除了 anndata.io.read_zarr()anndata.io.read_h5ad(),这两个函数将保持在顶层 anndata 下而不会警告。 @ilan-gold ({pr}1682`)

  • rc1 移除了不再使用的模块 anndata.coreanndata.readwrite @ivirshup (#1197)

  • rc1 不再从 sparse_dataset 导出 anndata.experimental,而是导出 anndata.io.sparse_dataset() @ilan-gold (#1642)

  • rc1RWAbleInMemoryElem 移出 experimental,将 RWAble 重命名为 AxisStorable,将 InMemoryElem 重命名为 RWAble @ilan-gold#1643

开发过程#

  • rc2 添加额外的 dask 依赖以便安装,即 pip install anndata[dask] @ilan-gold (#1677)

  • rc2settings 中删除 shall_ 作为变量名称 @ilan-gold (#1685)

  • rc1 为cuda 11和12创建新的 cupy 安装选项,称为 cu11cu12 @Intron7 (#1596)

文档#

特点#

版本 0.10#

0.10.9 2024-08-28#

错误修复#

开发过程#

  • 为cuda 11和12创建新的 cupy 安装选项,称为 cu11cu12 @Intron7 (#1596)

文档#

性能#

0.10.8 2024-06-20#

错误修复#

文档#

0.10.7 2024-04-09#

错误修复#

  • 处理上游 numcodecs 缺陷,导致只读字符串数组无法编码 @ivirshup #1421

  • 直接使用内存稀疏矩阵以修复与 scipy 1.13 的兼容性 @ilan-gold #1435

性能#

  • 移除 vindex 用于子集 dask.array.Array 因为它的速度慢和内存消耗 @ilan-gold #1432

0.10.6 2024-03-11#

错误修复#

  • 推迟在测试助手中导入zarr,因为scanpy CI工作依赖于它们 #1343 @ilan-gold

  • 现在写入具有非唯一列名的数据框会抛出错误,而不是默默地覆盖 #1335 @ivirshup

  • 将优化从 #1233 引入到整个 AnnData 对象的索引中,而不仅仅是稀疏数据集本身 #1365 @ilan-gold

  • 修复均值切片长度检查,以在使用布尔掩码沿主要轴索引支持的稀疏矩阵时提高性能 #1366 @ilan-gold

  • 修复在写入具有稀疏块的dask数组时发生的溢出,通过始终使用64位的indptr和索引来写入dask数组,并在稀疏磁盘结构的 .append 方法中添加溢出检查 #1348 @ivirshup

  • 修改了 ValueError 消息,以便在构造期间对于无效的 .X 显示更有帮助的列表,而不是模糊的 __name__ #1395 @eroell

  • 固定 array-api-compat!=1.5 以避免 asarray 的不正确实现 #1411 @ivirshup

文档#

  • .to_df 方法的类型提示和文档字符串已更新和修复 #1402 @WeilerP

开发#

  • anndata的 CI 现在对其依赖项的最低版本进行测试。因此,几个依赖项的最低要求版本被提升。查看差异详情 #1314 @ivirshup

  • anndata 现在测试 Python 3.12 #1373 @ivirshup

0.10.5 2024-01-25#

错误修复#

  • 修复沿变量的外部连接,当只有一部分对象在层中有条目时 #1291 @ivirshup

  • 修复在连接时对 uns 中大于2维数组的比较 #1300 @ivirshup

  • 修复与尴尬数组版本 2.5.2 的 IO #1328 @ivirshup

  • 修复了一个错误(在0.10.4中引入),该错误导致使用 list[bool] 索引 AnnData 时返回错误结果 #1332 @ivirshup

文档#

  • 重新添加搜索时输入的功能,这次通过 readthedocs-sphinx-search #1311 @flying-sheep

性能#

  • BaseCompressedSparseDatasetindptr 被缓存 #1266 @ilan-gold

  • 在其主要轴上使用布尔遮罩索引后备稀疏矩阵时性能有所改善 #1233 @ilan-gold

0.10.4 2024-01-04#

错误修复#

  • 仅在实际支持的 Pandas ≥2.1 中尝试使用 Categorical.map(na_action=…) #1226 @flying-sheep

  • AnnData.__sizeof__() 对背后数据集的支持 #1230 @Neah-Ko

  • adata[:, []] 现在返回一个 AnnData 对象,在适当的维度上为空,而不是出现错误 #1243 @ilan-gold

  • adata.X[mask] 在较新的 numpy 版本中有效,当 Xbacked#1255 @ilan-gold

  • adata.X[...] 修复为 X 作为 BaseCompressedSparseDataset,采用 zarr 后端 #1265 @ilan-gold

  • 改善读/写错误报告 #1273 @flying-sheep

文档#

0.10.3 2023-10-31#

错误修复#

文档#

  • 在读取、连接、切片或转置AnnData对象时停止显示“对笨拙数组的支持目前处于实验阶段”的警告 #1182 @flying-sheep

其他更新#

0.10.2 2023-10-11#

错误修复#

  • 为依赖于 anndata._core.sparse_dataset.SparseDataset 的包添加了兼容层。 注意,这个 API 是 不推荐使用的,新代码应使用 anndata.CSRDataset~anndata.CSCDatasetanndata.sparse_dataset#1185 @ivirshup

  • 处理来自 pd.Categorical.map 的弃用警告,在 anndata.concat 过程中 #1189 @flying-sheep @ivirshup

  • 修复了在 IO 回溯中包含额外步骤的问题 #1193 @flying-sheep

  • as_dense 参数的 write_h5ad 不再写入未编码元数据的数组 #1193 @flying-sheep

性能#

  • 在某些情况下,concat_on_disk 在密集数组上的性能得到了改善 #1169 @selmanozleyen

0.10.1 2023-10-08#

错误修复#

  • 修复 ad.concat 在连接分类列和对象列时出错 #1171 @ivirshup

0.10.0 2023-10-06#

特点#

GPU 支持

超出核心

改进的错误和警告

文档#

重大更改#

其他更新#

弃用#

错误修复#

版本 0.9#

0.9.2 2023-07-25#

错误修复#

0.9.1 2023-04-11#

错误修复#

0.9.0 2023-04-11#

特点#

文档#

重大更改#

其他更新#

弃用#

错误修复#

  • 修复来自 rename_categories #790 I Virshup 的警告

  • 在我们可以判断文件的新旧程度时,移除uns中类别的向后兼容检查 #790 I Virshup

  • 分类数组现在使用 python bool 创建,而不是 numpy.bool_ #856

  • 修复了固定顺序依赖的外部连接错误 #904 @ivirshup,由 @szalata 报告

  • 修复了重命名类别的错误 #790 @ivirshup,由 @perrin-isir 报告

  • 修复了当 uns 中的键以 _categories 结尾时的 IO 错误 #806 @ivirshup,由 @Hrovatin 报告

  • 修复了 raw.to_adata 在通过设置器赋值 raw 时未填充 obs 对齐值的问题 #939 @ivirshup

版本 0.8#

0.8.0 2022年3月14日#

输入输出规范#

警告

此版本更新了AnnData对象的磁盘格式。以前的anndata版本将无法读取此版本写入的所有文件。

有关该问题可能的未来解决方案的讨论,请参见 #698

内部的IO处理已经被彻底重构。这应该使支持新数据类型、使用部分访问以及在其他格式中内部使用 AnnData 变得更加容易。

  • 每个元素应标记为 encoding_typeencoding_version。请参阅文件格式的更新文档

  • 支持可空整数和布尔数据数组。更多数据类型即将到来!

  • 通过 read_elem()write_elem() 对 IO API 进行低级访问的实验性支持

特点#

  • 新增了 PyTorch 数据加载器 AnnLoader 和懒惰连接对象 AnnCollection。请参阅 教程 #416 S Rybakov

  • 与从Julia #569 I Kats 编写的 h5ad 文件的兼容性

  • 许多本应该是警告的日志消息现在变成了警告 #650 I Virshup

  • 显著更高效 anndata.io.read_umi_tools() #661 I Virshup

  • 修复了保留稀疏矩阵视图混合类型的视图副本的深拷贝 #670 M Klein

  • 在许多情况下 X 现在可以是 None #463 R Cannoodt #677 I Virshup。剩余的工作在 #467 中有记录。

  • 移除硬 xlrd 依赖 I Virshup

  • obsvar 数据框在 AnnData 实例化时不再默认复制 #371 I Virshup

错误修复#

  • 修复了 .copy 在复制时创建稀疏矩阵视图的问题 #670 michalk8

  • 修复了从 zarr 读取的 .X 矩阵总是具有 float32 值的问题 #701 I Virshup

  • Raw.to_adata` 现在在输出中包含 obsp #404 G Eraslan

依赖#

  • xlrd 被去掉作为一个强制依赖

  • 现在需要 h5py v3.0.0 或更高版本

版本 0.7#

0.7.8 2021年11月9日#

错误修复#

  • 重新包含测试助手 #641 I Virshup

0.7.7 2021年11月9日#

错误修复#

  • 修复了导入时的导入错误 write_zarr 但并未安装所有依赖项 #579 R Hillje

  • 修复了 .uns 子字典被引用为副本的问题 #576 I Virshup

  • 修复了超出范围的整数索引未引发 IndexError #630 M Klein

  • 修复了使用 scipy 1.7.2 的 SparseDataset 索引 #638 I Virshup

开发流程#

  • 使用PEP 621(标准化项目元数据)、631(标准化依赖项)和660(标准化可编辑安装) #639 I Virshup

0.7.6 2021年4月11日#

特点#

错误修复#

  • 修复了在写入时 np.str_ 列名称出错的bug #457 I Virshup

  • 修复了在更新 obs_names/var_names 后存储在 obsm/varm 中的数据框触发的“value.index 与父级的轴 0/1 名称不匹配”错误 #461 G Eraslan

  • 修复了 adata.write_csvsadata 是一个视图时 #462 I Virshup

  • 修复了在将字符串转换为分类时,空值被转换为字符串的情况 #529 I Virshup

  • 修复了压缩关键字参数的处理 #536 I Virshup

  • 修复了从更改原始对象指向的文件中复制备份的 AnnData 的问题 #533 ilia-kats

  • 修复了一个错误,即调用 AnnData.concatenate 一个没有变量的 AnnData 时会出错 #537 I Virshup

弃用#

0.7.5 2020年11月12日#

功能#

  • 添加了ipython标签补全功能,并对.keys返回adata.uns进行了有用的改进 #415 I Virshup

错误修复#

  • h5py>=3 字符串的兼容性 #444 I Virshup

  • 允许 adata.raw = None,如文档中所述 #447 I Virshup

  • 修复来自 pandas 1.1 的警告 #425 I Virshup

0.7.4 2020年7月10日#

串联改革 #378 I Virshup#

功能性#

  • 从具有稀疏值的数据框创建的AnnData对象将具有稀疏 .X #395 I Virshup

错误修复#

  • 通过提高numpy和pandas的最低版本修复了来自 AnnData.concatenate 的错误 #385

  • 修复了在AnnData对象被子集化时颜色被错误更改的问题 #388

0.7.3 2020年5月20日#

错误修复#

  • 修复了复制图表时使用过多内存的bug #381 I Virshup

0.7.2 2020年5月15日#

连接操作的彻底改革 I Virshup#

  • uns 的元素现在可以合并,见 #350

  • 现在外连接可用于 layersobsm,请参见 #352

  • 现在可以为外连接指定填充值

  • 期待性能的改善,见 #303

功能性#

  • obspvarp 现在可以被转置 #370 A Wolf

  • obs_names_make_unique() 现在更擅长使值唯一,如果出现歧义将发出警告 #345 M Weiden

  • obsp 现在被优先用于存储观察之间的成对关系。实际上,这意味着将对存储在 uns["neighbors"] 下的连接性对象应用弃用警告和重新格式化。uns 中的方阵将不再被切片(改为使用 .{obs,var}p)。 #337 I Virshup

  • ImplicitModificationWarning 现在被导出 #315 P Angerer

  • 更好地支持存储在 AnnData 对象中的 ndarray 子类 #335 michalk8

错误修复#

  • 通过唯一化函数 #348 I Virshup 固定了 Index 对象的就地修改

  • 将模糊的键传递给 obs_vector()var_vector() 现在会抛出错误 #340 I Virshup

  • 修复从 DataFrame 创建 AnnData 对象的问题 #316 P Angerer

  • 固定索引到 AnnData 对象的数组,如 adata[adata[:, gene].X > 0] #332 I Virshup

  • 修复版本类型 #315 P Angerer

  • 修复了来自 pandas 的弃用导入 #319 P Angerer

0.7.0 2020年1月22日#

警告

0.6.22.post10.7 之间引入的重大变更:

  • AnnData的元素在主对象被子集时不会降低维度。这是为了在进行子集时保持一致性。请参见#145中的讨论。

  • 内部模块如 anndata.core 是私有的,其内容不稳定:请参见 #174

  • 已删除的旧属性 .smp*.add.data

查看重建 #164#

  • 索引到视图不再保留对中间视图的引用,见 #62

  • 视图现在是惰性的。AnnData 的视图元素在被访问之前不会被索引。

  • 使用标量索引不再降低所包含数组的维度,请参见 #145

  • 现在,AnnData 的所有元素应该遵循关于如何进行子集的相同规则,参见 #145

  • 现在可以同时按观察和变量进行索引。

IO 重大改进 #167#

  • 读取和写入已被改进,以实现简化和加速。

  • 在典型用例中,时间和内存使用可以是之前的一半

  • Zarr后端现在支持稀疏数组,并且总体上更接近于具有与HDF5相同的功能。

  • 备份模式应该在沿压缩维度和IO的访问方面看到显著的速度和内存改进。 PR #241

  • Categorical现在可以被排序 (PR #230) 并且可以写入磁盘,支持大量类别 (PR #217)。

映射属性大修 (obsm, varm, layers, …)#

  • 新增属性 obspvarp,用于二维数组,其中每个轴对应于 AnnData 对象的单个轴。PR #207

  • 这些用于存储类似于逐单元图的值,这些值目前存储在 uns 中。

  • 稀疏数组现在被允许作为所有映射属性中的值。

  • 现在允许将DataFrames作为值在 obsmvarm 中使用。

  • 现在所有映射属性共享一个实现,并将具有相同的行为。 PR #164

其他改进#

  • 映射属性现在具有 ipython 标签补全(例如 adata.obsm["\\t 可以提供建议) PR #183

  • AnnData 属性现在可以删除(例如 del adata.raw)PR #242

  • 许多错误修复

版本 0.6#

0.6.0 2018年5月1日#

  • 与Seurat转换器的兼容性

  • concatenate()的巨大加速

  • 修复切片后无结构注释的深拷贝的错误

  • 修复读取HDF5存储的单类别注释的错误

  • 'outer join' 级联:为稀疏数据添加零,为密集数据添加nans

  • 在织布输出中更好的内存效率

版本 0.5#

0.5.0 2018年2月9日#

版本 0.4#

0.4.0 2017年12月23日#

  • 读取/写入 .loom 文件

  • 超越适合内存的数据集大小的可扩展性:请参阅这篇 博客文章

  • AnnData 有一个 raw 属性,当你认为数据矩阵是 原始 时,这简化了存储数据矩阵:参见 聚类教程