发布说明#
NoneNone版本 0.11#
0.11.3 2025-01-10#
错误修复#
运行时的上限
zarr@ilan-gold (#1819)
0.11.2 2025-01-07#
错误修复#
缓存对
CSRDataset和CSCDataset中的data和indices数组的访问 @ilan-gold (#1744)对不是实际整数的浮点索引报告错误 @ilan-gold (#1746)
write_elem现在在保存零维数组时过滤掉不兼容的dataset_kwargs@ilia-kats (#1783)增加
scipy1.5 兼容性 @flying-sheep (#1806)
性能#
针对
anndata.abc.CSRDataset和anndata.abc.CSCDataset的批处理切片索引以提升zarr的性能 @ilan-gold (#1790)
0.11.1 2024-11-12#
错误修复#
移除
dask上的上部引脚,并排除与稀疏索引破坏的版本 @ilan-gold (#1725)修复在
read_elem_as_dask()的chunks参数中使用-1时的分块问题 @ilan-gold (#1743)修复
cupy<0.13在非GPU环境中的导入 @ilan-gold (#1754)
0.11.0 2024-11-07#
发布候选版本:
rc3 2024-10-14
rc2 2024-09-24
rc1 2024-09-04
错误修复#
确保
anndata.concat()的AnnData对象与scipy.sparse.spmatrix和scipy.sparse.sparraydask 数组使用正确的填充值 0。 @ilan-gold (#1719)
重大更改#
rc3 放弃对
python3.9 的支持 @ilan-gold (#1712) NoneNone
rc2 新的
anndata.io模块包含所有read_*和write_*函数,所有对这些函数的导入应通过此模块进行。旧的导入这些函数的方法,例如from anndata import read_csv或from anndata._io.specs import read_elem仍然有效,但现在被视为过时,并在导入时给出警告,除了anndata.io.read_zarr()和anndata.io.read_h5ad(),这两个函数将保持在顶层anndata下而不会警告。 @ilan-gold ({pr}1682`)rc1 移除了不再使用的模块
anndata.core和anndata.readwrite@ivirshup (#1197)rc1 不再从
sparse_dataset导出anndata.experimental,而是导出anndata.io.sparse_dataset()@ilan-gold (#1642)rc1 将
RWAble和InMemoryElem移出experimental,将RWAble重命名为AxisStorable,将InMemoryElem重命名为RWAble@ilan-gold (#1643)
开发过程#
rc2 添加额外的
dask依赖以便安装,即pip install anndata[dask]@ilan-gold (#1677)rc2 从
settings中删除shall_作为变量名称 @ilan-gold (#1685)rc1 为cuda 11和12创建新的
cupy安装选项,称为cu11和cu12@Intron7 (#1596)
文档#
rc1 修正
anndata.AnnData.X类型,以包括CSRDataset和CSCDataset作为可能的类型,并开始对非-csr/cscscipy.sparse.spmatrix类型进行弃用处理 @ilan-gold (#1616)
特点#
为
AnnData对象添加省略号索引的支持 @ilan-gold (#1729)rc1
scipy.sparse.csr_array和scipy.sparse.csc_array现在在构建AnnData对象时被支持 @ilan-gold @isaac-virshup (#1028)rc1 允许
axis参数,例如anndata.concat()接受'obs'和'var'@flying-sheep (#1244)rc1 添加
settings对象,包含用于修改内部使用选项的方法,例如检查obs索引的唯一性 @ilan-gold (#1270)rc1 向
anndata.settings添加remove_unused_categories选项以覆盖当前行为 @ilan-gold (#1340)rc1 添加
read_elem_as_dask()函数以处理稀疏和密集数组的输入/输出 @ilan-gold (#1469)rc1 增加在
write_h5ad()和write_zarr()中通过convert_strings_to_categoricals参数将字符串转换为分类变量的能力 @falexwolf (#1474)rc1 添加
check_uniqueness选项到anndata.settings以覆盖当前行为 @ilan-gold (#1507)rc1 添加从 GPU
dask.array.Array写入磁盘的功能 @ilan-gold (#1550)rc1 对可空字符串数组的读写支持 (
pandas.arrays.StringArray)。使用 pandas 的 选项和设置mode.string_storage来控制读取dtype="string"列时使用的存储模式。@flying-sheep (#1558)rc1 直接从主包中导出
write_elem()和read_elem(),而不是experimental@ilan-gold (#1598)rc1 允许通过
read_elem()或sparse_dataset()读取稀疏数据到scipy.sparse.csr_array或scipy.sparse.csc_array,通过anndata.settings.use_sparse_array_on_read@ilan-gold (#1633)
版本 0.10#
0.10.9 2024-08-28#
错误修复#
修复为
h5文件写入大量列的问题 @ilan-gold @selmanozleyen (#1147)为具有重复索引的视图设置
X添加警告 @ilan-gold (#1501)在尝试将
numpy.matrix类转换为数组时,将其强制转换为数组,以存储在AnnData中 @flying-sheep (#1516)修复了使用稀疏矩阵设置密集
X视图的问题 @ilan-gold (#1532)由于 cupy/cupy#8391 @ilan-gold (#1540),对于
gpu安装的上限numpy由于 #1579 @ilan-gold (#1580) 的原因,上限dask
确保在
AnnData视图上设置pandas.DataFrame.index会从视图实例化DataFrame@ilan-gold (#1586)不允许使用
DataFrame具有多重索引列 @ilan-gold (#1589)
开发过程#
文档#
为
read_dispatched()和write_dispatched()添加callback类型 @ilan-gold (#1557)
性能#
支持
concat_on_disk外部连接 @ilan-gold (#1504)
0.10.8 2024-06-20#
错误修复#
在适当的时候为
concat_on_disk()写出64bitindptr #1493 @ilan-gold对 Numpy 2 的支持 #1499 @flying-sheep
修复
sparse_dataset()文档字符串测试,因为新的scipy版本 #1514 @ilan-gold
文档#
对
sparse_dataset()的改进示例 #1468 @ivirshup
0.10.7 2024-04-09#
错误修复#
直接使用内存稀疏矩阵以修复与
scipy1.13的兼容性 @ilan-gold #1435
性能#
移除
vindex用于子集dask.array.Array因为它的速度慢和内存消耗 @ilan-gold #1432
0.10.6 2024-03-11#
错误修复#
推迟在测试助手中导入zarr,因为scanpy CI工作依赖于它们 #1343 @ilan-gold
将优化从 #1233 引入到整个
AnnData对象的索引中,而不仅仅是稀疏数据集本身 #1365 @ilan-gold修复均值切片长度检查,以在使用布尔掩码沿主要轴索引支持的稀疏矩阵时提高性能 #1366 @ilan-gold
修复在写入具有稀疏块的dask数组时发生的溢出,通过始终使用64位的indptr和索引来写入dask数组,并在稀疏磁盘结构的
.append方法中添加溢出检查 #1348 @ivirshup修改了
ValueError消息,以便在构造期间对于无效的.X显示更有帮助的列表,而不是模糊的__name__#1395 @eroell
文档#
开发#
0.10.5 2024-01-25#
错误修复#
文档#
重新添加搜索时输入的功能,这次通过
readthedocs-sphinx-search#1311 @flying-sheep
性能#
BaseCompressedSparseDataset的indptr被缓存 #1266 @ilan-gold在其主要轴上使用布尔遮罩索引后备稀疏矩阵时性能有所改善 #1233 @ilan-gold
0.10.4 2024-01-04#
错误修复#
仅在实际支持的 Pandas ≥2.1 中尝试使用
Categorical.map(na_action=…)#1226 @flying-sheepadata[:, []]现在返回一个AnnData对象,在适当的维度上为空,而不是出现错误 #1243 @ilan-goldadata.X[mask]在较新的numpy版本中有效,当X被backed时 #1255 @ilan-goldadata.X[...]修复为X作为BaseCompressedSparseDataset,采用zarr后端 #1265 @ilan-gold改善读/写错误报告 #1273 @flying-sheep
文档#
改进对齐映射错误消息 #1252 @flying-sheep
0.10.3 2023-10-31#
错误修复#
防止pandas在设置分类列的切片时导致无限递归 #1211 @flying-sheep
文档#
在读取、连接、切片或转置AnnData对象时停止显示“对笨拙数组的支持目前处于实验阶段”的警告 #1182 @flying-sheep
其他更新#
当测试引发意外警告时,失败金丝雀CI作业。 #1182 @flying-sheep
0.10.2 2023-10-11#
错误修复#
为依赖于
anndata._core.sparse_dataset.SparseDataset的包添加了兼容层。 注意,这个 API 是 不推荐使用的,新代码应使用anndata.CSRDataset、~anndata.CSCDataset和anndata.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#
错误修复#
0.10.0 2023-10-06#
特点#
GPU 支持
现在支持稠密和稀疏
CuPy数组 #1066 @ivirshup一旦你的 anndata 中有
CuPy数组,使用它与:rapids-singlecell从 v0.9+ 开始
anndata 现在具有 GPU 支持的 CI。这个可能得益于来自 CZI 的 EOSS 计划 的资助,并通过 Cirun 管理 #1066 #1084 @Zethson @ivirshup
超出核心
在磁盘上连接 anndata 对象,使用
anndata.experimental.concat_on_disk()#955 @selmanozleyenAnnData 现在可以保存带有
scipy.sparse.spmatrix块的 dask 数组 #1114 @ivirshup用于与磁盘稀疏数组交互的公共API:
sparse_dataset(),CSRDataset, 和CSCDataset#765 @ilan-gold @ivirshup
改进的错误和警告
文档#
重大更改#
anndata.AnnData.transpose()不再不必要地复制。如果你依赖于复制行为,请对结果对象调用.copy。 #1114 @ivirshup
其他更新#
将最低python版本提升至3.9 #1117 @flying-sheep
弃用#
弃用
anndata.read,它只是anndata.io.read_h5ad()的一个别名 #1108 @ivirshup。
错误修复#
修复在初始化时指定
X=None时的形状推断 #1121 @flying-sheep NoneNone
版本 0.9#
0.9.2 2023-07-25#
错误修复#
修复像
adata.X[:10].cov(axis=0)这样的函数返回视图 #1043 @flying-sheep修复实例化 AnnData,其中
.X是一个具有整数值索引的DataFrame#1002 @flying-sheep修复
read_zarr()当在zarr.Group上使用时 #1057 @ivirshup
0.9.1 2023-04-11#
错误修复#
0.9.0 2023-04-11#
特点#
增加了对dask数组的实验性支持 #813 @syelman @rahulbshrestha
obsm、varm和uns现在可以持有 AwkwardArrays #647 @giovp、@grst、@ivirshup添加了实验性函数
anndata.experimental.read_dispatched()和anndata.experimental.write_dispatched(),允许使用回调自定义 IO #873 @ilan-gold @ivirshup更好的IO错误信息 #734 @flying-sheep, @ivirshup
无序分类列在
anndata.concat()#763 @ivirshup 期间不再被转换为对象
文档#
实验性功能的新教程
扩展的文档字符串为
anndata.io.read_h5ad()的backed参数提供更多文档 #812 @jeskowagner记录了如何为
h5ad文件格式使用替代压缩方法,见AnnData.write_h5ad()#857 @nigeil
重大更改#
其他更新#
弃用#
AnnData.concatenate()现已不再推荐,建议使用anndata.concat()#845 @ivirshup
错误修复#
修复来自
rename_categories#790 I Virshup 的警告在我们可以判断文件的新旧程度时,移除
uns中类别的向后兼容检查 #790 I Virshup分类数组现在使用 python
bool创建,而不是numpy.bool_#856修复了重命名类别的错误 #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日#
输入输出规范#
内部的IO处理已经被彻底重构。这应该使支持新数据类型、使用部分访问以及在其他格式中内部使用 AnnData 变得更加容易。
每个元素应标记为
encoding_type和encoding_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 Virshupobs和var数据框在AnnData实例化时不再默认复制 #371 I Virshup
错误修复#
依赖#
xlrd被去掉作为一个强制依赖现在需要
h5pyv3.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日#
特点#
添加了
anndata.AnnData.to_memory()用于从后台对象返回内存中的对象 #470 #542 V Bergen I Virshupanndata.AnnData.write_loom()现在使用Index的.name属性写入obs_names和var_names,如果已设置 #538 I Virshup
错误修复#
修复了在写入时
np.str_列名称出错的bug #457 I Virshup修复了在更新 obs_names/var_names 后存储在 obsm/varm 中的数据框触发的“value.index 与父级的轴 0/1 名称不匹配”错误 #461 G Eraslan
修复了
adata.write_csvs当adata是一个视图时 #462 I Virshup修复了在将字符串转换为分类时,空值被转换为字符串的情况 #529 I Virshup
修复了压缩关键字参数的处理 #536 I Virshup
修复了从更改原始对象指向的文件中复制备份的
AnnData的问题 #533 ilia-kats修复了一个错误,即调用
AnnData.concatenate一个没有变量的AnnData时会出错 #537 I Virshup
弃用#
传递位置参数到
anndata.io.read_loom()除路径之外现在已被弃用 #538 I Virshupanndata.io.read_loom()的参数obsm_names和varm_names现在已被弃用,推荐使用obsm_mapping和varm_mapping#538 I Virshup
0.7.5 2020年11月12日#
功能#
添加了ipython标签补全功能,并对
.keys返回adata.uns进行了有用的改进 #415 I Virshup
错误修复#
0.7.4 2020年7月10日#
串联改革 #378 I Virshup#
新的函数
anndata.concat()用于沿着观测或变量连接AnnData对象新的文档部分: 连接
功能性#
从具有稀疏值的数据框创建的AnnData对象将具有稀疏
.X#395 I Virshup
错误修复#
0.7.3 2020年5月20日#
错误修复#
修复了复制图表时使用过多内存的bug #381 I Virshup
0.7.2 2020年5月15日#
连接操作的彻底改革 I Virshup#
功能性#
obs_names_make_unique()现在更擅长使值唯一,如果出现歧义将发出警告 #345 M Weidenobsp现在被优先用于存储观察之间的成对关系。实际上,这意味着将对存储在uns["neighbors"]下的连接性对象应用弃用警告和重新格式化。uns中的方阵将不再被切片(改为使用.{obs,var}p)。 #337 I VirshupImplicitModificationWarning现在被导出 #315 P Angerer
错误修复#
0.7.0 2020年1月22日#
警告
在 0.6.22.post1 和 0.7 之间引入的重大变更:
查看重建 #164#
IO 重大改进 #167#
读取和写入已被改进,以实现简化和加速。
在典型用例中,时间和内存使用可以是之前的一半
Zarr后端现在支持稀疏数组,并且总体上更接近于具有与HDF5相同的功能。
备份模式应该在沿压缩维度和IO的访问方面看到显著的速度和内存改进。 PR #241。
Categorical现在可以被排序 (PR #230) 并且可以写入磁盘,支持大量类别 (PR #217)。
映射属性大修 (obsm, varm, layers, …)#
其他改进#
版本 0.6#
0.6.0 2018年5月1日#
与Seurat转换器的兼容性
对
concatenate()的巨大加速修复切片后无结构注释的深拷贝的错误
修复读取HDF5存储的单类别注释的错误
'outer join'级联:为稀疏数据添加零,为密集数据添加nans在织布输出中更好的内存效率
版本 0.5#
0.5.0 2018年2月9日#
通知关于
var_names中的重复项,并使用var_names_make_unique()来解决它们在切片后自动删除未使用的类别
使用 loompy 2 读取/写入 .loom 文件
修复了几个文本文件格式的读写问题
读取 UMI tools 文件:
read_umi_tools()