From 4b35ce9a8d35ac0ea0d2fca17be7012d9edb8639 Mon Sep 17 00:00:00 2001 From: Zhiyuan Chen Date: Fri, 13 Dec 2024 14:42:16 +0800 Subject: [PATCH] update license Signed-off-by: Zhiyuan Chen --- LICENSE.header | 9 +- LICENSE.zh.md | 248 +++++++++++ README.md | 4 +- README.zh.md | 4 +- about/license-faq.md | 114 ----- about/license-faq.zh.md | 120 ----- about/privacy.md | 408 ----------------- about/privacy.zh.md | 419 ----------------- conftest.py | 10 +- demo/data/huggingface-datasets.py | 10 +- demo/data/local-file.py | 10 +- demo/models/direct-access.py | 10 +- demo/models/multimolecule-automodel.py | 10 +- demo/models/transformers-automodel.py | 10 +- demo/models/vanilla.py | 10 +- docs/docs/about/license-faq.md | 2 +- docs/docs/about/license-faq.zh.md | 2 +- docs/docs/about/privacy.md | 409 ++++++++++++++++- docs/docs/about/privacy.zh.md | 420 +++++++++++++++++- docs/docs/index.md | 2 +- docs/docs/index.zh.md | 2 +- docs/docs/license-faq.md | 0 docs/docs/license-faq.zh.md | 0 docs/docs/license.md | 0 docs/docs/license.zh.md | 0 docs/mkdocs.yml | 4 + docs/requirements.txt | 1 + license-faq.md | 148 ++++++ license-faq.zh.md | 157 +++++++ licensing.sh | 2 +- multimolecule/__init__.py | 10 +- multimolecule/data/__init__.py | 9 +- multimolecule/data/dataset.py | 12 +- multimolecule/data/functional.py | 10 +- multimolecule/data/utils.py | 10 +- multimolecule/datasets/archiveii/archiveii.py | 10 +- multimolecule/datasets/bprna/bprna.py | 10 +- multimolecule/datasets/bprna_new/bprna_new.py | 10 +- .../datasets/bprna_spot/bprna_spot.py | 10 +- multimolecule/datasets/conversion_utils.py | 10 +- .../datasets/eternabench_cm/eternabench_cm.py | 10 +- .../eternabench_external.py | 10 +- .../eternabench_switch/eternabench_switch.py | 10 +- multimolecule/datasets/gencode/gencode.py | 10 +- multimolecule/datasets/rfam/rfam.py | 10 +- multimolecule/datasets/rivas/rivas.py | 10 +- .../datasets/rnacentral/modifications.py | 10 +- .../datasets/rnacentral/rnacentral.py | 10 +- .../rnacentral/secondary_structure.py | 10 +- multimolecule/datasets/rnacentral/utils.py | 10 +- .../datasets/rnastralign/rnastralign.py | 10 +- multimolecule/datasets/ryos/ryos.py | 10 +- multimolecule/defaults.py | 10 +- multimolecule/models/__init__.py | 10 +- multimolecule/models/calm/__init__.py | 10 +- .../models/calm/configuration_calm.py | 10 +- .../models/calm/convert_checkpoint.py | 10 +- multimolecule/models/calm/modeling_calm.py | 10 +- multimolecule/models/configuration_utils.py | 10 +- multimolecule/models/conversion_utils.py | 10 +- multimolecule/models/ernierna/__init__.py | 10 +- .../models/ernierna/configuration_ernierna.py | 10 +- .../models/ernierna/convert_checkpoint.py | 10 +- .../models/ernierna/modeling_ernierna.py | 10 +- multimolecule/models/modeling_auto.py | 10 +- multimolecule/models/modeling_outputs.py | 10 +- multimolecule/models/rinalmo/__init__.py | 10 +- .../models/rinalmo/configuration_rinalmo.py | 10 +- .../models/rinalmo/convert_checkpoint.py | 10 +- .../models/rinalmo/modeling_rinalmo.py | 10 +- multimolecule/models/rnabert/__init__.py | 10 +- .../models/rnabert/configuration_rnabert.py | 10 +- .../models/rnabert/convert_checkpoint.py | 10 +- .../models/rnabert/modeling_rnabert.py | 10 +- multimolecule/models/rnaernie/__init__.py | 10 +- .../models/rnaernie/configuration_rnaernie.py | 10 +- .../models/rnaernie/convert_checkpoint.py | 10 +- .../models/rnaernie/modeling_rnaernie.py | 10 +- multimolecule/models/rnafm/__init__.py | 10 +- .../models/rnafm/configuration_rnafm.py | 10 +- .../models/rnafm/convert_checkpoint.py | 10 +- multimolecule/models/rnafm/modeling_rnafm.py | 10 +- multimolecule/models/rnamsm/__init__.py | 10 +- .../models/rnamsm/configuration_rnamsm.py | 10 +- .../models/rnamsm/convert_checkpoint.py | 10 +- .../models/rnamsm/modeling_rnamsm.py | 10 +- multimolecule/models/splicebert/__init__.py | 10 +- .../splicebert/configuration_splicebert.py | 10 +- .../models/splicebert/convert_checkpoint.py | 10 +- .../models/splicebert/modeling_splicebert.py | 10 +- multimolecule/models/utrbert/__init__.py | 10 +- .../models/utrbert/configuration_utrbert.py | 10 +- .../models/utrbert/convert_checkpoint.py | 10 +- .../models/utrbert/modeling_utrbert.py | 10 +- multimolecule/models/utrlm/__init__.py | 10 +- .../models/utrlm/configuration_utrlm.py | 10 +- .../models/utrlm/convert_checkpoint.py | 10 +- multimolecule/models/utrlm/modeling_utrlm.py | 10 +- multimolecule/module/__init__.py | 10 +- multimolecule/module/backbones/__init__.py | 10 +- multimolecule/module/backbones/registry.py | 10 +- multimolecule/module/backbones/sequence.py | 10 +- .../module/backbones/sequences/__init__.py | 10 +- .../module/backbones/sequences/onehot.py | 10 +- .../module/backbones/sequences/registry.py | 10 +- multimolecule/module/criterions/__init__.py | 10 +- multimolecule/module/criterions/binary.py | 10 +- multimolecule/module/criterions/generic.py | 10 +- multimolecule/module/criterions/multiclass.py | 10 +- multimolecule/module/criterions/multilabel.py | 10 +- multimolecule/module/criterions/registry.py | 10 +- multimolecule/module/criterions/regression.py | 10 +- multimolecule/module/embeddings/__init__.py | 10 +- multimolecule/module/embeddings/registry.py | 10 +- multimolecule/module/embeddings/rotary.py | 10 +- multimolecule/module/heads/__init__.py | 10 +- multimolecule/module/heads/config.py | 10 +- multimolecule/module/heads/contact.py | 10 +- multimolecule/module/heads/generic.py | 10 +- multimolecule/module/heads/output.py | 10 +- multimolecule/module/heads/pretrain.py | 10 +- multimolecule/module/heads/registry.py | 10 +- multimolecule/module/heads/sequence.py | 10 +- multimolecule/module/heads/token.py | 10 +- multimolecule/module/heads/transform.py | 10 +- multimolecule/module/heads/utils.py | 10 +- multimolecule/module/model.py | 10 +- multimolecule/module/necks/__init__.py | 10 +- multimolecule/module/necks/bert.py | 10 +- multimolecule/module/necks/cat.py | 10 +- multimolecule/module/necks/registry.py | 10 +- multimolecule/module/registry.py | 10 +- multimolecule/tasks/__init__.py | 10 +- multimolecule/tasks/task.py | 10 +- multimolecule/tokenisers/__init__.py | 10 +- multimolecule/tokenisers/alphabet.py | 10 +- multimolecule/tokenisers/dna/__init__.py | 10 +- .../tokenisers/dna/tokenization_dna.py | 10 +- multimolecule/tokenisers/dna/utils.py | 10 +- .../tokenisers/dot_bracket/__init__.py | 10 +- .../tokenisers/dot_bracket/tokenization_db.py | 10 +- multimolecule/tokenisers/dot_bracket/utils.py | 10 +- multimolecule/tokenisers/protein/__init__.py | 10 +- .../protein/tokenization_protein.py | 10 +- multimolecule/tokenisers/protein/utils.py | 10 +- multimolecule/tokenisers/rna/__init__.py | 10 +- .../tokenisers/rna/tokenization_rna.py | 10 +- multimolecule/tokenisers/rna/utils.py | 10 +- .../tokenisers/tokenization_utils.py | 10 +- multimolecule/tokenisers/utils.py | 10 +- multimolecule/utils/__init__.py | 10 +- multimolecule/utils/parameters.py | 10 +- setup.py | 10 +- tests/data/test_dataset.py | 10 +- 154 files changed, 2451 insertions(+), 1335 deletions(-) create mode 100644 LICENSE.zh.md delete mode 100644 about/license-faq.md delete mode 100644 about/license-faq.zh.md delete mode 100644 about/privacy.md delete mode 100644 about/privacy.zh.md create mode 100644 docs/docs/license-faq.md create mode 100644 docs/docs/license-faq.zh.md create mode 100644 docs/docs/license.md create mode 100644 docs/docs/license.zh.md create mode 100644 license-faq.md create mode 100644 license-faq.zh.md diff --git a/LICENSE.header b/LICENSE.header index f33b55ac..4c20740b 100644 --- a/LICENSE.header +++ b/LICENSE.header @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,3 +16,6 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + diff --git a/LICENSE.zh.md b/LICENSE.zh.md new file mode 100644 index 00000000..739b998e --- /dev/null +++ b/LICENSE.zh.md @@ -0,0 +1,248 @@ +!!! warning "翻译" + + 本文内容为翻译版本,旨在为用户提供方便。 + 我们已经尽力确保翻译的准确性。 + 但请注意,翻译内容可能包含错误,仅供参考。 + 请以英文[原文](license.md)为准。 + + 为满足合规性与执法要求,翻译文档中的任何不准确或歧义之处均不具有约束力,也不具备法律效力。 + +# GNU AFFERO 通用公共许可证 + +第3版,2007年11月19日 + +版权所有 © 2007 Free Software Foundation, Inc. + +Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. + +每个人都被允许复制和分发本许可证文件的逐字副本,但不允许进行更改。 + +## 序言 + +GNU Affero 通用公共许可证是一个自由的、允许复制的软件和其他类型作品的许可,在网络服务器软件的情况下,它是专门为确保与社区合作而设计。 + +大多数软件和其他实用作品的许可都是为了剥夺您分享和改变作品的自由。相比之下,我们的通用公共许可证的目的是保证您分享和改变一个程序的所有版本的自由--确保它对所有用户都是自由软件。 + +当我们谈论自由软件时,我们指的是自由,而不是价格。我们的通用公共许可证的设计是为了确保您有分发自由软件副本的自由(如果您愿意,还可以收费),您可以收到源代码,或者如果您想得到它,您可以改变软件或在新的自由程序中使用它的片段,而且您知道您可以做这些事情。 + +使用我们通用公共许可证的开发者通过两个步骤保护您的权利。(1)主张软件的版权,(2)向您提供本许可证,允许您合法地复制、分发和/或修改该软件。 + +捍卫所有用户自由的一个次要好处是,如果程序的替代版本得到广泛使用,就可以供其他开发者使用。许多自由软件的开发者对由此产生的合作感到振奋和鼓舞。然而,在网络服务器上使用的软件,这种结果可能无法实现。GNU通用公共许可证允许制作一个修改过的版本,让公众在服务器上访问它,而不需要向公众发布其源代码。 + +GNU Affero通用公共许可证是专门设计来确保在这种情况下,修改后的源代码可以被社区使用。它要求网络服务器的运营商向该服务器的用户提供运行在那里的修改版本的源代码。因此,在一个可公开访问的服务器上公开使用一个修改过的版本,使公众能够获得修改过的版本的源代码。 + +一个较早的许可证,称为Affero通用公共许可证,由Affero发布,旨在实现类似目标。这是一个不同的许可证,不是Affero GPL的一个版本,但Affero已经发布了Affero GPL的一个新版本,允许在这个许可证下重新许可。 + +关于复制、分发和修改的确切条款和条件如下。 + +## 条款与条件 + +### 0. 定义. + +"本许可证" 是指GNU Affero通用公共许可证的第三版。 +"版权" 也指适用于其他类型作品的类似版权的法律,如半导体掩模。 + +"本程序" 是指在本许可证下许可的任何有版权的作品。每个被许可人都被称呼为 "您"。"被许可人" 和 "接受者" 可以是个人或组织。 + +"修改" 作品是指以需要版权许可的方式复制或改编该作品的全部或部分内容,而不是制作一个完全的副本。由此产生的作品被称为早期作品的 "修改版" 或 "基于" 早期作品的作品。 +一个 "涵盖的作品" 是指未经修改的程序或基于该程序的作品。 + +"传播" 作品是指在未经许可的情况下,对作品做任何事情,使您在适用的版权法下承担直接或间接的侵权责任,但在计算机上执行或修改私人副本除外。传播包括复制、分发(无论是否修改)、向公众提供,在一些国家还包括其他活动。 +传播" 作品是指使其他各方能够制作或接受副本的任何一种传播。仅仅是通过计算机网络与用户互动,而没有转让副本,并不是传播。 + +交互式用户界面显示 "适当的法律声明" 的程度是,它包括一个方便和显眼的功能,(1)显示适当的版权声明,(2)告诉用户该作品没有保证(除了提供保证的范围),被许可人可以根据本许可传达该作品,以及如何查看本许可证的副本。如果界面呈现的是一个用户命令或选项的列表,如菜单,那么列表中的突出项目就符合这一标准。 + +### 1. 源代码. + +作品的 "源代码" 是指对作品进行修改的首选形式。"目标代码" 是指作品的任何非源码形式。 + +"标准接口" 是指由公认的标准机构定义的官方标准的接口,或者在为某一特定编程语言指定接口的情况下,指在使用该语言的开发者中广泛使用的接口。 + +可执行作品的 "系统库" 包括除作品整体以外的任何东西,这些东西(a)以正常的形式打包一个主要部件,但不是该主要部件的一部分,以及(b)仅用于使作品与该主要部件一起使用,或用于实现一个标准接口,该接口的实现已以源代码形式向公众提供。这里的 "主要部件" 是指可执行作品所运行的特定操作系统(如果有的话)的主要基本部件(内核、窗口系统等),或用于制作该作品的编译器,或用于运行该作品的目标代码解释器。 + +目标代码形式的作品的 "相应源代码" 是指生成、安装和(对于可执行作品)运行目标代码以及修改作品所需的所有源代码,包括控制这些活动的脚本。但是,它不包括作品的系统库,也不包括在执行这些活动时未经修改但不属于作品的通用工具或普遍可用的免费程序。例如,相应源包括与作品的源文件相关的接口定义文件,以及作品专门设计的共享库和动态链接的子程序的源代码,例如通过亲密的数据通信或控制流在这些子程序和作品的其他部分之间。 + +相应源不需要包括用户可以从相应源的其他部分自动重新生成的任何东西。 + +源代码形式的作品的相应源是指同一作品。 + +### 2. 基本权限. + +本许可证授予的所有权利都是在程序的版权期限内授予的,并且在满足所述条件的情况下是不可撤消的。本许可证明确肯定了您对运行未经修改的程序的无限许可。只有在输出的内容构成了一个受保护的作品的情况下,运行受保护作品的输出才受本许可证的保护。本许可证承认您的合理使用权或版权法所规定的其他同等权利。 + +只要您的许可证仍然有效,可以无条件地制作、运行和传播您没有转达的涵盖作品。您可以将涵盖的作品传达给其他人,唯一的目的是让他们专门为您进行修改,或为您提供运行这些作品的设施,前提是您在传达所有您不控制版权的材料时遵守本许可证的条款。那些为您制作或运行所涉作品的人必须完全代表您,在您的指导和控制下,按照禁止他们在与您的关系之外制作您的版权材料的任何副本的条款来进行。 + +在任何其他情况下,仅在下述条件下允许转让。不允许转授权;第10条规定没有必要。 + +### 3. 从反规避法中保护用户的合法权利. + +根据任何履行1996年12月20日通过的世界知识产权组织版权条约第11条规定的义务的适用法律,或禁止或限制规避此类措施的类似法律,任何涵盖的作品都不得被视为有效技术措施的一部分。 + +当您传达一个涵盖的作品时,您放弃任何禁止规避技术措施的法律权力,只要这种规避是通过对涵盖的作品行使本许可证下的权利而实现的,并且您否认有任何限制操作或修改作品的意图,以作为对作品的用户强制执行您或第三方禁止规避技术措施的法律权利的手段。 + +### 4. 传递逐字拷贝. + +您可以在收到程序的源代码后,以任何媒介传递其逐字拷贝,但您必须在每份拷贝上醒目地、适当地发布适当的版权声明;保持所有说明本许可证和根据第7条添加的任何非许可条款适用于代码的声明完整无缺;保持所有关于没有任何保证的声明完整无缺;并将本许可证的拷贝与程序一起交给所有接收者。 + +您可以对每份拷贝收取任何费用,也可以不收取任何费用,您还可以提供有偿的支持或保修保护。 + +### 5. 传递修改后的源版本. + +您可以根据第 4 节的条款,以源代码的形式传达基于本程序的作品,或根据本程序的修改而产生的作品,但您必须满足以下所有条件: + +- a) 作品必须有醒目的声明,说明您修改了它,并给出相关的日期。 +- b) 作品必须有醒目的声明,说明它是根据本许可证和根据第7条增加的条件发布的。这一要求修改了第4节中 "保持所有通知的完整性" 的要求。 +- c) 您必须根据本许可证将整个作品作为一个整体许可给任何拥有其副本的人。因此,本许可证将与任何适用的第7条附加条款一起,适用于整个作品及其所有部分,无论它们是如何包装的。本许可证不允许以任何其他方式许可该作品,但如果您已经单独收到了这种许可,它也不会使这种许可失效。 +如果一个受保护作品与其他单独和独立的作品的汇编,其性质不是受保护作品的延伸,并且没有与之结合以形成更大的程序,在存储或分发媒介的某一卷上,如果该汇编及其产生的版权没有被用来限制汇编用户的访问或法律权利,超出单个作品允许的范围,则被称为 "聚合"。将一个受保护的作品包含在一个总体中并不导致本许可证适用于总体的其他部分。 + +### 6. 传递非源形式. + +您可以根据第4条和第5条的规定,以目标代码的形式传递被保护的作品,但您也必须根据本许可证的规定,以下列方式之一传递机器可读的相应源代码: + +- a) 在实体产品(包括实体销售媒介)中传递目标代码,或体现在实体产品(包括实体销售媒介)中,同时将相应的源代码固定在通常用于软件交换的耐用实体媒介上。 +- b) 在实物产品(包括实物销售媒介)中传递目标代码,或在实物产品(包括实物销售媒介)中体现目标代码,并附有一份至少三年有效的书面报价,只要您为该产品型号提供备件或客户支持,就一直有效。向任何拥有目标代码的人提供(1)本许可证所涵盖的产品中所有软件的相应源代码的拷贝,拷贝在通常用于软件交换的耐用物理介质上,其价格不超过贵方实际执行这一传递源代码的合理成本,或者(2)从网络服务器上免费获取相应的源代码拷贝。 +- c) 将目标代码的单个副本与提供相应来源的书面提议的副本一起传送。只有在偶尔和非商业性的情况下,并且只有在您收到目标代码和这种提议的情况下,才允许这种选择,符合第6b款的规定。 +- d) 通过提供从指定地点(免费或收费)获取目标代码,并以同样的方式通过同一地点提供相应的源码,而不再收费。您不需要要求接受者在复制目标代码的同时复制相应的源代码。如果复制目标代码的地方是一个网络服务器,对应源可以在另一个支持同等复制设施的服务器上(由您或第三方运营),只要您在目标代码旁边保持明确的指示,说明在哪里可以找到对应源。无论对应源在哪个服务器上,您都有义务确保在满足这些要求所需的时间内提供对应源。 +- e) 使用点对点传输的方式传送目标代码,但您必须告知其他同行,根据第6d款,目标代码和作品的对应源正在免费提供给公众。 +目标代码的可分离部分,其源代码作为系统库被排除在相应的源码之外,不需要包括在传达目标代码作品中。 + +用户产品 "是指(1) "消费品",即通常用于个人、家庭或家居用途的任何有形个人财产,或(2)为纳入住宅而设计或出售的任何东西。在确定一个产品是否是消费品时,有疑问的情况应以有利于承保的方式解决。对于特定用户收到的特定产品,"通常使用" 是指该类产品的典型或常见用途,而不考虑特定用户的地位或特定用户实际使用或期望或预期使用该产品的方式。一个产品是消费类产品,无论该产品是否有大量的商业、工业或非消费类用途,除非这些用途是该产品的唯一重要使用方式。 + +用户产品的 "安装信息" 是指在该用户产品中从其对应源的修改版本安装和执行所涵盖作品的修改版本所需的任何方法、程序、授权密钥或其他信息。这些信息必须足以确保在任何情况下都不会仅仅因为进行了修改而阻止或干扰修改后的目标代码的继续运行。 + +如果您在用户产品中,或与用户产品一起,或专门在用户产品中使用,并作为交易的一部分,将用户产品的拥有权和使用权永久或固定地转让给接受者(无论交易如何定性),根据本条规定转让的对应源必须附有安装信息。但是,如果您或任何第三方都没有保留在用户产品上安装修改过的目标代码的能力(例如,作品已经安装在ROM中),则该要求不适用。 + +提供安装信息的要求不包括继续为被接受者修改或安装的作品或被修改或安装的用户产品提供支持服务、保证或更新的要求。当修改本身对网络的运行产生实质性的不利影响或违反了网络上的通信规则和协议时,可以拒绝访问网络。 +根据本节规定,所传达的相应源码和所提供的安装信息必须是公开记录的格式(并以源代码的形式向公众提供实现),并且必须不需要特殊的密码或钥匙来解包、阅读或复制。 + +### 7. 附加条款. + +"附加许可" 是对本许可条款的补充,对其中的一个或多个条件作出例外规定。适用于整个程序的附加许可应被视为包括在本许可证中,只要它们在适用法律下有效。如果附加许可只适用于本程序的一部分,则该部分可以根据这些许可单独使用,但整个程序仍受本许可证的管辖,而不考虑附加许可。 + +当您转送一份受保护作品的副本时,您可以选择从该副本或其任何部分中删除任何附加许可。(在某些情况下,当您修改作品时,附加许可可能被写成需要自己删除)。您可以在您添加到涵盖的作品中的材料上放置额外的许可,对于这些材料,您有或可以给予适当的版权许可。 + +尽管本许可证有任何其他规定,对于您添加到受保护作品中的材料,您可以(如果得到该材料的版权持有人的授权)用以下条款补充本许可证的条款: + +- a) 以不同于本许可证第15条和第16条的条款声明保证或限制责任;或 +- b) 要求在该材料或包含该材料的作品所显示的适当法律声明中保留特定的合理法律声明或作者归属;或 +- c) 禁止歪曲该材料的来源,或要求以合理的方式将该材料的修改版本标记为与原始版本不同;或 +- d) 限制为宣传目的使用该材料的许可人或作者的姓名;或 +- e) 拒绝根据商标法授予使用某些商号、商标或服务标志的权利;或 +- f) 要求将材料(或材料的修改版本)转交给接受者的任何人对这些合同假设直接加在这些许可人和作者身上的任何责任进行赔偿。 +所有其他非许可性的附加条款都被视为第10条意义上的 "进一步限制"。如果您收到的程序或其任何部分包含一个通知,说明它受本许可证的管辖,同时还有一个属于进一步限制的条款,您可以删除该条款。如果许可文件包含进一步的限制,但允许根据本许可证进行再许可或转让,您可以在受保护的作品中添加受该许可文件条款管辖的材料,但进一步的限制在这种再许可或转让中不存在。 + +如果您按照本节的规定向受保护的作品添加条款,您必须在相关的源文件中声明适用于这些文件的附加条款,或者说明在哪里可以找到适用条款。 + +额外的条款,不管是允许的还是非允许的,都可以以单独的书面许可的形式说明,或者作为例外情况说明;上述要求适用于任何一种方式。 + +### 8. 终止. + +除本许可证明确规定的情况外,您不得传播或修改覆盖作品。任何以其他方式传播或修改作品的尝试都是无效的,并将自动终止您在本许可下的权利(包括根据第11节第三段授予的任何专利许可)。 + +然而,如果您停止所有违反本许可的行为,那么您从某一特定版权人处获得的许可将被恢复(a)暂时性的,除非并直到版权人明确并最终终止您的许可,以及(b)永久性的,如果版权人未能在停止后的60天内通过某种合理的方式通知您侵权行为。 + +此外,如果版权持有人以某种合理的方式通知您侵权行为,这是您第一次收到该版权持有人违反本许可证的通知(针对任何作品),并且您在收到通知后30天内纠正了侵权行为,那么您从某一版权持有人获得的许可证将被永久恢复。 + +终止您在本节下的权利并不终止那些根据本许可证从您那里获得副本或权利的各方的许可。如果您的权利已经被终止,而且没有永久恢复,您就没有资格根据第10条获得相同材料的新许可。 + +### 9. 拥有副本不需要接受. + +您不需要为了接收或运行程序的副本而接受本许可证。仅仅由于使用点对点传输来接收拷贝而发生的被保护作品的辅助传播,也同样不需要接受。然而,除了本许可证之外,没有任何其他东西允许您传播或修改任何受保护的作品。如果您不接受本许可证,这些行为就侵犯了版权。因此,通过修改或传播涵盖的作品,您表明您接受本许可证,可以这样做。 + +### 10. 下游接受者的自动许可. + +每当您传递一个涵盖的作品时,接收者会自动从原始许可人那里得到一个许可证,在遵守本许可证的前提下,运行、修改和传播该作品。您不负责执行第三方对本许可证的遵守。 + +实体交易 "是指转让一个组织的控制权,或一个组织的大部分资产,或拆分一个组织,或合并组织的交易。如果实体交易导致覆盖作品的传播,那么收到作品副本的每一个交易方也会收到该方的权益前身根据前段规定所拥有或可以给予的任何作品许可,以及从权益前身处获得作品对应源的拥有权,如果权益前身拥有或通过合理努力可以获得。 + +您不得对行使本许可证下授予或确认的权利施加任何进一步的限制。例如,您不得对行使本许可证所授予的权利征收许可费、特许权使用费或其他费用,也不得提起诉讼(包括诉讼中的交叉索赔或反索赔),指控制作、使用、销售、提供销售或进口本程序或其任何部分侵犯了任何专利权利。 + +### 11. 专利. + +贡献者 "是指授权根据本许可证使用本程序或本程序所基于的作品的版权持有人。这样授权的作品被称为贡献者的 "贡献者版本"。 + +贡献者的 "基本专利权利要求" 是指贡献者拥有或控制的所有专利权利要求,不管是已经获得的还是以后获得的,这些专利权利要求将被本许可证允许的某种方式所侵犯,即制作、使用或销售其贡献者版本,但不包括仅因进一步修改贡献者版本而被侵犯的权利要求。就本定义而言,"控制" 包括以符合本许可证要求的方式授予专利分许可的权利。 + +每个贡献者根据贡献者的基本专利权利要求,授予您非独占性的、全球性的、免版税的专利许可,以制造、使用、销售、提供销售、进口和以其他方式运行、修改和传播其贡献者版本的内容。 + +在以下三段中,"专利许可" 是指不实施专利的任何明示协议或承诺,无论其名称如何(例如,明确允许实施专利或不起诉专利侵权的约定)。向一方 "授予" 这种专利许可意味着作出这种协议或承诺,不对该方实施专利。 + +如果您在知情的情况下,依靠专利许可传递了一个涵盖的作品,而该作品的相应来源并没有通过公开的网络服务器或其他容易获得的方式,供任何人根据本许可证的条款免费复制,那么您必须(1)使相应来源可以获得,或者(2)安排剥夺自己对该特定作品的专利许可利益,或者(3)以符合本许可证要求的方式,安排将专利许可扩展到下游接受者。"明知故犯" 是指您实际知道,如果没有专利许可,您在某个国家传递所涉作品,或者您的接受者在某个国家使用所涉作品,将侵犯您有理由相信在该国有效的一项或多项可识别专利。 + +如果根据一项交易或安排或与之相关,您转让或通过促成转让传播被保护作品,并向接受被保护作品的某些当事方授予专利许可,授权他们使用、传播、修改或转让被保护作品的特定副本,那么您授予的专利许可将自动扩展到被保护作品和基于该作品的所有接受者。 + +如果专利许可不包括在其覆盖范围内,禁止行使或以不行使本许可具体授予的一项或多项权利为条件,则为 "歧视性的"。如果您是与从事软件分销业务的第三方达成的安排的一方,根据该安排,您根据您传递作品的活动范围向第三方付款,并且根据该安排,第三方向任何将从您那里获得所涉作品的一方授予,则您不得传递所涉作品。歧视性的专利许可:(a)与您传递的作品的副本(或由这些副本制作的副本)有关,或(b)主要为包含该作品的特定产品或汇编并与之有关,除非您在2007年3月28日之前达成该安排,或授予该专利许可。 + +本许可证中的任何内容都不应被解释为排除或限制任何隐含的许可或其他对侵权的抗辩,根据适用的专利法,您可能会有这样的机会。 + +### 12. 不放弃他人的自由. + +如果强加给您的条件(无论是通过法院命令、协议或其他方式)与本许可证的条件相抵触,它们并不能免除您对本许可条件的遵守。如果您不能在转让作品时同时满足您在本许可证下的义务和任何其他相关的义务,那么作为结果,您可以不转让它。例如,如果您同意的条款规定,您有义务向接受您传送程序的人收取版税,那么您要同时满足这些条款和本许可证的要求,唯一的办法就是完全不传送该程序。 + +### 13. 远程网络交互;与GNU通用公共许可证一起使用. + +尽管本许可证有任何其他规定,如果您修改本程序,您的修改版本必须在显著位置向所有通过计算机网络远程与本程序互动的用户(如果您的版本支持这种互动)提供机会,通过一些标准或习惯的促进软件复制的方式,从网络服务器上免费提供相应的源码。该相应源码应包括根据下段规定纳入GNU通用公共许可证第3版的任何作品的相应源码。 + +尽管本许可证有任何其他规定,您有权利将任何受保护的作品与在GNU通用公共许可证第3版下许可证的作品链接或结合成一个单一的组合作品,并传递由此产生的作品。本许可证的条款将继续适用于受保护作品的部分,但与之结合的作品将继续受GNU通用公共许可证第3版的管辖。 + +### 14. 本许可证的修订版. + +自由软件基金会可能会不时地发布GNU Affero通用公共许可证的修订版和/或新版本。这些新版本在精神上与目前的版本相似,但在细节上可能有所不同,以解决新的问题或关切。 + +每个版本都有一个区分的版本号。如果本程序指定某个编号的 GNU Affero 通用公共许可证 "或任何后来的版本" 适用于它,您可以选择遵守该编号的版本或自由软件基金会发布的任何后来的版本的条款和条件。如果本程序没有指定 GNU Affero 通用公共许可证的版本号,您可以选择自由软件基金会发布的任何版本。 +如果本计划规定代理人可以决定未来可以使用哪个版本的 GNU Affero 通用公共许可证,那么该代理人对某个版本的公开接受声明将永久授权您为本计划选择该版本。 + +以后的许可证版本可能会给您额外的或不同的权限。但是,任何作者或版权持有人都不会因为您选择了后来的版本而承担额外的义务。 + +### 15. 免责声明. + +在适用法律允许的范围内,对该程序没有任何保证。除非另有书面说明,否则版权持有人和/或其他各方 "按原样" 提供该程序,不提供任何明示或暗示的保证,包括但不限于对适销性和特定用途的适用性的暗示保证。关于程序的质量和性能的全部风险由您承担。如果该程序被证明有缺陷,您将承担所有必要的服务、修理或纠正的费用。 + +### 16. 赔偿责任的限制. + +在任何情况下,除非适用法律要求或书面同意,任何版权持有人或任何其他按上述规定修改和/或传递程序的当事人都不对您的损害负责,包括因使用或无法使用本程序而引起的任何一般的、特殊的、偶然的或间接的损害(包括但不限于数据丢失或数据不准确或您或第三方遭受的损失或本程序无法与任何其他程序一起运行),即使该持有人或其他当事人已被告知这种损害的可能性。 + +### 17. 第15条和第16条的解释. + +如果以上规定的免责声明和责任限制不能根据其条款在当地产生法律效力,审查法院应适用最接近于绝对放弃与本程序有关的所有民事责任的当地法律,除非在收取费用的本程序副本上附有保证或责任承担。 + +以上是条款和条件 + +## 如何将这些条款应用于您的新程序 + +如果您开发了一个新的程序,并希望它对公众有最大的用处,实现这一目标的最好方法是使它成为自由软件,每个人都可以在这些条款下重新发布和修改。 + +要做到这一点,请在程序中附上以下通知。最安全的做法是把它们附在每个源文件的开头,以最有效地说明排除担保的情况;每个文件至少要有 "版权" 一行和一个指向完整通知的指针。 + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +翻译: + + <用一行字来说明程序的名称和它所做的事情的简单概念。> + Copyright (C) <年> <作者姓名> 版权所有。 + + 本程序是自由软件:你可以根据自由软件基金会发布的GNU Affero通用公共许可证的条款,即许可证的第3版或(您选择的)任何后来的版本重新发布它和/或修改它。。 + + 本程序的发布是希望它能起到作用。但没有任何保证;甚至没有隐含的保证。本程序的分发是希望它是有用的,但没有任何保证,甚至没有隐含的适销对路或适合某一特定目的的保证。 参见 GNU Affero通用公共许可证了解更多细节。 + + 您应该已经收到了一份GNU Affero通用公共许可证的副本。 如果没有,请参见。 + + 还要增加如何通过电子和纸质邮件与您联系的信息。 + +如果您的软件可以通过计算机网络与用户进行远程交互,您也应该确保它为用户提供一种获得其源代码的方法。例如,如果您的程序是一个网络应用程序,它的界面可以显示一个 "源代码" 的链接,引导用户进入代码的存档。您可以用很多方法提供源码,不同的解决方案对不同的程序会更好;具体要求见第13节。 + +如果有必要,您还应该让您的雇主(如果您是程序员)或学校(如果有的话)为该程序签署一份 "版权免责声明"。有关这方面的更多信息,以及如何申请和遵守GNU AGPL,请参见。 diff --git a/README.md b/README.md index f054b737..23b882c1 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,9 @@ If you use MultiMolecule in your research, please cite us as follows: We believe openness is the Foundation of Research. -MultiMolecule is licensed under the GNU Affero General Public License. +MultiMolecule is licensed under the [GNU Affero General Public License](license.md). + +For additional terms and clarifications, please refer to our [License FAQ](license-faq.md). Please join us in building an open research community. diff --git a/README.zh.md b/README.zh.md index 102ef349..bf446433 100644 --- a/README.zh.md +++ b/README.zh.md @@ -65,7 +65,9 @@ pip install git+https://github.com/DLS5-Omics/MultiMolecule 我们相信开放是研究的基础。 -MultiMolecule 在 GNU Affero 通用公共许可证 下授权。 +MultiMolecule 在 [GNU Affero 通用公共许可证](license.md) 下授权。 + +对于额外条款和澄清,请参阅我们的[许可协议常见问题解答](license-faq.md)。 请加入我们,共同建立一个开放的研究社区。 diff --git a/about/license-faq.md b/about/license-faq.md deleted file mode 100644 index ced05ebe..00000000 --- a/about/license-faq.md +++ /dev/null @@ -1,114 +0,0 @@ -# License FAQ - -This License FAQ explains the terms and conditions under which you may use the data, models, code, configuration, documentation, and weights provided by the DanLing Team (also known as DanLing) ('we', 'us', or 'our'). -It serves as an addendum to our _[License](license.md)_. - -## 0. Summary of Key Points - -This summary provides key points from our license, but you can find out more details about any of these topics by clicking the link following each key point and by reading the full license. - -
- -!!! question "What constitutes the 'source code' in MultiMolecule?" - - We consider everything in our repositories to be source code, including data, models, code, configuration, and documentation. - - [:octicons-arrow-right-24: What constitutes the 'source code' in MultiMolecule?](#1-what-constitutes-the-source-code-in-multimolecule) - -!!! question "Can I publish research papers using MultiMolecule?" - - It depends. - - You can publish research papers on fully open access journals and conferences or preprint servers following the terms of the *[License](license.md)*. - - You must obtain a separate license from us to publish research papers on closed access journals and conferences. - - [:octicons-arrow-right-24: Can I publish research papers using MultiMolecule?](#2-can-i-publish-research-papers-using-multimolecule) - -!!! question "Can I use MultiMolecule for commercial purposes?" - - Yes, you can use MultiMolecule for commercial purposes under the terms of the *[License](license.md)*. - - [:octicons-arrow-right-24: Can I use MultiMolecule for commercial purposes?](#3-can-i-use-multimolecule-for-commercial-purposes) - -!!! question "Do people affiliated with certain organizations have specific license terms?" - - Yes, people affiliated with certain organizations have specific license terms. - - [:octicons-arrow-right-24: Do people affiliated with certain organizations have specific license terms?](#4-do-people-affiliated-with-certain-organizations-have-specific-license-terms) - -
- -## 1. What constitutes the "source code" in MultiMolecule? - -We consider everything in our repositories to be source code. - -The training process of machine learning models is viewed similarly to the compilation process of traditional software. -As such, the model, code, configuration, documentation, and data used for training are all part of the source code, while the trained model weights are part of the object code. - -We also consider research papers and manuscripts a special form of documentation, which are also part of the source code. - -## 2. Can I publish research papers using MultiMolecule? - -Since research papers are considered a form of source code, publishers are legally required to open-source all materials on their server to comply with the _[License](license.md)_ if they publish papers using MultiMolecule. This is generally impractical for most publishers. - -As a special exemption under section 7 of the _[License](license.md)_, we grant permission to publish research papers using MultiMolecule in fully open access journals, conferences, or preprint servers that do not charge any fee from authors, provided all published manuscripts are made available under the [GNU Free Documentation License (GFDL)](https://www.gnu.org/licenses/fdl.html), or a [Creative Commons license](https://creativecommons.org), or an [OSI-approved license](https://opensource.org/licenses) that permits the sharing of manuscripts. - -As a special exemption under section 7 of the _[License](license.md)_, we grant permission to publish research papers using MultiMolecule in certain non-profit journals, conferences, or preprint servers. Currently, the non-profit journals, conferences, or preprint servers we allow include: - -- [All journals published by American Association for the Advancement of Science (AAAS)](https://www.aaas.org/journals) -- [eLife](https://elifesciences.org) - -For publishing in closed access journals or conferences, you must obtain a separate license from us. This typically involves co-authorship, a fee to support the project, or both. Contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) for more information. - -While not mandatory, we recommend citing the MultiMolecule project in your research papers. - -## 3. Can I use MultiMolecule for commercial purposes? - -Yes, MultiMolecule can be used for commercial purposes under the _[License](license.md)_. However, you must open-source any modifications to the source code and make them available under the _[License](license.md)_. - -If you prefer to use MultiMolecule for commercial purposes without open-sourcing your modifications, you must obtain a separate license from us. This typically involves a fee to support the project. Contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) for further details. - -## 4. Do people affiliated with certain organizations have specific license terms? - -YES! - -If you are affiliated with an organization that has a separate license agreement with us, you may be subject to different license terms. -Please consult your organization's legal department to determine if you are subject to a separate license agreement. - -Members of the following organizations automatically receive a non-transferable, non-sublicensable, and non-distributable [MIT License](https://mit-license.org/) to use MultiMolecule: - -- [Microsoft Research AI for Science](https://www.microsoft.com/en-us/research/lab/microsoft-research-ai-for-science/) -- [DP Technology](https://dp.tech/) - -This special license is considered an additional term under section 7 of the _[License](license.md)_. -It is not redistributable, and you are prohibited from creating any independent derivative works. -Any modifications or derivative works based on this license are automatically considered derivative works of MultiMolecule and must comply with all the terms of the _[License](license.md)_. -This ensures that third parties cannot bypass the license terms or create separate licenses from derivative works. - -## 5. How can I use MultiMolecule if my organization forbids the use of code under the AGPL License? - -Some organizations, such as [Google](https://opensource.google/documentation/reference/using/agpl-policy), have policies that prohibit the use of code under the AGPL License. - -If you are affiliated with an organization that forbids the use of AGPL-licensed code, you must obtain a separate license from us. -Contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) for more information. - -## 6. Can I use MultiMolecule if I am a federal employee of the United States Government? - -No. - -Code written by federal employees of the United States Government is not protected by copyright under [17 U.S. Code § 105](https://www.law.cornell.edu/uscode/text/17/105). - -As a result, federal employees of the United States Government cannot comply with the terms of the _[License](license.md)_. - -## 7. Do we make updates to this FAQ? - -!!! tip "In Short" - - Yes, we will update this FAQ as necessary to stay compliant with relevant laws. - -We may update this license FAQ from time to time. -The updated version will be indicated by an updated 'Last Revised Time' at the bottom of this license FAQ. -If we make any material changes, we will notify you by posting the new license FAQ on this page. -We are unable to notify you directly as we do not collect any contact information from you. -We encourage you to review this license FAQ frequently to stay informed of how you can use our data, models, code, configuration, documentation, and weights. diff --git a/about/license-faq.zh.md b/about/license-faq.zh.md deleted file mode 100644 index 38ecc155..00000000 --- a/about/license-faq.zh.md +++ /dev/null @@ -1,120 +0,0 @@ -!!! warning "翻译" - - 本文内容为翻译版本,旨在为用户提供方便。 - 我们已经尽力确保翻译的准确性。 - 但请注意,翻译内容可能包含错误,仅供参考。 - 请以英文[原文](https://multimolecule.danling.org/about/license)为准。 - - 为满足合规性与执法要求,翻译文档中的任何不准确或歧义之处均不具有约束力,也不具备法律效力。 - -# 许可协议常见问题解答 - -本许可协议常见问题解答解释了您可以在何种条件下使用由丹灵团队(也称为丹灵)(“我们”或“我们的”)提供的数据、模型、代码、配置、文档和权重。 -它作为我们的 _[许可协议](license.zh.md)_ 的附加文件。 - -## 0. 关键点总结 - -本总结提供了常见问题解答的关键点,但您可以通过点击每个关键点后的链接或使用目录来找到您所查找的部分以了解更多详情。 - -
- -!!! question "在 MultiMolecule 中,什么构成了“源代码”?" - - 我们认为我们存储库中的所有内容都是源代码,包括数据、模型、代码、配置和文档。 - - [:octicons-arrow-right-24: 在MultiMolecule中,什么构成了“源代码”?](#1-multimolecule) - -!!! question "我可以使用 MultiMolecule 发表研究论文吗?" - - 视情况而定。 - - 您可以按照 *[许可协议](license.zh.md)* 的条款在完全开放获取的期刊和会议或预印本服务器上发表研究论文。 - - 要在封闭获取的期刊和会议上发表研究论文,您必须从我们这里获得单独的许可。 - - [:octicons-arrow-right-24: 我可以使用MultiMolecule发表研究论文吗?](#2multimolecule) - -!!! question "我可以将 MultiMolecule 用于商业用途吗?" - - 是的,您可以根据 *[许可协议](license.zh.md)* 的条款将MultiMolecule用于商业用途。 - - [:octicons-arrow-right-24: 我可以将MultiMolecule用于商业用途吗?](#3-multimolecule) - -!!! question "与某些组织有关系的人是否有特定的许可条款?" - - 是的,与某些组织有关系的人有特定的许可条款。 - - [:octicons-arrow-right-24: 与某些组织有关系的人是否有特定的许可条款?](#4) - -
- -## 1. 在 MultiMolecule 中,什么构成了“源代码”? - -我们认为我们存储库中的所有内容都是源代码。 - -机器学习模型的训练过程被视作类似于传统软件的编译过程。因此,模型、代码、配置、文档和用于训练的数据都被视为源代码的一部分,而训练出的模型权重则被视为目标代码的一部分。 - -我们还将研究论文和手稿视为一种特殊的文档形式,它们也是源代码的一部分。 - -## 2 我可以使用 MultiMolecule 发表研究论文吗? - -由于研究论文被视为源代码的一种形式,如果发表使用 MultiMolecule 的论文,出版商必须开源其服务器上的所有材料,以符合 _[许可协议](license.zh.md)_ 的要求。对于大多数出版商来说,这是不切实际的。 - -作为 _[许可协议](license.zh.md)_ 第 7 条的特别豁免,我们允许在不向作者收取任何费用的完全开放获取的期刊、会议或预印本服务器上发表使用 MultiMolecule 的研究论文,前提是所有发表的手稿都应按照允许共享手稿的[GNU 自由文档许可协议(GFDL)](https://www.gnu.org/licenses/fdl.html)或[知识共享许可协议](https://creativecommons.org)或[OSI 批准许可协议](https://opensource.org/licenses)提供。 - -作为 _[许可协议](license.zh.md)_ 第 7 条的特别豁免,我们允许在部分非盈利性的杂志、会议或预印本服务器上发表使用 MultiMolecule 的研究论文。目前,我们允许的非盈利性杂志、会议或预印本服务器包括: - -- [美国科学促进会(AAAS)出版的所有期刊](https://www.aaas.org/journals) -- [eLife](https://elifesciences.org) - -要在封闭获取的期刊或会议上发表论文,您必须从我们这里获得单独的许可。这通常包括共同署名、支持项目的费用或两者兼而有之。请通过 [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) 与我们联系以获取更多信息。 - -虽然不是强制性的,但我们建议在研究论文中引用 MultiMolecule 项目。 - -## 3. 我可以将 MultiMolecule 用于商业用途吗? - -是的,您可以根据 _[许可协议](license.zh.md)_ 将 MultiMolecule 用于商业用途。但是,您必须开源对源代码的任何修改,并使其在 _[许可协议](license.zh.md)_ 下可用。 - -如果您希望在不开源修改内容的情况下将 MultiMolecule 用于商业用途,则必须从我们这里获得单独的许可。这通常涉及支持项目的费用。请通过 [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) 与我们联系以获取更多详细信息。 - -## 4. 与某些组织有关系的人是否有特定的许可条款? - -是的! - -如果您与一个与我们有单独许可协议的组织有关系,您可能会受到不同的许可条款的约束。请咨询您组织的法律部门,以确定您是否受制于单独的许可协议。 - -以下组织的成员自动获得一个不可转让、不可再许可、不可分发的 [MIT 许可协议](https://mit-license.org/) 来使用 MultiMolecule: - -- [微软研究院科学智能中心](https://www.microsoft.com/en-us/research/lab/microsoft-research-ai-for-science/) -- [深势科技](https://dp.tech/) - -此特别许可被视为 _[许可协议](license.zh.md)_ 第 7 条中的附加条款。 -它不可再分发,并且您被禁止创建任何独立的衍生作品。 -基于此许可的任何修改或衍生作品将自动被视为 MultiMolecule 的衍生作品,必须遵守 _[许可协议](license.zh.md)_ 的所有条款。 -这确保了第三方无法绕过许可条款或从衍生作品中创建单独的许可协议。 - -## 5. 如果我的组织禁止使用 AGPL 许可协议下的代码,我该如何使用 MultiMolecule? - -一些组织(如[Google](https://opensource.google/documentation/reference/using/agpl-policy))有禁止使用 AGPL 许可协议下代码的政策。 - -如果您与禁止使用 AGPL 许可协议代码的组织有关系,您必须从我们这里获得单独的许可。请通过 [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) 与我们联系以获取更多详细信息。 - -## 6. 如果我是美国联邦政府的雇员,我可以使用 MultiMolecule 吗? - -不能。 - -根据[17 U.S. Code § 105](https://www.law.cornell.edu/uscode/text/17/105),美国联邦政府雇员撰写的代码不受版权保护。 - -因此,美国联邦政府雇员无法遵守 _[许可协议](license.zh.md)_ 的条款。 - -## 7. 我们会更新此常见问题解答吗? - -!!! tip "简而言之" - - 是的,我们将根据需要更新此常见问题解答以保持与相关法律的一致。 - -我们可能会不时更新此许可协议常见问题解答。 -更新后的版本将通过更新本页面底部的“最后修订时间”来表示。 -如果我们进行任何重大更改,我们将通过在本页发布新的许可协议常见问题解答来通知您。 -由于我们不收集您的任何联系信息,我们无法直接通知您。 -我们鼓励您经常查看本许可协议常见问题解答,以了解您可以如何使用我们的数据、模型、代码、配置、文档和权重。 diff --git a/about/privacy.md b/about/privacy.md deleted file mode 100644 index dcb695c4..00000000 --- a/about/privacy.md +++ /dev/null @@ -1,408 +0,0 @@ -# Privacy Notice - -This privacy notice for DanLing Team (also known as DanLing) ('we', 'us', or 'our'), describes how and why we might collect, store, use, and/or share ('process') your information when you use our services ('Services'), such as when you: - -- Visit our website at [multimolecule.danling.org](https://multimolecule.danling.org), or any website of ours that links to this privacy notice - -You can change your privacy settings at any time by clicking the button below: - -[Privacy Control](#__consent){ .md-button } - -**Questions or concerns?** -Reading this privacy notice will help you understand your privacy rights and choices. -If you do not agree with our policies and practices, please do not use our Services. -If you still have any questions or concerns, please contact us at [privacy@danling.org](mailto:privacy@danling.org). - -## 0. Summary of Key Points - -This summary provides key points from our privacy notice, but you can find out more details about any of these topics by clicking the link following each key point or by using our table of contents below to find the section you are looking for. - -
- -!!! question "What personal information do we process?" - - When you visit, use, or navigate our Services, we may process personal information depending on how you interact with us and the Services, the choices you make, and the products and features you use. - - [:octicons-arrow-right-24: What information do we collect?](#1-what-information-do-we-collect) - -!!! question "How do we process your information?" - - We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. - We may also process your information for other purposes with your consent. - We process your information only when we have a valid legal reason to do so. - - [:octicons-arrow-right-24: How do we process your information?](#2-how-do-we-process-your-information) - -!!! question "Do we process any sensitive personal information?" - - We do not process any sensitive personal information. - -!!! question "Do we collect any information from third parties?" - - We do not collect any information from third parties. - -!!! question "In what situations and with which parties do we share personal information?" - - We may share information in specific situations and with specific third parties. - - [:octicons-arrow-right-24: When and with whom we share your personal information?](#4-when-and-with-whom-do-we-share-your-personal-information) - -!!! question "How do we keep your information safe?" - - We have organisational and technical processes and procedures in place to protect your personal information. - - [:octicons-arrow-right-24: How do we keep your information safe?](#7-how-do-we-keep-your-information-safe) - -!!! question "What are your rights?" - - Depending on where you are located geographically, the applicable privacy law may mean you have certain rights regarding your personal information. - - [:octicons-arrow-right-24: What are your privacy rights?](#8-what-are-your-privacy-rights) - -!!! question "How do you exercise your rights?" - - The easiest way to exercise your rights is by contacting the relevant data protection authority in your jurisdiction. - - [:octicons-arrow-right-24: How to exercise your rights](#how-to-exercise-your-rights) - -
- -## 1. What information do we collect? - -### Personal information you disclose to us - -!!! tip "In Short" - - We collect personal information that you provide to us. - -We collect personal information that you voluntarily provide to us when you express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us. - -!!! danger "Sensitive Personal Information" - - We do not collect any sensitive personal information from you. - -### Information automatically collected - -!!! tip "In Short" - - Some information — such as IP address and/or browser and device characteristics — is collected automatically when you visit our Services. - -We automatically collect certain information when you visit, use, or navigate our Services. -This information does not reveal your specific identity (like your name or contact information) but may include device and usage information, such as your IP address, browser and device characteristics, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Services, and other technical information. -This information is primarily needed to maintain the security and operation of our Services, and for our internal analytics and reporting purposes. - -Like many businesses, we also collect information through cookies and similar technologies. - -The information we collect includes: - -- **Identifiers.** - Identifier is a device and browser-specific unique random string that we generate when you use our Service. - This identifier is stored in a cookie on your device, allowing us to identify you across multiple sessions and when you return to our Service. - Note that this identifier does not contain any personal information about you, and is device and browser-specific, meaning that it cannot be used to track you across multiple devices or browsers. - You can delete this cookie at any time by clearing your browser's cache. -- **Log and Usage Data.** - Log and usage data is service-related, diagnostic, usage, and performance information our servers automatically collect when you access or use our Services and which we record in log files. - Depending on how you interact with us, this log data may include your IP address, device information, browser type, and settings, and information about your activity in the Services (such as the date/time stamps associated with your usage, pages and files viewed, searches and other actions you take such as which features you use), device event information (such as system activity, error reports (sometimes called 'crash dumps') and hardware settings). -- **Device Data.** - We collect device data such as information about your computer, phone, tablet, or other devices you use to access the Services. - Depending on the device used, this device data may include information such as your IP address (or proxy server), device and application identification numbers, location, browser type, hardware model, Internet Service Provider and/or mobile carrier, operating system, and system configuration information. -- **Location Data.** - We collect location data such as information about your device's location, which can be either precise or imprecise. - How much information we collect depends on the type and settings of the device you use to access the Services. - For example, we may use GPS and other technologies to collect geolocation data that tells us your current location (based on your IP address). - You can opt out of allowing us to collect this information either by refusing access to the information or by disabling your location settings on your device. - -### Categories of Personal Information We Collect - -We have collected the following categories of personal information in the past twelve (12) months: - -| Category | Examples | Collected | -| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | -| A. Identifiers | Contact details, such as real name, alias, postal address, telephone or mobile contact number, unique personal identifier, online identifier, Internet Protocol address, email address, and account name | YES | -| B. Personal information as defined in the California Customer Records statute | Name, contact information, education, employment, employment history, and financial information | NO | -| C. Protected classification characteristics under state or federal law | Gender, age, date of birth, race and ethnicity, national origin, marital status, and other demographic data | NO | -| D. Commercial information | Transaction information, purchase history, financial details, and payment information | NO | -| E. Biometric information | Fingerprints and voiceprints | NO | -| F. Internet or other similar network activity | Browsing history, search history, online behaviour, interest data, and interactions with our and other websites, applications, systems, and advertisements | YES | -| G. Geolocation data | Device location | YES | -| H. Audio, electronic, sensory, or similar information | Images and audio, video or call recordings created in connection with our business activities | NO | -| I. Professional or employment-related information | Business contact details in order to provide you our Services at a business level or job title, work history, and professional qualifications if you apply for a job with us | NO | -| J. Education Information | Student records and directory information | NO | -| K. Inferences drawn from collected personal information | Inferences drawn from any of the collected personal information listed above to create a profile or summary about, for example, an individual’s preferences and characteristics | YES | -| L. Sensitive personal Information | | NO | - -We may also collect other personal information outside of these categories through instances where you interact with us in person, online, or by phone or mail in the context of: - -- Receiving help through our customer support channels; -- Participation in customer surveys or contests; and -- Facilitation in the delivery of our Services and to respond to your inquiries. - -We will use and retain the collected personal information as needed to provide you with our Services and as necessary to comply with our legal obligations, resolve disputes, and enforce our agreement for the following period: - -- Category A: 24 months -- Category F: 24 months -- Category G: 24 months -- Category K: 24 months - -## 2. How do we process your information? - -!!! tip "In Short" - - We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. - We may also process your information for other purposes with your consent. - -We process your personal information for a variety of reasons, depending on how you interact with our Services, including: - -- **To protect our Services.** - We may process your information as part of our efforts to keep our Services safe and secure, including fraud monitoring and prevention. -- **To identify user trends.** - We may process information about how you use our Services to better understand how they are being used so we can improve them. -- **To save or protect an individual's vital interest.** - We may process your information when necessary to save or protect an individual’s vital interest, such as to prevent harm. - -## 3. What legal basis do we have for processing your information? - -!!! tip "In Short" - - We only process your personal information when we believe it is necessary and we have a valid legal reason (i.e. legal basis) to do so under applicable law, like with your consent, to comply with laws, to provide you with services to enter into or fulfil our contractual obligations, to protect your rights, or to fulfil our legitimate business interests. - -The General Data Protection Regulation (GDPR) and UK GDPR require us to explain the valid legal bases we rely on in order to process your personal information. -As such, we may rely on the following legal bases to process your personal information: - -- **Consent.** - We may process your personal information if you have given us specific consent to use your personal information for a specific purpose. - You have the right to withdraw your consent at any time. - Learn more about [withdrawing your consents](). -- **Legitimate Interests.** - We may process your information when we believe it is reasonably necessary to achieve our legitimate business interests and those interests do not outweigh your interests and fundamental rights and freedoms. - For example, we may process your personal information for some of the purposes described in order to: - - Analyse how our Services are used so we can improve them to engage and retain users - - Diagnose problems and/or prevent fraudulent activities -- **Legal Obligations.** - We may process your information where we believe it is necessary for compliance with our legal obligations, such as to cooperate with a law enforcement body or regulatory agency, exercise or defend our legal rights, or disclose your information as evidence in litigation in which we are involved. -- **Vital Interests.** - We may process your information where we believe it is necessary to protect your vital interests or the vital interests of a third party, such as situations involving potential threats to the safety of any person. - -!!! info "Consent to Processing in Canada" - - If you are located in Canada, we may be legally permitted under applicable law to process your information without your consent in some exceptional cases, including, for example: - - - If collection is clearly in the interests of an individual and consent cannot be obtained in a timely way - - For investigations and fraud detection and prevention - - For business transactions provided certain conditions are met - - If it is contained in a witness statement and the collection is necessary to assess, process, or settle an insurance claim - - For identifying injured, ill, or deceased persons and communicating with next of kin - - If we have reasonable grounds to believe an individual has been, is, or may be victim of financial abuse - - If it is reasonable to expect collection and use with consent would compromise the availability or the accuracy of the information and the collection is reasonable for purposes related to investigating a breach of an agreement or a contravention of the laws of Canada or a province - - If disclosure is required to comply with a subpoena, warrant, court order, or rules of the court relating to the production of records - - If it was produced by an individual in the course of their employment, business, or profession and the collection is consistent with the purposes for which the information was produced - - If the collection is solely for journalistic, artistic, or literary purposes - - If the information is publicly available and is specified by the regulations - -## 4. When and with whom do we share your personal information? - -!!! tip "In Short" - - We may share information in specific situations described in this section and/or with the following third parties. - -We may use your personal information for our business purposes, such as for undertaking internal research for technological development and demonstration. -This is not considered to be 'selling' of your personal information. - -**Vendors, Consultants, and Other Third-Party Service Providers.** -We may share your data with third-party vendors, service providers, contractors, or agents ('third parties') who perform services for us or on our behalf and require access to such information to do that work. -We have contracts in place with our third parties, which are designed to help safeguard your personal information. -This means that they cannot do anything with your personal information unless we have instructed them to do it. -They will also not share your personal information with any organisation apart from us. -They also commit to protect the data they hold on our behalf and to retain it for the period we instruct. - -The third parties we may share personal information with are as follows: - -- **Advertising, Direct Marketing, and Lead Generation** - - Google AdSense -- **Cloud Computing Services** - - Microsoft Azure - - Amazon Web Services (AWS) - - Google Cloud Platform (GCP) -- **Communications and Content Delivery Network (CDN) Services** - - Cloudflare -- **Content Optimisation** - - Google Site Search - - Google Fonts -- **Functionality and Infrastructure Optimisation** - - GitHub Pages -- **User Commenting and Forums** - - Disqus - - GitHub Issues - - GitHub Discussions -- **Web and Mobile Analytics** - - Google Analytics - -We also may need to share your personal information in the following situations: - -- **Business Transfers.** - We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company. - -!!! info "We have disclosed the following categories of personal information for a business purpose in the past twelve (12) months:" - - Nill - -!!! info "The categories of third parties to whom we sold personal information in the past twelve (12) months:" - - Nill - -!!! info "The categories of third parties to whom we shared personal information with in the past twelve (12) months:" - - - **Web and Mobile Analytics** - - Google Analytics - -## 5. Do we use cookies and other tracking technologies? - -!!! tip "In Short" - - We may use cookies and other tracking technologies to collect and store your information. - -We also permit third parties and service providers to use online tracking technologies on our Services for analytics and advertising, including to help manage and display advertisements, to tailor advertisements to your interests, or to send abandoned shopping cart reminders (depending on your communication preferences). -The third parties and service providers use their technology to provide advertising about products and services tailored to your interests which may appear either on our Services or on other websites. - -To the extent these online tracking technologies are deemed to be a 'sale'/'sharing' (which includes targeted advertising, as defined under the applicable laws) under applicable US state laws, you can opt out of these online tracking technologies by clicking the button on the top of this page or the button below: - -[Privacy Control](#__consent){ .md-button } - - - -### Google Analytics - -We may share your information with Google Analytics to track and analyse the use of the Services. -The Google Analytics Advertising Features that we may use include: - -- Remarketing with Google Analytics -- Google Display Network Impressions Reporting -- Google Analytics Demographics and Interests Reporting - -To opt out of being tracked by Google Analytics across the Services, visit [https://tools.google.com/dlpage/gaoptout](https://tools.google.com/dlpage/gaoptout). -You can opt out of Google Analytics Advertising Features through [Ads Settings](https://adssettings.google.com) and Ad Settings for mobile apps. - -Other opt out means include [http://optout.networkadvertising.org/](http://optout.networkadvertising.org/) and [http://www.networkadvertising.org/mobile-choice](http://www.networkadvertising.org/mobile-choice). - -For more information on the privacy practices of Google, please visit the [Google Privacy & Terms](https://policies.google.com/privacy). - -## 6. How long do we keep your information? - -!!! tip "In Short" - - We keep your information for as long as necessary to fulfil the purposes outlined in this privacy notice unless otherwise required by law. - -We will only keep your personal information for as long as it is necessary for the purposes set out in this privacy notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements). - -When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise it, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible. - -## 7. How do we keep your information safe? - -!!! tip "In Short" - - We aim to protect your personal information through a system of organisational and technical security measures. - -We have implemented appropriate technical and organisational security measures designed to protect the security of any personal information we process. -However, despite our safeguards and efforts to secure your information, no electronic transmission over the internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. -Although we will do our best to protect your personal information, the transmission of personal information to and from our Services is at your own risk. -You should only access the Services within a secure environment. - -## 8. What are your privacy rights? - -!!! tip "In Short" - - We strive to protect your privacy rights and choices to the best possible extent under the law. - -You have rights under certain data protection laws. -However, these rights are not absolute, and in certain cases, we may decline your request as permitted by law. -These rights include: - -- **Right to know** - whether or not we are processing your personal data -- **Right to access** - your personal data -- **Right to correct** - inaccuracies in your personal data -- **Right to request** - the deletion of your personal data -- **Right to obtain a copy** - of the personal data you previously shared with us -- **Right to non-discrimination** - against you for exercising your rights -- **Right to opt-out** - - of the processing of your personal data if it is used for targeted advertising (or sharing as defined under applicable laws), the sale of personal data, or profiling in furtherance of decisions that produce legal or similarly significant effects ('profiling') concerning you - - of the collection of sensitive data and personal data collected through the operation of a voice or facial recognition feature -- **Right to obtain** - - a list of the categories of third parties to which we have disclosed personal data - - a list of specific third parties to which we have disclosed personal data -- **Right to limit** - use and disclosure of sensitive personal data - -### How to exercise your rights - -It is very unlikely that you will be able to exercise the above rights as we do not collect any identifiable personal data from you. - -We are unable to reply to and act on data subject access request as we do not save any identifiable information about you, and we will not be able to verify your identity. - -If you believe we are unlawfully processing your personal information, you can contact the relevant data protection regulator, state attorney general, or other competent authority in your jurisdiction. - -| Residency | Authority | -| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| European Economic Area | [Member State's data protection supervisory authority](https://edpb.europa.eu/about-edpb/board/members_en) | -| United Kingdom | [Information Commissioner's Office](https://ico.org.uk/make-a-complaint/) | -| Australia | [Office of the Australian Information Commissioner](https://www.oaic.gov.au/privacy/privacy-complaints/) | -| New Zealand | [Office of New Zealand Privacy Commissioner](https://www.privacy.org.nz/your-rights/making-a-complaint-to-the-privacy-commissioner/) | -| Canada | [Office of the Privacy Commissioner of Canada](https://www.priv.gc.ca/en/) | -| California of the United States | [California Privacy Protection Agency](https://cppa.ca.gov/webapplications/complaint/) | -| Switzerland | [Federal Data Protection and Information Commissioner](https://www.edoeb.admin.ch/edoeb/en/home/the-fdpic/contact.html) | -| South Africa | [Information Regulator](https://inforegulator.org.za/training/wp/complaints/) | - -#### Withdraw your consent - -If we are relying on your consent to process your personal information, which may be express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time. -You can withdraw your consent at any time by clicking the button on the top of this page or the button below: - -[Privacy Control](#__consent){ .md-button } - -However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful processing grounds other than consent. - -#### Cookies and similar technologies - -Most web browsers are set to accept cookies by default. -If you prefer, you can usually choose to set your browser to remove or reject browser cookies. -Please note that if you choose to remove or reject cookies, this will NOT affect the availability and functionality of our Services. - -## 9. Controls for Do-Not-Track features - -Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track ('DNT') feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. -At this stage, no uniform technology standard for recognising and implementing DNT signals has been finalised. -Although we cannot promise to honour every DNT signal, we strive to honour all such requests where technically feasible. - -California law requires us to let you know how we respond to web browser DNT signals. -Because we cannot guarantee to recognise and houour all DNT signals, we do not respond to them at this time. - -## 10. Do residents in certain jurisdiction have specific privacy rights? - -NO. - -All men and women are created equal. - -We provide the same privacy rights to all individuals, regardless of their location. - -Be assured that we will treat you with the same respect and dignity as we would want to be treated. - -## 11. How can you review, update, or delete the data we collect from you? - -It is very unlikely that you will be able to review, update, or delete the data we collect from you as we do not collect any identifiable personal data from you, and we will not be able to identify which data belongs to you. - -## 12. Do we make updates to this notice? - -!!! tip "In Short" - - Yes, we will update this notice as necessary to stay compliant with relevant laws. - -We may update this privacy notice from time to time. -The updated version will be indicated by an updated 'Last Revised Time' at the bottom of this privacy notice. -If we make any material changes, we will notify you by posting the new privacy notice on this page. -We are unable to notify you directly as we do not collect any contact information from you. -We encourage you to review this privacy notice frequently to stay informed of how we are protecting your information. diff --git a/about/privacy.zh.md b/about/privacy.zh.md deleted file mode 100644 index 4e816720..00000000 --- a/about/privacy.zh.md +++ /dev/null @@ -1,419 +0,0 @@ -!!! warning "翻译" - - 本文内容为机器翻译版本,旨在为用户提供方便。 - 我们已经尽力确保翻译的准确性。 - 但请注意,翻译内容可能包含错误,仅供参考。 - 请以英文[原文](https://multimolecule.danling.org/about/privacy)为准。 - - 为满足合规性与执法要求,翻译文档中的任何不准确或歧义之处均不具有约束力,也不具备法律效力。 - -# 隐私声明 - -本隐私声明适用于丹灵团队(也被称作丹灵)(以下简称“我们”),描述了当您使用我们的服务(“服务”)时,我们如何以及为何可能收集、存储、使用和/或共享(“处理”)您的信息。例如当您: - -- 访问我们的网站 [multimolecule.danling.org](https://multimolecule.danling.org) 或任何链接到本隐私声明的我们的网站时 - -您可以随时通过点击下面的按钮更改您的隐私设置: - -[隐私控制](#__consent){ .md-button } - -**有问题或关注?** -阅读本隐私声明将帮助您了解您的隐私权利和选择。 -如果您不同意我们的声明和做法,请不要使用我们的服务。 -如果您仍有任何问题或关注,请通过[privacy@danling.org](mailto:privacy@danling.org)与我们联系。 - -## 0. 关键点总结 - -本总结提供了我们隐私声明的关键点,但您可以通过点击每个关键点后的链接或使用目录来找到您所查找的部分以了解更多详情。 - -
- -!!! question "我们处理哪些个人信息?" - - 当您访问、使用或导航我们的服务时,我们可能会根据您与我们以及服务的互动方式、您所做的选择以及您使用的产品和功能来处理个人信息。 - - [:octicons-arrow-right-24: 我们收集哪些信息?](#1) - -!!! question "我们如何处理您的信息?" - - 我们处理您的信息以提供、改善和管理我们的服务,与您沟通,进行安全和防欺诈,以及遵守法律。 - 我们也可能在得到您的同意的情况下,出于其他目的处理您的信息。 - 我们仅在有合法法律理由时处理您的信息。 - - [:octicons-arrow-right-24: 我们如何处理您的信息?](#2) - -!!! question "我们处理任何敏感个人信息吗?" - - 我们不处理任何敏感个人信息。 - -!!! question "我们从第三方收集信息吗?" - - 我们不从第三方收集任何信息。 - -!!! question "在哪些情况下以及与哪些方我们共享个人信息?" - - 我们可能在特定情况下与特定第三方共享信息。 - - [:octicons-arrow-right-24: 我们何时以及与谁共享您的个人信息?](#4) - -!!! question "我们如何保护您的信息安全?" - - 我们已经实施了组织和技术流程和程序来保护您的个人信息。 - - [:octicons-arrow-right-24: 我们如何保持您的信息安全?](#7) - -!!! question "您有哪些权利?" - - 根据您所在地理位置,适用的隐私法可能意味着您对您的个人信息有某些权利。 - - [:octicons-arrow-right-24: 您有哪些隐私权利?](#8) - -!!! question "您如何行使您的权利?" - - 行使您的权利的最简单方式是联系您的司法管辖区的相关数据保护监管机构。 - - [:octicons-arrow-right-24: 如何行使您的权利?](#_5) - -
- -## 1. 我们收集哪些信息? - -### 您向我们披露的个人信息 - -!!! tip "简而言之" - - 我们收集您向我们提供的个人信息。 - -我们收集您自愿向我们提供的个人信息,当您表达对我们或我们的产品和服务的兴趣、参与服务上的活动或以其他方式联系我们时。 - -!!! danger "敏感个人信息" - - 我们不从您那里收集任何敏感个人信息。 - -### 自动收集的信息 - -!!! tip "简而言之" - - 当您访问我们的服务时,某些信息——如IP地址和/或浏览器和设备特征——会自动被收集。 - -我们在您访问、使用或导航我们的服务时自动收集某些信息。 -这些信息不会透露您的特定身份(如您的姓名或联系信息),但可能包括设备和使用信息,如您的IP地址、浏览器和设备特性、操作系统、语言偏好、引用URL、设备名称、国家、位置、有关您如何以及何时使用我们的服务的信息,以及其他技术信息。 -这些信息主要是为了维护我们服务的安全性和运作所需,以及我们内部的分析和报告目的。 - -像许多企业一样,我们还通过cookies和类似技术收集信息。 - -我们收集的信息包括: - -- **标识符。** - 标识符是当您使用我们的服务时,我们生成的特定于设备和浏览器的唯一随机字符串。 - 该标识符存储在您设备上的一个cookie中,使我们能够在多个会话中以及您返回我们的服务时识别您。 - 注意这个标识符不包含任何关于您的个人信息,并且是特定于您的设备和浏览器的,这意味着它不能用于在不同设备或浏览器之间跟踪您。 - 您可以通过清除浏览器缓存随时删除此cookie。 -- **日志和使用数据。** - 日志和使用数据是与服务相关的、诊断、使用和性能信息,当您访问或使用我们的服务时我们的服务器会自动收集,并记录在日志文件中。 - 根据您与我们的互动方式,这些日志数据可能包括您的IP地址、设备信息、浏览器类型和设置,以及有关您在服务中的活动的信息(如与您使用相关的日期/时间戳、浏览和查看的页面和文件、搜索以及您采取的其他操作,例如您使用的功能),设备事件信息(如系统活动、错误报告(有时称为'崩溃转储')和硬件设置)。 -- **设备数据。** - 我们收集设备数据,如您用于访问服务的计算机、电话、平板或其他设备的信息。 - 根据所使用的设备,这些设备数据可能包括如下信息:您的IP地址(或代理服务器)、设备和应用程序识别号、位置、浏览器类型、硬件型号、互联网服务提供商和/或移动运营商、操作系统和系统配置信息。 -- **位置数据。** - 我们收集位置数据,如您设备的位置信息,这可以是精确的也可以是不精确的。 - 我们收集多少信息取决于您用于访问服务的设备的类型和设置。 - 例如,我们可能使用GPS和其他技术来收集地理位置数据,告诉我们您当前的位置(基于您的IP地址)。 - 您可以选择不让我们收集此信息,方法是拒绝访问信息或在您的设备上禁用位置设置。 - -### 我们收集的个人信息类别 - -过去十二(12)个月内,我们收集了以下类别的个人信息: - -| 类别 | 示例 | 已收集 | -|-------------------------|-----------------------------------------------------------------|-------| -| A. 标识符 | 联系方式,如真实姓名、别名、邮政地址、电话或移动联系号码、独特的个人标识符、在线标识符、互联网协议地址、电子邮件地址和帐户名称 | 是 | -| B. 加利福尼亚客户记录法中定义的个人信息 | 姓名、联系信息、教育、就业、就业历史和财务信息 | 否 | -| C. 州或联邦法律下的受保护分类特征 | 性别、年龄、出生日期、种族和民族、国籍、婚姻状况和其他人口统计数据 | 否 | -| D. 商业信息 | 交易信息、购买历史、财务详细信息和支付信息 | 否 | -| E. 生物识别信息 | 指纹和声纹 | 否 | -| F. 互联网或其他类似网络活动 | 浏览历史、搜索历史、在线行为、兴趣数据和与我们和其他网站、应用程序、系统和广告的互动 | 是 | -| G. 地理位置数据 | 设备位置 | 是 | -| H. 音频、电子、感觉或类似信息 | 在我们的业务活动中创建的图像和音频、视频或通话录音 | 否 | -| I. 与职业相关的信息 | 为了在业务层面提供我们的服务而收集的商业联系信息或职务名称、工作历史和职业资格 | 否 | -| J. 教育信息 | 学生记录和目录信息 | 否 | -| K. 从收集的个人信息中推断出的推论 | 从上述任何收集的个人信息中推断出的用于创建个人偏好和特征的概况或摘要 | 是 | -| L. 敏感个人信息 | | 否 | - -我们还可能在您与我们亲自、在线或通过电话或邮件与我们互动的情况下收集其他个人信息,包括: - -- 通过我们的客户支持渠道获得帮助; -- 参与客户调查或竞赛;以及 -- 促进我们服务的交付并回应您的查询。 - -我们将根据需要在以下期限内使用和保留所收集的个人信息,以便为您提供我们的服务,并根据需要遵守我们的法律义务、解决争议和执行我们的协议: - -- A 类:24个月 -- F 类:24个月 -- G 类:24个月 -- K 类:24个月 - -## 2. 我们如何处理您的信息? - -!!! tip "简而言之" - - 我们处理您的信息以提供、改善和管理我们的服务,与您沟通,进行安全和防欺诈,以及遵守法律。 - 我们也可能在得到您的同意的情况下,出于其他目的处理您的信息。 - -我们出于多种原因处理您的个人信息,这取决于您如何与我们的服务互动,包括: - -- **保护我们的服务。** - 我们可能会处理您的信息作为我们保持服务安全的努力的一部分,包括监控和预防欺诈。 -- **识别用户趋势。** - 我们可能会处理有关您如何使用我们的服务的信息,以更好地了解它们的使用情况,从而改进它们。 -- **保存或保护个人的重要利益。** - 我们可能会在必要时处理您的信息,以保存或保护个人的重要利益,例如为了防止伤害。 - -## 3. 我们处理您的信息有什么法律依据? - -!!! tip "简而言之" - - 我们只有在我们认为必要且有有效的法律理由(即法律依据)时才处理您的个人信息,如与您的同意、遵守法律、提供服务给您进入或履行我们的合同义务、保护您的权利或满足我们合法的业务利益。 - -欧盟通用数据保护条例(GDPR)和英国GDPR要求我们解释我们依靠的有效法律依据以处理您的个人信息。 -因此,我们可能依赖以下法律依据来处理您的个人信息: - -- **同意。** - 如果您已给我们明确同意使用您的个人信息用于某个特定目的,我们可能会处理您的个人信息。 - 您有权随时撤回您的同意。 - 了解更多关于[撤回您的同意]()。 -- **合法利益。** - 当我们认为出于我们合法的业务利益来处理您的信息是合理必要的,并且这些利益不超过您的利益和基本权利与自由时,我们可能会处理您的信息。 - 例如,我们可能会处理您的个人信息,用于: - - 分析我们的服务如何被使用,以便我们可以改进它们以吸引和保留用户 - - 诊断问题和/或预防欺诈活动 -- **法律义务。** - 我们可能会在我们认为必须遵守我们的法律义务的情况下处理您的信息,例如与执法机构或监管机构合作、行使或捍卫我们的法律权利,或在我们参与的诉讼中披露您的信息作为证据。 -- **重要利益。** - 我们可能会在我们认为必须保护您或第三方的重要利益的情况下处理您的信息,例如涉及潜在威胁任何人的安全的情况。 - -!!! info "在加拿大处理的同意" - - 如果您位于加拿大,我们可能在适用法律下在某些特殊情况下无需您的同意就可以合法地处理您的信息,包括例如: - - - 如果收集明显符合个人的利益且无法及时获得同意 - - 用于调查和欺诈检测与预防 - - 用于商业交易,前提是满足某些条件 - - 如果信息包含在证人声明中,且收集对于评估、处理或解决保险索赔是必要的 - - 用于识别受伤、生病或已故人士并与近亲沟通 - - 如果我们有合理的理由相信某个人已经、正在或可能成为金融滥用的受害者 - - 如果合理预期通过征得同意以收集和使用信息会损害信息的可用性或准确性,并且收集对于调查违反协议或违反加拿大或省法律的目的是合理的 - - 如果披露是为了遵守传票、搜查令、法院命令或与记录生产相关的法院规则 - - 如果信息是由个人在其就业、业务或专业过程中产生的,并且收集与信息产生的目的一致 - - 如果收集仅用于新闻、艺术或文学目的 - - 如果信息是公开可用的,并且通过规定指定 - -## 4. 我们何时以及与谁共享您的个人信息? - -!!! tip "简而言之" - - 我们可能在本节描述的特定情况下和/或与以下第三方共享信息。 - -我们可能会将您的个人信息用于我们的业务目的,如进行内部研究以进行技术开发和展示。 -这不被视为“出售”您的个人信息。 - -**供应商、顾问和其他第三方服务提供商。** -我们可能会与为我们服务或代表我们工作并需要访问此类信息以执行该工作的第三方供应商、服务提供商、承包商或代理(“第三方”)共享您的数据。 -我们与我们的第三方签订了合同,这些合同旨在帮助保护您的个人信息。 -这意味着他们不能在未经我们指示的情况下做任何事情。 -他们也不会与我们以外的任何组织共享您的个人信息。 -他们还承诺保护他们代表我们持有的数据并按照我们的指示保留该数据。 - -我们可能共享个人信息的第三方如下: - -- **广告、直销和潜在客户生成** - - Google AdSense -- **云计算服务** - - Microsoft Azure - - Amazon Web Services (AWS) - - Google Cloud Platform (GCP) -- **通信和内容交付网络 (CDN) 服务** - - Cloudflare -- **内容优化** - - Google站点搜索 - - Google字体 -- **功能和基础设施优化** - - GitHub页面 -- **用户评论和论坛** - - Disqus - - GitHub议题 - - GitHub讨论 -- **网络和移动分析** - - Google Analytics - -我们还可能需要在以下情况下共享您的个人信息: - -- **业务转移。** - 我们可能在进行任何并购、出售公司资产、融资或收购我们全部或部分业务的谈判中共享或转让您的信息。 - -!!! info "过去十二(12)个月我们出于业务目的披露了以下类别的个人信息:" - - 无 - -!!! info "过去十二(12)个月我们出售个人信息的第三方类别:" - - 无 - -!!! info "过去十二(12)个月我们与之共享个人信息的第三方类别:" - - - **网络和移动分析** - - Google Analytics - -## 5. 我们是否使用cookies和其他跟踪技术? - -!!! tip "简而言之" - - 我们可能使用cookies和其他跟踪技术来收集和存储您的信息。 - -我们还允许第三方和服务提供商在我们的服务中使用在线跟踪技术用于分析和广告,包括帮助管理和展示广告,根据您的兴趣定制广告,或发送遗弃购物车提醒(取决于您的沟通偏好)。 -这些第三方和服务提供商使用他们的技术为您提供定制的产品和服务广告,这些广告可能出现在我们的服务或其他网站上。 - -在适用的美国州法律下,这些在线跟踪技术被视为“销售”/“分享”(包括目标广告,根据适用法律定义)的程度,您可以通过点击本页顶部或下面的按钮来选择退出这些在线跟踪技术: - -[隐私控制](#__consent){ .md-button } - - - -### Google Analytics - -我们可能会与Google Analytics共享您的信息,以跟踪和分析服务的使用情况。 -我们可能使用的Google Analytics广告功能包括: - -- Google Analytics的再营销 -- Google Display Network印象报告 -- Google Analytics人口统计和兴趣报告 - -要选择退出在服务中通过Google Analytics跟踪您,请访问[https://tools.google.com/dlpage/gaoptout](https://tools.google.com/dlpage/gaoptout)。 - -您可以通过[广告设置](https://adssettings.google.com)和移动应用的广告设置来选择退出Google Analytics广告功能。 - -其他退出方式包括[http://optout.networkadvertising.org/](http://optout.networkadvertising.org/)和[http://www.networkadvertising.org/mobile-choice](http://www.networkadvertising.org/mobile-choice)。 - -有关Google隐私做法的更多信息,请访问[Google隐私与条款](https://policies.google.com/privacy)。 - -## 6. 我们保留您的信息多久? - -!!! tip "简而言之" - - 我们将根据本隐私声明中概述的目的保留您的信息,除非法律另有要求。 - -我们只会在本隐私声明中概述的目的所需的时间内保留您的个人信息,除非法律要求或允许更长的保留期(如税务、会计或其他法律要求)。 - -当我们没有持续的合法业务需要处理您的个人信息时,我们将删除或匿名化它,或者,如果这不可能(例如,因为您的个人信息已存储在备份档案中),那么我们将安全地存储您的个人信息并将其与任何进一步处理隔离,直到删除成为可能。 - -## 7. 我们如何保持您的信息安全? - -!!! tip "简而言之" - - 我们旨在通过一系列组织和技术安全措施保护您的个人信息。 - -我们已实施适当的技术和组织安全措施,旨在保护我们处理的任何个人信息的安全。 -然而,尽管我们采取了保障措施并努力确保您的信息安全,任何通过互联网的电子传输或信息存储技术都无法保证是100%安全的,因此我们无法承诺或保证黑客、网络犯罪分子或其他未经授权的第三方不会破坏我们的安全措施并不当地收集、访问、窃取或修改您的信息。 -尽管我们将尽最大努力保护您的个人信息,个人信息到我们服务的传输和从我们服务的传输仍然是您自己的风险。 -您应该只在安全的环境中访问服务。 - -## 8. 您有哪些隐私权利? - -!!! tip "简而言之" - - 我们努力在法律允许的最大范围内保护您的隐私权利和选择。 - -您在某些数据保护法下有权利。 -然而,这些权利不是绝对的,在某些情况下,我们可能会根据法律拒绝您的请求。 -这些权利包括: - -- **知情权** - 我们是否正在处理您的个人数据 -- **访问权** - 您的个人数据 -- **更正权** - 您的个人数据中的不准确信息 -- **请求删除权** - 您的个人数据 -- **获取副本权** - 您以前与我们共享的个人数据 -- **反歧视权** - 针对您行使您的权利 -- **选择退出权** - - 如果您的个人数据用于目标广告(或根据适用法律定义的“分享”),个人数据的销售,或促进对您产生法律或类似重大效果的决策(“分析”)的分析 - - 收集通过语音或面部识别功能操作收集的敏感数据和个人数据 -- **获取权** - - 向我们披露个人数据的第三方类别的列表 - - 向我们披露个人数据的特定第三方的列表 -- **限制使用和披露权** - 敏感个人数据 - -### 如何行使您的权利 - -您几乎不可能行使上述权利,因为我们不从您那里收集任何可识别的个人数据。 - -我们无法回复和采取数据主体访问请求,因为我们不保存任何可识别的关于您的信息,我们将无法验证您的身份。 - -如果您认为我们非法处理您的个人信息,您可以联系您所在管辖区的相关数据保护监管机构、州总检察长或其他有权机构。 - -| 居住地 | 机构 | -|-------------------|------------------------------------------------------------------------------------------------------| -| 欧洲经济区 | [成员国的数据保护监督机构](https://edpb.europa.eu/about-edpb/board/members_en) | -| 英国 | [信息专员办公室](https://ico.org.uk/make-a-complaint/) | -| 澳大利亚 | [澳大利亚信息专员办公室](https://www.oaic.gov.au/privacy/privacy-complaints/) | -| 新西兰 | [新西兰隐私专员办公室](https://www.privacy.org.nz/your-rights/making-a-complaint-to-the-privacy-commissioner/) | -| 加拿大 | [加拿大隐私专员办公室](https://www.priv.gc.ca/en/) | -| 美国加利福尼亚州 | [加利福尼亚隐私保护机构](https://cppa.ca.gov/webapplications/complaint/) | -| 瑞士 | [联邦数据保护和信息专员](https://www.edoeb.admin.ch/edoeb/en/home/the-fdpic/contact.html) | -| 南非 | [信息监管机构](https://inforegulator.org.za/training/wp/complaints/) | - - -#### 撤回您的同意 - -如果我们依赖您的同意来处理您的个人信息,这可能是明确的和/或暗示的同意,取决于适用法律,您有权随时撤回您的同意。 -您可以通过点击本页顶部或下面的按钮随时撤回您的同意: - -[隐私控制](#__consent){ .md-button } - -然而,请注意,这不会影响撤回之前的处理的合法性,也不会影响当适用法律允许时,基于除同意之外的合法处理理由进行的您的个人信息的处理。 - -#### Cookies和类似技术 - -大多数网络浏览器默认设置为接受cookies。 -如果您愿意,您通常可以选择设置您的浏览器以删除或拒绝浏览器cookies。 -请注意,如果您选择删除或拒绝cookies,这将不会影响我们服务的可用性和功能。 - -## 9. 不追踪功能的控制 - -大多数网络浏览器和一些移动操作系统和移动应用程序包括一个您可以激活的不追踪(“DNT”)功能或设置,以表达您的隐私偏好,不希望有关您的在线浏览活动的数据被监控和收集。 -到目前为止,还没有为识别和实施DNT信号制定统一的技术标准。 -虽然我们不能承诺尊重每一个DNT信号,我们力求尊重所有在技术上可行的此类请求。 - -加利福尼亚法律要求我们告诉您我们如何响应网络浏览器的DNT信号。 -由于我们不能保证识别和尊重所有DNT信号,我们目前不对它们做出响应。 - -## 10. 某些管辖区的居民是否有特定的隐私权利? - -否。 - -所有男女生而平等。 - -我们向所有个人提供相同的隐私权利,无论他们的位置如何。 - -请放心,我们将以我们希望被对待的相同的尊重和尊严对待您。 - -## 11. 您如何查看、更新或删除我们收集的数据? - -您几乎不可能查看、更新或删除我们收集的数据,因为我们不从您那里收集任何可识别的个人数据,也无法确定哪些数据是属于您的。 - -## 12. 我们是否会更新此声明? - -!!! tip "简而言之" - - 是的,我们将根据需要更新此声明以保持与相关法律的一致。 - -我们可能会不时更新此隐私声明。 -更新后的版本将通过更新本页面底部的“最后修订时间”来表示。 -如果我们进行任何重大更改,我们将通过在本页发布新的隐私声明来通知您。 -由于我们不收集您的任何联系信息,我们无法直接通知您。 -我们鼓励您经常查看本隐私声明,以了解我们如何保护您的信息。 diff --git a/conftest.py b/conftest.py index 65177410..719ab6b0 100644 --- a/conftest.py +++ b/conftest.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,5 +16,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + collect_ignore = ["debug.py"] collect_ignore_glob = ["convert_checkpoint.py", "*ignore.py"] diff --git a/demo/data/huggingface-datasets.py b/demo/data/huggingface-datasets.py index f39e98f0..fb8dd47d 100644 --- a/demo/data/huggingface-datasets.py +++ b/demo/data/huggingface-datasets.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from multimolecule.data import Dataset data = Dataset("multimolecule/bprna-spot", split="train", pretrained="multimolecule/rna") diff --git a/demo/data/local-file.py b/demo/data/local-file.py index d12fb669..bd49e533 100644 --- a/demo/data/local-file.py +++ b/demo/data/local-file.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from multimolecule.data import Dataset data = Dataset("data/rna/5utr.csv", split="train", pretrained="multimolecule/rna") diff --git a/demo/models/direct-access.py b/demo/models/direct-access.py index 46f01b07..08e71d2f 100644 --- a/demo/models/direct-access.py +++ b/demo/models/direct-access.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from multimolecule.models import RnaFmForTokenPrediction, RnaTokenizer model = RnaFmForTokenPrediction.from_pretrained("multimolecule/rnafm") diff --git a/demo/models/multimolecule-automodel.py b/demo/models/multimolecule-automodel.py index a9a367d4..7d40beba 100644 --- a/demo/models/multimolecule-automodel.py +++ b/demo/models/multimolecule-automodel.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import AutoTokenizer from multimolecule import AutoModelForSequencePrediction diff --git a/demo/models/transformers-automodel.py b/demo/models/transformers-automodel.py index 993cf0ef..5941e0b2 100644 --- a/demo/models/transformers-automodel.py +++ b/demo/models/transformers-automodel.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import AutoModelForSequenceClassification, AutoTokenizer import multimolecule # noqa: F401 diff --git a/demo/models/vanilla.py b/demo/models/vanilla.py index e26c529e..82f6b4fa 100644 --- a/demo/models/vanilla.py +++ b/demo/models/vanilla.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from multimolecule.models import RnaFmConfig, RnaFmForTokenPrediction, RnaTokenizer config = RnaFmConfig() diff --git a/docs/docs/about/license-faq.md b/docs/docs/about/license-faq.md index 15bdef27..837b41a7 100644 --- a/docs/docs/about/license-faq.md +++ b/docs/docs/about/license-faq.md @@ -1 +1 @@ ---8<-- "about/license-faq.md" \ No newline at end of file +--8<-- "license-faq.md" \ No newline at end of file diff --git a/docs/docs/about/license-faq.zh.md b/docs/docs/about/license-faq.zh.md index b332000b..3c2cb22b 100644 --- a/docs/docs/about/license-faq.zh.md +++ b/docs/docs/about/license-faq.zh.md @@ -1 +1 @@ ---8<-- "about/license-faq.zh.md" \ No newline at end of file +--8<-- "license-faq.zh.md" \ No newline at end of file diff --git a/docs/docs/about/privacy.md b/docs/docs/about/privacy.md index 06b40789..dcb695c4 100644 --- a/docs/docs/about/privacy.md +++ b/docs/docs/about/privacy.md @@ -1 +1,408 @@ ---8<-- "privacy.md" \ No newline at end of file +# Privacy Notice + +This privacy notice for DanLing Team (also known as DanLing) ('we', 'us', or 'our'), describes how and why we might collect, store, use, and/or share ('process') your information when you use our services ('Services'), such as when you: + +- Visit our website at [multimolecule.danling.org](https://multimolecule.danling.org), or any website of ours that links to this privacy notice + +You can change your privacy settings at any time by clicking the button below: + +[Privacy Control](#__consent){ .md-button } + +**Questions or concerns?** +Reading this privacy notice will help you understand your privacy rights and choices. +If you do not agree with our policies and practices, please do not use our Services. +If you still have any questions or concerns, please contact us at [privacy@danling.org](mailto:privacy@danling.org). + +## 0. Summary of Key Points + +This summary provides key points from our privacy notice, but you can find out more details about any of these topics by clicking the link following each key point or by using our table of contents below to find the section you are looking for. + +
+ +!!! question "What personal information do we process?" + + When you visit, use, or navigate our Services, we may process personal information depending on how you interact with us and the Services, the choices you make, and the products and features you use. + + [:octicons-arrow-right-24: What information do we collect?](#1-what-information-do-we-collect) + +!!! question "How do we process your information?" + + We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. + We may also process your information for other purposes with your consent. + We process your information only when we have a valid legal reason to do so. + + [:octicons-arrow-right-24: How do we process your information?](#2-how-do-we-process-your-information) + +!!! question "Do we process any sensitive personal information?" + + We do not process any sensitive personal information. + +!!! question "Do we collect any information from third parties?" + + We do not collect any information from third parties. + +!!! question "In what situations and with which parties do we share personal information?" + + We may share information in specific situations and with specific third parties. + + [:octicons-arrow-right-24: When and with whom we share your personal information?](#4-when-and-with-whom-do-we-share-your-personal-information) + +!!! question "How do we keep your information safe?" + + We have organisational and technical processes and procedures in place to protect your personal information. + + [:octicons-arrow-right-24: How do we keep your information safe?](#7-how-do-we-keep-your-information-safe) + +!!! question "What are your rights?" + + Depending on where you are located geographically, the applicable privacy law may mean you have certain rights regarding your personal information. + + [:octicons-arrow-right-24: What are your privacy rights?](#8-what-are-your-privacy-rights) + +!!! question "How do you exercise your rights?" + + The easiest way to exercise your rights is by contacting the relevant data protection authority in your jurisdiction. + + [:octicons-arrow-right-24: How to exercise your rights](#how-to-exercise-your-rights) + +
+ +## 1. What information do we collect? + +### Personal information you disclose to us + +!!! tip "In Short" + + We collect personal information that you provide to us. + +We collect personal information that you voluntarily provide to us when you express an interest in obtaining information about us or our products and Services, when you participate in activities on the Services, or otherwise when you contact us. + +!!! danger "Sensitive Personal Information" + + We do not collect any sensitive personal information from you. + +### Information automatically collected + +!!! tip "In Short" + + Some information — such as IP address and/or browser and device characteristics — is collected automatically when you visit our Services. + +We automatically collect certain information when you visit, use, or navigate our Services. +This information does not reveal your specific identity (like your name or contact information) but may include device and usage information, such as your IP address, browser and device characteristics, operating system, language preferences, referring URLs, device name, country, location, information about how and when you use our Services, and other technical information. +This information is primarily needed to maintain the security and operation of our Services, and for our internal analytics and reporting purposes. + +Like many businesses, we also collect information through cookies and similar technologies. + +The information we collect includes: + +- **Identifiers.** + Identifier is a device and browser-specific unique random string that we generate when you use our Service. + This identifier is stored in a cookie on your device, allowing us to identify you across multiple sessions and when you return to our Service. + Note that this identifier does not contain any personal information about you, and is device and browser-specific, meaning that it cannot be used to track you across multiple devices or browsers. + You can delete this cookie at any time by clearing your browser's cache. +- **Log and Usage Data.** + Log and usage data is service-related, diagnostic, usage, and performance information our servers automatically collect when you access or use our Services and which we record in log files. + Depending on how you interact with us, this log data may include your IP address, device information, browser type, and settings, and information about your activity in the Services (such as the date/time stamps associated with your usage, pages and files viewed, searches and other actions you take such as which features you use), device event information (such as system activity, error reports (sometimes called 'crash dumps') and hardware settings). +- **Device Data.** + We collect device data such as information about your computer, phone, tablet, or other devices you use to access the Services. + Depending on the device used, this device data may include information such as your IP address (or proxy server), device and application identification numbers, location, browser type, hardware model, Internet Service Provider and/or mobile carrier, operating system, and system configuration information. +- **Location Data.** + We collect location data such as information about your device's location, which can be either precise or imprecise. + How much information we collect depends on the type and settings of the device you use to access the Services. + For example, we may use GPS and other technologies to collect geolocation data that tells us your current location (based on your IP address). + You can opt out of allowing us to collect this information either by refusing access to the information or by disabling your location settings on your device. + +### Categories of Personal Information We Collect + +We have collected the following categories of personal information in the past twelve (12) months: + +| Category | Examples | Collected | +| ----------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | +| A. Identifiers | Contact details, such as real name, alias, postal address, telephone or mobile contact number, unique personal identifier, online identifier, Internet Protocol address, email address, and account name | YES | +| B. Personal information as defined in the California Customer Records statute | Name, contact information, education, employment, employment history, and financial information | NO | +| C. Protected classification characteristics under state or federal law | Gender, age, date of birth, race and ethnicity, national origin, marital status, and other demographic data | NO | +| D. Commercial information | Transaction information, purchase history, financial details, and payment information | NO | +| E. Biometric information | Fingerprints and voiceprints | NO | +| F. Internet or other similar network activity | Browsing history, search history, online behaviour, interest data, and interactions with our and other websites, applications, systems, and advertisements | YES | +| G. Geolocation data | Device location | YES | +| H. Audio, electronic, sensory, or similar information | Images and audio, video or call recordings created in connection with our business activities | NO | +| I. Professional or employment-related information | Business contact details in order to provide you our Services at a business level or job title, work history, and professional qualifications if you apply for a job with us | NO | +| J. Education Information | Student records and directory information | NO | +| K. Inferences drawn from collected personal information | Inferences drawn from any of the collected personal information listed above to create a profile or summary about, for example, an individual’s preferences and characteristics | YES | +| L. Sensitive personal Information | | NO | + +We may also collect other personal information outside of these categories through instances where you interact with us in person, online, or by phone or mail in the context of: + +- Receiving help through our customer support channels; +- Participation in customer surveys or contests; and +- Facilitation in the delivery of our Services and to respond to your inquiries. + +We will use and retain the collected personal information as needed to provide you with our Services and as necessary to comply with our legal obligations, resolve disputes, and enforce our agreement for the following period: + +- Category A: 24 months +- Category F: 24 months +- Category G: 24 months +- Category K: 24 months + +## 2. How do we process your information? + +!!! tip "In Short" + + We process your information to provide, improve, and administer our Services, communicate with you, for security and fraud prevention, and to comply with law. + We may also process your information for other purposes with your consent. + +We process your personal information for a variety of reasons, depending on how you interact with our Services, including: + +- **To protect our Services.** + We may process your information as part of our efforts to keep our Services safe and secure, including fraud monitoring and prevention. +- **To identify user trends.** + We may process information about how you use our Services to better understand how they are being used so we can improve them. +- **To save or protect an individual's vital interest.** + We may process your information when necessary to save or protect an individual’s vital interest, such as to prevent harm. + +## 3. What legal basis do we have for processing your information? + +!!! tip "In Short" + + We only process your personal information when we believe it is necessary and we have a valid legal reason (i.e. legal basis) to do so under applicable law, like with your consent, to comply with laws, to provide you with services to enter into or fulfil our contractual obligations, to protect your rights, or to fulfil our legitimate business interests. + +The General Data Protection Regulation (GDPR) and UK GDPR require us to explain the valid legal bases we rely on in order to process your personal information. +As such, we may rely on the following legal bases to process your personal information: + +- **Consent.** + We may process your personal information if you have given us specific consent to use your personal information for a specific purpose. + You have the right to withdraw your consent at any time. + Learn more about [withdrawing your consents](). +- **Legitimate Interests.** + We may process your information when we believe it is reasonably necessary to achieve our legitimate business interests and those interests do not outweigh your interests and fundamental rights and freedoms. + For example, we may process your personal information for some of the purposes described in order to: + - Analyse how our Services are used so we can improve them to engage and retain users + - Diagnose problems and/or prevent fraudulent activities +- **Legal Obligations.** + We may process your information where we believe it is necessary for compliance with our legal obligations, such as to cooperate with a law enforcement body or regulatory agency, exercise or defend our legal rights, or disclose your information as evidence in litigation in which we are involved. +- **Vital Interests.** + We may process your information where we believe it is necessary to protect your vital interests or the vital interests of a third party, such as situations involving potential threats to the safety of any person. + +!!! info "Consent to Processing in Canada" + + If you are located in Canada, we may be legally permitted under applicable law to process your information without your consent in some exceptional cases, including, for example: + + - If collection is clearly in the interests of an individual and consent cannot be obtained in a timely way + - For investigations and fraud detection and prevention + - For business transactions provided certain conditions are met + - If it is contained in a witness statement and the collection is necessary to assess, process, or settle an insurance claim + - For identifying injured, ill, or deceased persons and communicating with next of kin + - If we have reasonable grounds to believe an individual has been, is, or may be victim of financial abuse + - If it is reasonable to expect collection and use with consent would compromise the availability or the accuracy of the information and the collection is reasonable for purposes related to investigating a breach of an agreement or a contravention of the laws of Canada or a province + - If disclosure is required to comply with a subpoena, warrant, court order, or rules of the court relating to the production of records + - If it was produced by an individual in the course of their employment, business, or profession and the collection is consistent with the purposes for which the information was produced + - If the collection is solely for journalistic, artistic, or literary purposes + - If the information is publicly available and is specified by the regulations + +## 4. When and with whom do we share your personal information? + +!!! tip "In Short" + + We may share information in specific situations described in this section and/or with the following third parties. + +We may use your personal information for our business purposes, such as for undertaking internal research for technological development and demonstration. +This is not considered to be 'selling' of your personal information. + +**Vendors, Consultants, and Other Third-Party Service Providers.** +We may share your data with third-party vendors, service providers, contractors, or agents ('third parties') who perform services for us or on our behalf and require access to such information to do that work. +We have contracts in place with our third parties, which are designed to help safeguard your personal information. +This means that they cannot do anything with your personal information unless we have instructed them to do it. +They will also not share your personal information with any organisation apart from us. +They also commit to protect the data they hold on our behalf and to retain it for the period we instruct. + +The third parties we may share personal information with are as follows: + +- **Advertising, Direct Marketing, and Lead Generation** + - Google AdSense +- **Cloud Computing Services** + - Microsoft Azure + - Amazon Web Services (AWS) + - Google Cloud Platform (GCP) +- **Communications and Content Delivery Network (CDN) Services** + - Cloudflare +- **Content Optimisation** + - Google Site Search + - Google Fonts +- **Functionality and Infrastructure Optimisation** + - GitHub Pages +- **User Commenting and Forums** + - Disqus + - GitHub Issues + - GitHub Discussions +- **Web and Mobile Analytics** + - Google Analytics + +We also may need to share your personal information in the following situations: + +- **Business Transfers.** + We may share or transfer your information in connection with, or during negotiations of, any merger, sale of company assets, financing, or acquisition of all or a portion of our business to another company. + +!!! info "We have disclosed the following categories of personal information for a business purpose in the past twelve (12) months:" + + Nill + +!!! info "The categories of third parties to whom we sold personal information in the past twelve (12) months:" + + Nill + +!!! info "The categories of third parties to whom we shared personal information with in the past twelve (12) months:" + + - **Web and Mobile Analytics** + - Google Analytics + +## 5. Do we use cookies and other tracking technologies? + +!!! tip "In Short" + + We may use cookies and other tracking technologies to collect and store your information. + +We also permit third parties and service providers to use online tracking technologies on our Services for analytics and advertising, including to help manage and display advertisements, to tailor advertisements to your interests, or to send abandoned shopping cart reminders (depending on your communication preferences). +The third parties and service providers use their technology to provide advertising about products and services tailored to your interests which may appear either on our Services or on other websites. + +To the extent these online tracking technologies are deemed to be a 'sale'/'sharing' (which includes targeted advertising, as defined under the applicable laws) under applicable US state laws, you can opt out of these online tracking technologies by clicking the button on the top of this page or the button below: + +[Privacy Control](#__consent){ .md-button } + + + +### Google Analytics + +We may share your information with Google Analytics to track and analyse the use of the Services. +The Google Analytics Advertising Features that we may use include: + +- Remarketing with Google Analytics +- Google Display Network Impressions Reporting +- Google Analytics Demographics and Interests Reporting + +To opt out of being tracked by Google Analytics across the Services, visit [https://tools.google.com/dlpage/gaoptout](https://tools.google.com/dlpage/gaoptout). +You can opt out of Google Analytics Advertising Features through [Ads Settings](https://adssettings.google.com) and Ad Settings for mobile apps. + +Other opt out means include [http://optout.networkadvertising.org/](http://optout.networkadvertising.org/) and [http://www.networkadvertising.org/mobile-choice](http://www.networkadvertising.org/mobile-choice). + +For more information on the privacy practices of Google, please visit the [Google Privacy & Terms](https://policies.google.com/privacy). + +## 6. How long do we keep your information? + +!!! tip "In Short" + + We keep your information for as long as necessary to fulfil the purposes outlined in this privacy notice unless otherwise required by law. + +We will only keep your personal information for as long as it is necessary for the purposes set out in this privacy notice, unless a longer retention period is required or permitted by law (such as tax, accounting, or other legal requirements). + +When we have no ongoing legitimate business need to process your personal information, we will either delete or anonymise it, or, if this is not possible (for example, because your personal information has been stored in backup archives), then we will securely store your personal information and isolate it from any further processing until deletion is possible. + +## 7. How do we keep your information safe? + +!!! tip "In Short" + + We aim to protect your personal information through a system of organisational and technical security measures. + +We have implemented appropriate technical and organisational security measures designed to protect the security of any personal information we process. +However, despite our safeguards and efforts to secure your information, no electronic transmission over the internet or information storage technology can be guaranteed to be 100% secure, so we cannot promise or guarantee that hackers, cybercriminals, or other unauthorised third parties will not be able to defeat our security and improperly collect, access, steal, or modify your information. +Although we will do our best to protect your personal information, the transmission of personal information to and from our Services is at your own risk. +You should only access the Services within a secure environment. + +## 8. What are your privacy rights? + +!!! tip "In Short" + + We strive to protect your privacy rights and choices to the best possible extent under the law. + +You have rights under certain data protection laws. +However, these rights are not absolute, and in certain cases, we may decline your request as permitted by law. +These rights include: + +- **Right to know** + whether or not we are processing your personal data +- **Right to access** + your personal data +- **Right to correct** + inaccuracies in your personal data +- **Right to request** + the deletion of your personal data +- **Right to obtain a copy** + of the personal data you previously shared with us +- **Right to non-discrimination** + against you for exercising your rights +- **Right to opt-out** + - of the processing of your personal data if it is used for targeted advertising (or sharing as defined under applicable laws), the sale of personal data, or profiling in furtherance of decisions that produce legal or similarly significant effects ('profiling') concerning you + - of the collection of sensitive data and personal data collected through the operation of a voice or facial recognition feature +- **Right to obtain** + - a list of the categories of third parties to which we have disclosed personal data + - a list of specific third parties to which we have disclosed personal data +- **Right to limit** + use and disclosure of sensitive personal data + +### How to exercise your rights + +It is very unlikely that you will be able to exercise the above rights as we do not collect any identifiable personal data from you. + +We are unable to reply to and act on data subject access request as we do not save any identifiable information about you, and we will not be able to verify your identity. + +If you believe we are unlawfully processing your personal information, you can contact the relevant data protection regulator, state attorney general, or other competent authority in your jurisdiction. + +| Residency | Authority | +| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| European Economic Area | [Member State's data protection supervisory authority](https://edpb.europa.eu/about-edpb/board/members_en) | +| United Kingdom | [Information Commissioner's Office](https://ico.org.uk/make-a-complaint/) | +| Australia | [Office of the Australian Information Commissioner](https://www.oaic.gov.au/privacy/privacy-complaints/) | +| New Zealand | [Office of New Zealand Privacy Commissioner](https://www.privacy.org.nz/your-rights/making-a-complaint-to-the-privacy-commissioner/) | +| Canada | [Office of the Privacy Commissioner of Canada](https://www.priv.gc.ca/en/) | +| California of the United States | [California Privacy Protection Agency](https://cppa.ca.gov/webapplications/complaint/) | +| Switzerland | [Federal Data Protection and Information Commissioner](https://www.edoeb.admin.ch/edoeb/en/home/the-fdpic/contact.html) | +| South Africa | [Information Regulator](https://inforegulator.org.za/training/wp/complaints/) | + +#### Withdraw your consent + +If we are relying on your consent to process your personal information, which may be express and/or implied consent depending on the applicable law, you have the right to withdraw your consent at any time. +You can withdraw your consent at any time by clicking the button on the top of this page or the button below: + +[Privacy Control](#__consent){ .md-button } + +However, please note that this will not affect the lawfulness of the processing before its withdrawal nor, when applicable law allows, will it affect the processing of your personal information conducted in reliance on lawful processing grounds other than consent. + +#### Cookies and similar technologies + +Most web browsers are set to accept cookies by default. +If you prefer, you can usually choose to set your browser to remove or reject browser cookies. +Please note that if you choose to remove or reject cookies, this will NOT affect the availability and functionality of our Services. + +## 9. Controls for Do-Not-Track features + +Most web browsers and some mobile operating systems and mobile applications include a Do-Not-Track ('DNT') feature or setting you can activate to signal your privacy preference not to have data about your online browsing activities monitored and collected. +At this stage, no uniform technology standard for recognising and implementing DNT signals has been finalised. +Although we cannot promise to honour every DNT signal, we strive to honour all such requests where technically feasible. + +California law requires us to let you know how we respond to web browser DNT signals. +Because we cannot guarantee to recognise and houour all DNT signals, we do not respond to them at this time. + +## 10. Do residents in certain jurisdiction have specific privacy rights? + +NO. + +All men and women are created equal. + +We provide the same privacy rights to all individuals, regardless of their location. + +Be assured that we will treat you with the same respect and dignity as we would want to be treated. + +## 11. How can you review, update, or delete the data we collect from you? + +It is very unlikely that you will be able to review, update, or delete the data we collect from you as we do not collect any identifiable personal data from you, and we will not be able to identify which data belongs to you. + +## 12. Do we make updates to this notice? + +!!! tip "In Short" + + Yes, we will update this notice as necessary to stay compliant with relevant laws. + +We may update this privacy notice from time to time. +The updated version will be indicated by an updated 'Last Revised Time' at the bottom of this privacy notice. +If we make any material changes, we will notify you by posting the new privacy notice on this page. +We are unable to notify you directly as we do not collect any contact information from you. +We encourage you to review this privacy notice frequently to stay informed of how we are protecting your information. diff --git a/docs/docs/about/privacy.zh.md b/docs/docs/about/privacy.zh.md index adb5edd9..4e816720 100644 --- a/docs/docs/about/privacy.zh.md +++ b/docs/docs/about/privacy.zh.md @@ -1 +1,419 @@ ---8<-- "privacy.zh.md" \ No newline at end of file +!!! warning "翻译" + + 本文内容为机器翻译版本,旨在为用户提供方便。 + 我们已经尽力确保翻译的准确性。 + 但请注意,翻译内容可能包含错误,仅供参考。 + 请以英文[原文](https://multimolecule.danling.org/about/privacy)为准。 + + 为满足合规性与执法要求,翻译文档中的任何不准确或歧义之处均不具有约束力,也不具备法律效力。 + +# 隐私声明 + +本隐私声明适用于丹灵团队(也被称作丹灵)(以下简称“我们”),描述了当您使用我们的服务(“服务”)时,我们如何以及为何可能收集、存储、使用和/或共享(“处理”)您的信息。例如当您: + +- 访问我们的网站 [multimolecule.danling.org](https://multimolecule.danling.org) 或任何链接到本隐私声明的我们的网站时 + +您可以随时通过点击下面的按钮更改您的隐私设置: + +[隐私控制](#__consent){ .md-button } + +**有问题或关注?** +阅读本隐私声明将帮助您了解您的隐私权利和选择。 +如果您不同意我们的声明和做法,请不要使用我们的服务。 +如果您仍有任何问题或关注,请通过[privacy@danling.org](mailto:privacy@danling.org)与我们联系。 + +## 0. 关键点总结 + +本总结提供了我们隐私声明的关键点,但您可以通过点击每个关键点后的链接或使用目录来找到您所查找的部分以了解更多详情。 + +
+ +!!! question "我们处理哪些个人信息?" + + 当您访问、使用或导航我们的服务时,我们可能会根据您与我们以及服务的互动方式、您所做的选择以及您使用的产品和功能来处理个人信息。 + + [:octicons-arrow-right-24: 我们收集哪些信息?](#1) + +!!! question "我们如何处理您的信息?" + + 我们处理您的信息以提供、改善和管理我们的服务,与您沟通,进行安全和防欺诈,以及遵守法律。 + 我们也可能在得到您的同意的情况下,出于其他目的处理您的信息。 + 我们仅在有合法法律理由时处理您的信息。 + + [:octicons-arrow-right-24: 我们如何处理您的信息?](#2) + +!!! question "我们处理任何敏感个人信息吗?" + + 我们不处理任何敏感个人信息。 + +!!! question "我们从第三方收集信息吗?" + + 我们不从第三方收集任何信息。 + +!!! question "在哪些情况下以及与哪些方我们共享个人信息?" + + 我们可能在特定情况下与特定第三方共享信息。 + + [:octicons-arrow-right-24: 我们何时以及与谁共享您的个人信息?](#4) + +!!! question "我们如何保护您的信息安全?" + + 我们已经实施了组织和技术流程和程序来保护您的个人信息。 + + [:octicons-arrow-right-24: 我们如何保持您的信息安全?](#7) + +!!! question "您有哪些权利?" + + 根据您所在地理位置,适用的隐私法可能意味着您对您的个人信息有某些权利。 + + [:octicons-arrow-right-24: 您有哪些隐私权利?](#8) + +!!! question "您如何行使您的权利?" + + 行使您的权利的最简单方式是联系您的司法管辖区的相关数据保护监管机构。 + + [:octicons-arrow-right-24: 如何行使您的权利?](#_5) + +
+ +## 1. 我们收集哪些信息? + +### 您向我们披露的个人信息 + +!!! tip "简而言之" + + 我们收集您向我们提供的个人信息。 + +我们收集您自愿向我们提供的个人信息,当您表达对我们或我们的产品和服务的兴趣、参与服务上的活动或以其他方式联系我们时。 + +!!! danger "敏感个人信息" + + 我们不从您那里收集任何敏感个人信息。 + +### 自动收集的信息 + +!!! tip "简而言之" + + 当您访问我们的服务时,某些信息——如IP地址和/或浏览器和设备特征——会自动被收集。 + +我们在您访问、使用或导航我们的服务时自动收集某些信息。 +这些信息不会透露您的特定身份(如您的姓名或联系信息),但可能包括设备和使用信息,如您的IP地址、浏览器和设备特性、操作系统、语言偏好、引用URL、设备名称、国家、位置、有关您如何以及何时使用我们的服务的信息,以及其他技术信息。 +这些信息主要是为了维护我们服务的安全性和运作所需,以及我们内部的分析和报告目的。 + +像许多企业一样,我们还通过cookies和类似技术收集信息。 + +我们收集的信息包括: + +- **标识符。** + 标识符是当您使用我们的服务时,我们生成的特定于设备和浏览器的唯一随机字符串。 + 该标识符存储在您设备上的一个cookie中,使我们能够在多个会话中以及您返回我们的服务时识别您。 + 注意这个标识符不包含任何关于您的个人信息,并且是特定于您的设备和浏览器的,这意味着它不能用于在不同设备或浏览器之间跟踪您。 + 您可以通过清除浏览器缓存随时删除此cookie。 +- **日志和使用数据。** + 日志和使用数据是与服务相关的、诊断、使用和性能信息,当您访问或使用我们的服务时我们的服务器会自动收集,并记录在日志文件中。 + 根据您与我们的互动方式,这些日志数据可能包括您的IP地址、设备信息、浏览器类型和设置,以及有关您在服务中的活动的信息(如与您使用相关的日期/时间戳、浏览和查看的页面和文件、搜索以及您采取的其他操作,例如您使用的功能),设备事件信息(如系统活动、错误报告(有时称为'崩溃转储')和硬件设置)。 +- **设备数据。** + 我们收集设备数据,如您用于访问服务的计算机、电话、平板或其他设备的信息。 + 根据所使用的设备,这些设备数据可能包括如下信息:您的IP地址(或代理服务器)、设备和应用程序识别号、位置、浏览器类型、硬件型号、互联网服务提供商和/或移动运营商、操作系统和系统配置信息。 +- **位置数据。** + 我们收集位置数据,如您设备的位置信息,这可以是精确的也可以是不精确的。 + 我们收集多少信息取决于您用于访问服务的设备的类型和设置。 + 例如,我们可能使用GPS和其他技术来收集地理位置数据,告诉我们您当前的位置(基于您的IP地址)。 + 您可以选择不让我们收集此信息,方法是拒绝访问信息或在您的设备上禁用位置设置。 + +### 我们收集的个人信息类别 + +过去十二(12)个月内,我们收集了以下类别的个人信息: + +| 类别 | 示例 | 已收集 | +|-------------------------|-----------------------------------------------------------------|-------| +| A. 标识符 | 联系方式,如真实姓名、别名、邮政地址、电话或移动联系号码、独特的个人标识符、在线标识符、互联网协议地址、电子邮件地址和帐户名称 | 是 | +| B. 加利福尼亚客户记录法中定义的个人信息 | 姓名、联系信息、教育、就业、就业历史和财务信息 | 否 | +| C. 州或联邦法律下的受保护分类特征 | 性别、年龄、出生日期、种族和民族、国籍、婚姻状况和其他人口统计数据 | 否 | +| D. 商业信息 | 交易信息、购买历史、财务详细信息和支付信息 | 否 | +| E. 生物识别信息 | 指纹和声纹 | 否 | +| F. 互联网或其他类似网络活动 | 浏览历史、搜索历史、在线行为、兴趣数据和与我们和其他网站、应用程序、系统和广告的互动 | 是 | +| G. 地理位置数据 | 设备位置 | 是 | +| H. 音频、电子、感觉或类似信息 | 在我们的业务活动中创建的图像和音频、视频或通话录音 | 否 | +| I. 与职业相关的信息 | 为了在业务层面提供我们的服务而收集的商业联系信息或职务名称、工作历史和职业资格 | 否 | +| J. 教育信息 | 学生记录和目录信息 | 否 | +| K. 从收集的个人信息中推断出的推论 | 从上述任何收集的个人信息中推断出的用于创建个人偏好和特征的概况或摘要 | 是 | +| L. 敏感个人信息 | | 否 | + +我们还可能在您与我们亲自、在线或通过电话或邮件与我们互动的情况下收集其他个人信息,包括: + +- 通过我们的客户支持渠道获得帮助; +- 参与客户调查或竞赛;以及 +- 促进我们服务的交付并回应您的查询。 + +我们将根据需要在以下期限内使用和保留所收集的个人信息,以便为您提供我们的服务,并根据需要遵守我们的法律义务、解决争议和执行我们的协议: + +- A 类:24个月 +- F 类:24个月 +- G 类:24个月 +- K 类:24个月 + +## 2. 我们如何处理您的信息? + +!!! tip "简而言之" + + 我们处理您的信息以提供、改善和管理我们的服务,与您沟通,进行安全和防欺诈,以及遵守法律。 + 我们也可能在得到您的同意的情况下,出于其他目的处理您的信息。 + +我们出于多种原因处理您的个人信息,这取决于您如何与我们的服务互动,包括: + +- **保护我们的服务。** + 我们可能会处理您的信息作为我们保持服务安全的努力的一部分,包括监控和预防欺诈。 +- **识别用户趋势。** + 我们可能会处理有关您如何使用我们的服务的信息,以更好地了解它们的使用情况,从而改进它们。 +- **保存或保护个人的重要利益。** + 我们可能会在必要时处理您的信息,以保存或保护个人的重要利益,例如为了防止伤害。 + +## 3. 我们处理您的信息有什么法律依据? + +!!! tip "简而言之" + + 我们只有在我们认为必要且有有效的法律理由(即法律依据)时才处理您的个人信息,如与您的同意、遵守法律、提供服务给您进入或履行我们的合同义务、保护您的权利或满足我们合法的业务利益。 + +欧盟通用数据保护条例(GDPR)和英国GDPR要求我们解释我们依靠的有效法律依据以处理您的个人信息。 +因此,我们可能依赖以下法律依据来处理您的个人信息: + +- **同意。** + 如果您已给我们明确同意使用您的个人信息用于某个特定目的,我们可能会处理您的个人信息。 + 您有权随时撤回您的同意。 + 了解更多关于[撤回您的同意]()。 +- **合法利益。** + 当我们认为出于我们合法的业务利益来处理您的信息是合理必要的,并且这些利益不超过您的利益和基本权利与自由时,我们可能会处理您的信息。 + 例如,我们可能会处理您的个人信息,用于: + - 分析我们的服务如何被使用,以便我们可以改进它们以吸引和保留用户 + - 诊断问题和/或预防欺诈活动 +- **法律义务。** + 我们可能会在我们认为必须遵守我们的法律义务的情况下处理您的信息,例如与执法机构或监管机构合作、行使或捍卫我们的法律权利,或在我们参与的诉讼中披露您的信息作为证据。 +- **重要利益。** + 我们可能会在我们认为必须保护您或第三方的重要利益的情况下处理您的信息,例如涉及潜在威胁任何人的安全的情况。 + +!!! info "在加拿大处理的同意" + + 如果您位于加拿大,我们可能在适用法律下在某些特殊情况下无需您的同意就可以合法地处理您的信息,包括例如: + + - 如果收集明显符合个人的利益且无法及时获得同意 + - 用于调查和欺诈检测与预防 + - 用于商业交易,前提是满足某些条件 + - 如果信息包含在证人声明中,且收集对于评估、处理或解决保险索赔是必要的 + - 用于识别受伤、生病或已故人士并与近亲沟通 + - 如果我们有合理的理由相信某个人已经、正在或可能成为金融滥用的受害者 + - 如果合理预期通过征得同意以收集和使用信息会损害信息的可用性或准确性,并且收集对于调查违反协议或违反加拿大或省法律的目的是合理的 + - 如果披露是为了遵守传票、搜查令、法院命令或与记录生产相关的法院规则 + - 如果信息是由个人在其就业、业务或专业过程中产生的,并且收集与信息产生的目的一致 + - 如果收集仅用于新闻、艺术或文学目的 + - 如果信息是公开可用的,并且通过规定指定 + +## 4. 我们何时以及与谁共享您的个人信息? + +!!! tip "简而言之" + + 我们可能在本节描述的特定情况下和/或与以下第三方共享信息。 + +我们可能会将您的个人信息用于我们的业务目的,如进行内部研究以进行技术开发和展示。 +这不被视为“出售”您的个人信息。 + +**供应商、顾问和其他第三方服务提供商。** +我们可能会与为我们服务或代表我们工作并需要访问此类信息以执行该工作的第三方供应商、服务提供商、承包商或代理(“第三方”)共享您的数据。 +我们与我们的第三方签订了合同,这些合同旨在帮助保护您的个人信息。 +这意味着他们不能在未经我们指示的情况下做任何事情。 +他们也不会与我们以外的任何组织共享您的个人信息。 +他们还承诺保护他们代表我们持有的数据并按照我们的指示保留该数据。 + +我们可能共享个人信息的第三方如下: + +- **广告、直销和潜在客户生成** + - Google AdSense +- **云计算服务** + - Microsoft Azure + - Amazon Web Services (AWS) + - Google Cloud Platform (GCP) +- **通信和内容交付网络 (CDN) 服务** + - Cloudflare +- **内容优化** + - Google站点搜索 + - Google字体 +- **功能和基础设施优化** + - GitHub页面 +- **用户评论和论坛** + - Disqus + - GitHub议题 + - GitHub讨论 +- **网络和移动分析** + - Google Analytics + +我们还可能需要在以下情况下共享您的个人信息: + +- **业务转移。** + 我们可能在进行任何并购、出售公司资产、融资或收购我们全部或部分业务的谈判中共享或转让您的信息。 + +!!! info "过去十二(12)个月我们出于业务目的披露了以下类别的个人信息:" + + 无 + +!!! info "过去十二(12)个月我们出售个人信息的第三方类别:" + + 无 + +!!! info "过去十二(12)个月我们与之共享个人信息的第三方类别:" + + - **网络和移动分析** + - Google Analytics + +## 5. 我们是否使用cookies和其他跟踪技术? + +!!! tip "简而言之" + + 我们可能使用cookies和其他跟踪技术来收集和存储您的信息。 + +我们还允许第三方和服务提供商在我们的服务中使用在线跟踪技术用于分析和广告,包括帮助管理和展示广告,根据您的兴趣定制广告,或发送遗弃购物车提醒(取决于您的沟通偏好)。 +这些第三方和服务提供商使用他们的技术为您提供定制的产品和服务广告,这些广告可能出现在我们的服务或其他网站上。 + +在适用的美国州法律下,这些在线跟踪技术被视为“销售”/“分享”(包括目标广告,根据适用法律定义)的程度,您可以通过点击本页顶部或下面的按钮来选择退出这些在线跟踪技术: + +[隐私控制](#__consent){ .md-button } + + + +### Google Analytics + +我们可能会与Google Analytics共享您的信息,以跟踪和分析服务的使用情况。 +我们可能使用的Google Analytics广告功能包括: + +- Google Analytics的再营销 +- Google Display Network印象报告 +- Google Analytics人口统计和兴趣报告 + +要选择退出在服务中通过Google Analytics跟踪您,请访问[https://tools.google.com/dlpage/gaoptout](https://tools.google.com/dlpage/gaoptout)。 + +您可以通过[广告设置](https://adssettings.google.com)和移动应用的广告设置来选择退出Google Analytics广告功能。 + +其他退出方式包括[http://optout.networkadvertising.org/](http://optout.networkadvertising.org/)和[http://www.networkadvertising.org/mobile-choice](http://www.networkadvertising.org/mobile-choice)。 + +有关Google隐私做法的更多信息,请访问[Google隐私与条款](https://policies.google.com/privacy)。 + +## 6. 我们保留您的信息多久? + +!!! tip "简而言之" + + 我们将根据本隐私声明中概述的目的保留您的信息,除非法律另有要求。 + +我们只会在本隐私声明中概述的目的所需的时间内保留您的个人信息,除非法律要求或允许更长的保留期(如税务、会计或其他法律要求)。 + +当我们没有持续的合法业务需要处理您的个人信息时,我们将删除或匿名化它,或者,如果这不可能(例如,因为您的个人信息已存储在备份档案中),那么我们将安全地存储您的个人信息并将其与任何进一步处理隔离,直到删除成为可能。 + +## 7. 我们如何保持您的信息安全? + +!!! tip "简而言之" + + 我们旨在通过一系列组织和技术安全措施保护您的个人信息。 + +我们已实施适当的技术和组织安全措施,旨在保护我们处理的任何个人信息的安全。 +然而,尽管我们采取了保障措施并努力确保您的信息安全,任何通过互联网的电子传输或信息存储技术都无法保证是100%安全的,因此我们无法承诺或保证黑客、网络犯罪分子或其他未经授权的第三方不会破坏我们的安全措施并不当地收集、访问、窃取或修改您的信息。 +尽管我们将尽最大努力保护您的个人信息,个人信息到我们服务的传输和从我们服务的传输仍然是您自己的风险。 +您应该只在安全的环境中访问服务。 + +## 8. 您有哪些隐私权利? + +!!! tip "简而言之" + + 我们努力在法律允许的最大范围内保护您的隐私权利和选择。 + +您在某些数据保护法下有权利。 +然而,这些权利不是绝对的,在某些情况下,我们可能会根据法律拒绝您的请求。 +这些权利包括: + +- **知情权** + 我们是否正在处理您的个人数据 +- **访问权** + 您的个人数据 +- **更正权** + 您的个人数据中的不准确信息 +- **请求删除权** + 您的个人数据 +- **获取副本权** + 您以前与我们共享的个人数据 +- **反歧视权** + 针对您行使您的权利 +- **选择退出权** + - 如果您的个人数据用于目标广告(或根据适用法律定义的“分享”),个人数据的销售,或促进对您产生法律或类似重大效果的决策(“分析”)的分析 + - 收集通过语音或面部识别功能操作收集的敏感数据和个人数据 +- **获取权** + - 向我们披露个人数据的第三方类别的列表 + - 向我们披露个人数据的特定第三方的列表 +- **限制使用和披露权** + 敏感个人数据 + +### 如何行使您的权利 + +您几乎不可能行使上述权利,因为我们不从您那里收集任何可识别的个人数据。 + +我们无法回复和采取数据主体访问请求,因为我们不保存任何可识别的关于您的信息,我们将无法验证您的身份。 + +如果您认为我们非法处理您的个人信息,您可以联系您所在管辖区的相关数据保护监管机构、州总检察长或其他有权机构。 + +| 居住地 | 机构 | +|-------------------|------------------------------------------------------------------------------------------------------| +| 欧洲经济区 | [成员国的数据保护监督机构](https://edpb.europa.eu/about-edpb/board/members_en) | +| 英国 | [信息专员办公室](https://ico.org.uk/make-a-complaint/) | +| 澳大利亚 | [澳大利亚信息专员办公室](https://www.oaic.gov.au/privacy/privacy-complaints/) | +| 新西兰 | [新西兰隐私专员办公室](https://www.privacy.org.nz/your-rights/making-a-complaint-to-the-privacy-commissioner/) | +| 加拿大 | [加拿大隐私专员办公室](https://www.priv.gc.ca/en/) | +| 美国加利福尼亚州 | [加利福尼亚隐私保护机构](https://cppa.ca.gov/webapplications/complaint/) | +| 瑞士 | [联邦数据保护和信息专员](https://www.edoeb.admin.ch/edoeb/en/home/the-fdpic/contact.html) | +| 南非 | [信息监管机构](https://inforegulator.org.za/training/wp/complaints/) | + + +#### 撤回您的同意 + +如果我们依赖您的同意来处理您的个人信息,这可能是明确的和/或暗示的同意,取决于适用法律,您有权随时撤回您的同意。 +您可以通过点击本页顶部或下面的按钮随时撤回您的同意: + +[隐私控制](#__consent){ .md-button } + +然而,请注意,这不会影响撤回之前的处理的合法性,也不会影响当适用法律允许时,基于除同意之外的合法处理理由进行的您的个人信息的处理。 + +#### Cookies和类似技术 + +大多数网络浏览器默认设置为接受cookies。 +如果您愿意,您通常可以选择设置您的浏览器以删除或拒绝浏览器cookies。 +请注意,如果您选择删除或拒绝cookies,这将不会影响我们服务的可用性和功能。 + +## 9. 不追踪功能的控制 + +大多数网络浏览器和一些移动操作系统和移动应用程序包括一个您可以激活的不追踪(“DNT”)功能或设置,以表达您的隐私偏好,不希望有关您的在线浏览活动的数据被监控和收集。 +到目前为止,还没有为识别和实施DNT信号制定统一的技术标准。 +虽然我们不能承诺尊重每一个DNT信号,我们力求尊重所有在技术上可行的此类请求。 + +加利福尼亚法律要求我们告诉您我们如何响应网络浏览器的DNT信号。 +由于我们不能保证识别和尊重所有DNT信号,我们目前不对它们做出响应。 + +## 10. 某些管辖区的居民是否有特定的隐私权利? + +否。 + +所有男女生而平等。 + +我们向所有个人提供相同的隐私权利,无论他们的位置如何。 + +请放心,我们将以我们希望被对待的相同的尊重和尊严对待您。 + +## 11. 您如何查看、更新或删除我们收集的数据? + +您几乎不可能查看、更新或删除我们收集的数据,因为我们不从您那里收集任何可识别的个人数据,也无法确定哪些数据是属于您的。 + +## 12. 我们是否会更新此声明? + +!!! tip "简而言之" + + 是的,我们将根据需要更新此声明以保持与相关法律的一致。 + +我们可能会不时更新此隐私声明。 +更新后的版本将通过更新本页面底部的“最后修订时间”来表示。 +如果我们进行任何重大更改,我们将通过在本页发布新的隐私声明来通知您。 +由于我们不收集您的任何联系信息,我们无法直接通知您。 +我们鼓励您经常查看本隐私声明,以了解我们如何保护您的信息。 diff --git a/docs/docs/index.md b/docs/docs/index.md index a08d9e5c..bd3cc4ea 100644 --- a/docs/docs/index.md +++ b/docs/docs/index.md @@ -7,4 +7,4 @@ date: 2022-05-04 # MultiMolecule ---8<-- "README.md" +--8<-- "README.md:1:" diff --git a/docs/docs/index.zh.md b/docs/docs/index.zh.md index 884b7d1b..249dedd2 100644 --- a/docs/docs/index.zh.md +++ b/docs/docs/index.zh.md @@ -7,4 +7,4 @@ date: 2022-05-04 # MultiMolecule ---8<-- "README.zh.md" +--8<-- "README.zh.md:1:" diff --git a/docs/docs/license-faq.md b/docs/docs/license-faq.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/docs/license-faq.zh.md b/docs/docs/license-faq.zh.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/docs/license.md b/docs/docs/license.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/docs/license.zh.md b/docs/docs/license.zh.md new file mode 100644 index 00000000..e69de29b diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 93d53a45..67a94e72 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -186,6 +186,10 @@ markdown_extensions: permalink: true plugins: + - redirects: + redirect_maps: + 'license.md': 'about/license.md' + 'license-faq.md': 'about/license-faq.md' - git-committers - mkdocstrings: handlers: diff --git a/docs/requirements.txt b/docs/requirements.txt index ab3b07b5..9215cd52 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -10,6 +10,7 @@ mkdocs-git-revision-date-localized-plugin mkdocs-literate-nav mkdocs-material mkdocs-material-extensions-2 +mkdocs-redirects mkdocs-rss-plugin mkdocs-section-index mkdocs-static-i18n diff --git a/license-faq.md b/license-faq.md new file mode 100644 index 00000000..ae9a48b2 --- /dev/null +++ b/license-faq.md @@ -0,0 +1,148 @@ +# License FAQ + +This License FAQ elucidates the terms and conditions governing the use of data, models, code, configurations, documentation, and weights provided by the DanLing Team (also known as DanLing) ("we," "us," or "our"). It serves as an addendum to our [License](license.md). + +## 0. Summary of Key Points + +This summary highlights the key aspects of our license. For more detailed information, please refer to the corresponding sections below or read the full [License](license.md). + +
+ +!!! question "What constitutes the 'source code' in MultiMolecule?" + + The source code in MultiMolecule includes all materials necessary for training the models, such as data, code, configuration files, documentation, and research papers. Model weights are considered object code. + + [:octicons-arrow-right-24: What constitutes the 'source code' in MultiMolecule?](#1-what-constitutes-the-source-code-in-multimolecule) + +!!! question "Am I required to open-source my fine-tuned model weights?" + + Yes, any fine-tuned model weights derived from MultiMolecule's pre-trained models must be open-sourced under the AGPL 3.0 license. + + [:octicons-arrow-right-24: Am I required to open-source my fine-tuned model weights?](#2-am-i-required-to-open-source-my-fine-tuned-model-weights) + +!!! question "Can I publish research papers using MultiMolecule?" + + Yes, under specific conditions outlined in the [License](license.md). Publishing in open access venues is permitted, while publishing in closed access venues requires a separate license. + + [:octicons-arrow-right-24: Can I publish research papers using MultiMolecule?](#3-can-i-publish-research-papers-using-multimolecule) + +!!! question "Can I use MultiMolecule for commercial purposes?" + + Yes, under the terms of the [License](license.md). Commercial use is permitted, but certain conditions apply regarding the modification and redistribution of the source code. + + [:octicons-arrow-right-24: Can I use MultiMolecule for commercial purposes?](#4-can-i-use-multimolecule-for-commercial-purposes) + +!!! question "Do people affiliated with certain organizations have specific license terms?" + + Yes, individuals affiliated with specific organizations may be subject to unique licensing terms as detailed in the [License](license.md). + + [:octicons-arrow-right-24: Do people affiliated with certain organizations have specific license terms?](#5-do-people-affiliated-with-certain-organizations-have-specific-license-terms) + +
+ +## 1. What constitutes the "source code" in MultiMolecule? + +In the context of MultiMolecule, "source code" refers to all materials necessary for training and developing the models. This includes: + +- **Data**: Datasets used for training and evaluating the models. +- **Code**: All scripts, programs, and utilities required for model training, evaluation, and deployment. +- **Configuration**: Configuration files and settings that dictate the behavior of the models and training processes. +- **Documentation**: Manuals, guides, and other forms of documentation that facilitate understanding and using the software. +- **Research Papers**: Manuscripts and publications that describe the methodologies and findings related to MultiMolecule. + +Conversely, the **model weights** generated from the training process are considered "object code." + +This distinction ensures that all necessary components for training and modifying the models remain accessible, while the trained model weights are treated as object code, aligning with our commitment to providing maximum freedom for the community. + +## 2. Am I required to open-source my fine-tuned model weights? + +Yes, if you utilize a pre-trained model from MultiMolecule's model hub and subsequently fine-tune it, you are required to open-source your modified model weights under the [GNU Affero General Public License (AGPL) version 3.0](https://www.gnu.org/licenses/agpl-3.0.en.html). This ensures that any enhancements or modifications remain freely available to the community, fostering collaboration and continuous improvement. + +### **Conditions:** + +- **Distribution of Modified Weights**: Upon distributing or deploying your fine-tuned model, you must make the corresponding model weights available under the same AGPL-3.0 license. + +- **Accessibility**: The open-sourced model weights should be accessible in a manner consistent with AGPL-3.0 requirements, ensuring that recipients can obtain and modify the weights as permitted by the license. + +- **Compliance with AGPL-3.0**: All other terms and conditions of the [License](license.md) and AGPL-3.0 must be adhered to when distributing fine-tuned model weights. + +### **Exceptions:** + +- **Separate Licensing**: If you wish to fine-tune and distribute model weights without open-sourcing them, you must obtain a separate license from us. This typically involves: + - A licensing fee to support the project. + + For more information or to discuss your licensing needs, please contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai). + +### **Rationale:** + +By enforcing the open-sourcing of fine-tuned model weights, we ensure that improvements and modifications benefit the entire community, maintaining the collaborative spirit of open-source development and preventing proprietary forks that could fragment the project's ecosystem. + +## 3. Can I publish research papers using MultiMolecule? + +Yes, you can publish research papers using MultiMolecule, subject to the following conditions outlined in the [License](license.md): + +- **Open Access Publications**: You are permitted to publish research papers in fully open access journals, conferences, or preprint servers that do not charge publication fees, provided that: + - All published manuscripts are made available under the [GNU Free Documentation License (GFDL)](https://www.gnu.org/licenses/fdl.html), a [Creative Commons license](https://creativecommons.org/licenses/), or an [OSI-approved license](https://opensource.org/licenses) that permits the sharing of manuscripts. + - This permission is granted as a special exemption under Section 7 of the [License](license.md). + +- **Non-Profit Venues**: You may also publish in certain non-profit journals, conferences, or preprint servers, specifically including: + - [All journals published by the American Association for the Advancement of Science (AAAS)](https://www.aaas.org/journals) + - [eLife](https://elifesciences.org) + +- **Closed Access Publications**: Publishing research papers in closed access journals or conferences is not covered by the aforementioned exemptions. To do so, you must obtain a separate license from us. This typically involves: + - Co-authorship with the DanLing Team. + - A fee to support the project. + + For more information, please contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai). + +- **Citation**: While not mandatory, we recommend citing the MultiMolecule project in your research papers to acknowledge our contributions. + +## 4. Can I use MultiMolecule for commercial purposes? + +Yes, MultiMolecule may be used for commercial purposes under the terms of the [License](license.md), subject to the following conditions: + +- **Compliance with the License**: When using MultiMolecule commercially, you must adhere to all terms outlined in the [License](license.md), which includes: + - Open-sourcing any modifications to the source code. + - Distributing modified versions under the same [License](license.md). + +- **Alternative Licensing for Proprietary Use**: If you prefer to use MultiMolecule commercially without open-sourcing your modifications, you must obtain a separate license from us. This typically involves: + - A licensing fee to support the project. + + For further details and to discuss your licensing needs, please contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai). + +## 5. Do people affiliated with certain organizations have specific license terms? + +Yes, individuals affiliated with specific organizations may be subject to distinct licensing terms as detailed in the [License](license.md). The following organizations automatically receive a non-transferable, non-sublicensable, and non-distributable [MIT License](https://mit-license.org/) to use MultiMolecule: + +- [Microsoft Research AI for Science](https://www.microsoft.com/en-us/research/lab/microsoft-research-ai-for-science/) +- [DP Technology](https://dp.tech/) + +This special license is considered an additional term under Section 7 of the [License](license.md). Key points include: + +- **Non-Redistributable**: The MIT License granted to members of these organizations is non-transferable and non-sublicensable. +- **No Independent Derivative Works**: You are prohibited from creating independent derivative works based on this license. +- **Compliance with the AGPL License**: Any modifications or derivative works based on this license are automatically considered derivative works of MultiMolecule and must comply with all terms of the [License](license.md). This ensures that third parties cannot circumvent the license terms or establish separate licenses through derivative works. + +If you are affiliated with an organization not listed above, please consult your organization's legal department to determine if you are subject to a separate license agreement with us. + +## 6. How can I use MultiMolecule if my organization forbids the use of code under the AGPL License? + +Certain organizations, such as [Google](https://opensource.google/documentation/reference/using/agpl-policy), prohibit the use of AGPL-licensed code. If you are affiliated with an organization that disallows the use of AGPL-licensed software, you must obtain a separate license from us to use MultiMolecule. + +To request a separate license, please contact us at [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai). + +## 7. Can I use MultiMolecule if I am a federal employee of the United States Government? + +No, federal employees of the United States Government cannot use MultiMolecule under the [License](license.md) because code authored by U.S. federal employees is not protected by copyright under [17 U.S. Code § 105](https://www.law.cornell.edu/uscode/text/17/105). + +As a result, federal employees are unable to comply with the terms of the [License](license.md) and, therefore, cannot use MultiMolecule. + +## 8. Do we make updates to this FAQ? + +!!! tip "In Short" + + Yes, we will update this FAQ as necessary to remain compliant with relevant laws. + +We may update this License FAQ periodically to reflect changes in the [License](license.md) or to address new legal requirements. The most recent version will be indicated by an updated "Last Revised Time" at the bottom of this document. If we make any significant changes, we will notify users by posting the updated License FAQ on this page. + +Please note that we do not collect contact information; therefore, we are unable to notify you directly of updates. We encourage you to review this License FAQ regularly to stay informed about how you can use our data, models, code, configurations, documentation, and weights. diff --git a/license-faq.zh.md b/license-faq.zh.md new file mode 100644 index 00000000..ba67c5b9 --- /dev/null +++ b/license-faq.zh.md @@ -0,0 +1,157 @@ +!!! warning "翻译" + + 本文内容为翻译版本,旨在为用户提供方便。 + 我们已经尽力确保翻译的准确性。 + 但请注意,翻译内容可能包含错误,仅供参考。 + 请以英文[原文](license-faq.md)为准。 + + 为满足合规性与执法要求,翻译文档中的任何不准确或歧义之处均不具有约束力,也不具备法律效力。 + +# 许可协议常见问题解答 + +本许可常见问题解释了DanLing团队(亦称为DanLing)("我们"、"我们"或"我们的")提供的数据、模型、代码、配置、文档和权重的使用条款和条件。它作为我们的[许可协议](license.md)的附录。 + +## 0. 关键要点摘要 + +本摘要突出显示了我们许可协议的关键方面。有关更详细的信息,请参阅下面的相应章节或阅读完整的[许可协议](license.md)。 + +
+ +!!! question "MultiMolecule中的“源代码”包括哪些内容?" + + MultiMolecule中的源代码包括训练模型所需的所有材料,如数据、代码、配置文件、文档和研究论文。模型权重被视为目标代码。 + + [:octicons-arrow-right-24: MultiMolecule中的“源代码”包括哪些内容?](#1-multimolecule中的源代码包括哪些内容) + +!!! question "我需要开源我微调后的模型权重吗?" + + 是的,任何使用MultiMolecule的预训练模型并随后进行微调的模型权重必须在AGPL 3.0许可下开源。 + + [:octicons-arrow-right-24: 我需要开源我微调后的模型权重吗?](#2-我需要开源我微调后的模型权重吗) + +!!! question "我可以使用MultiMolecule发表研究论文吗?" + + 可以,在[许可协议](license.md)中规定的特定条件下。允许在开放获取的期刊发布论文,而在封闭获取的期刊发布则需要单独的许可。 + + [:octicons-arrow-right-24: 我可以使用MultiMolecule发表研究论文吗?](#3-我可以使用multimolecule发表研究论文吗) + +!!! question "我可以将MultiMolecule用于商业目的吗?" + + 可以,在[许可协议](license.md)的条款下允许商业用途,但在修改和重新分发源代码时需遵守特定条件。 + + [:octicons-arrow-right-24: 我可以将MultiMolecule用于商业目的吗?](#4-我可以将multimolecule用于商业目的吗) + +!!! question "与特定组织相关联的人是否有特定的许可条款?" + + 是的,与特定组织相关联的个人可能需要遵守[许可协议](license.md)中详细说明的独特许可条款。 + + [:octicons-arrow-right-24: 与特定组织相关联的人是否有特定的许可条款?](#5-与特定组织相关联的人是否有特定的许可条款) + +
+ +## 1. MultiMolecule中的“源代码”包括哪些内容? + +在MultiMolecule的上下文中,“源代码”指的是训练和开发模型所需的所有材料。这包括: + +- **数据**:用于训练和评估模型的数据集。 +- **代码**:所有用于模型训练、评估和部署的脚本、程序和工具。 +- **配置**:配置文件和设置,这些文件和设置决定了模型和训练过程的行为。 +- **文档**:手册、指南以及其他有助于理解和使用软件的文档形式。 +- **研究论文**:描述与MultiMolecule相关的方法和发现的手稿和出版物。 + +相反,训练过程中生成的**模型权重**被视为“目标代码”。 + +这种区分确保了训练和修改模型所需的所有必要组件都是可访问的,而训练后的模型权重则被视为目标代码,这与我们为社区提供最大自由度的承诺一致。 + +## 2. 我需要开源我微调后的模型权重吗? + +是的,如果您使用MultiMolecule的预训练模型并随后对其进行微调,您需要根据[GNU Affero 通用公共许可证 (AGPL) 第3版](https://www.gnu.org/licenses/agpl-3.0.en.html)开源您的修改后的模型权重。这确保了任何改进或修改都能免费供社区使用,促进协作和持续改进。 + +### **条件:** + +- **修改后权重的分发**:在分发或部署您的微调模型时,您必须在相同的AGPL-3.0许可下提供相应的模型权重。 + +- **可访问性**:开源的模型权重应以符合AGPL-3.0要求的方式提供,确保接收者可以根据许可获取和修改权重。 + +- **遵守AGPL-3.0**:在分发微调后的模型权重时,必须遵守[许可协议](license.md)和AGPL-3.0的所有其他条款和条件。 + +### **例外情况:** + +- **单独许可**:如果您希望在不开源微调后的模型权重的情况下微调和分发模型权重,您必须从我们这里获得单独的许可。这通常涉及: + - 支持项目的许可费用。 + + 有关更多信息或讨论您的许可需求,请通过[电子邮件](mailto:multimolecule@zyc.ai)与我们联系。 + +### **理由:** + +通过强制开源微调后的模型权重,我们确保改进和修改能惠及整个社区,保持开源开发的协作精神,防止专有分支导致项目生态系统的碎片化。 + +## 3. 我可以使用MultiMolecule发表研究论文吗? + +是的,您可以在[许可协议](license.md)中规定的以下条件下使用MultiMolecule发表研究论文: + +- **开放获取出版物**:您可以在完全开放获取的期刊、会议或不收取发表费用的预印本服务器上发表研究论文,前提是: + - 所有发表的手稿都必须根据[GNU 免费文档许可证 (GFDL)](https://www.gnu.org/licenses/fdl.html)、[创作共用许可证](https://creativecommons.org/licenses/)或[开放源代码倡议批准的许可证](https://opensource.org/licenses)分享手稿。 + - 此许可作为[许可协议](license.md)第7节的特别豁免授予。 + +- **非营利性场所**:您还可以在某些非营利性期刊、会议或预印本服务器上发表,具体包括: + - [美国科学促进会 (AAAS) 发布的所有期刊](https://www.aaas.org/journals) + - [eLife](https://elifesciences.org) + +- **封闭获取出版物**:在封闭获取的期刊或会议上发表研究论文不在上述豁免范围内。要在这些场所发表,您必须获得我们的单独许可。这通常涉及: + - 与DanLing团队的共同作者身份。 + - 支持项目的费用。 + + 有关更多信息,请通过[电子邮件](mailto:multimolecule@zyc.ai)与我们联系。 + +- **引用**:虽然不是强制性的,我们建议在您的研究论文中引用MultiMolecule项目,以表彰我们的贡献。 + +## 4. 我可以将MultiMolecule用于商业目的吗? + +是的,您可以根据[许可协议](license.md)的条款将MultiMolecule用于商业目的,需遵守以下条件: + +- **遵守许可协议**:在商业使用MultiMolecule时,您必须遵守[许可协议](license.md)中规定的所有条款,包括: + - 开源任何对源代码的修改。 + - 在相同的[许可协议](license.md)下分发修改后的版本。 + +- **专有用途的替代许可**:如果您希望在不开源修改的情况下将MultiMolecule用于商业目的,您必须从我们这里获得单独的许可。这通常涉及: + - 支持项目的许可费用。 + + 有关进一步的详细信息和讨论您的许可需求,请通过[电子邮件](mailto:multimolecule@zyc.ai)与我们联系。 + +## 5. 与特定组织相关联的人是否有特定的许可条款? + +是的,与特定组织相关联的个人可能需要遵守[许可协议](license.md)中详细说明的独特许可条款。以下组织的成员自动获得非转让、不可再许可和不可分发的[MIT 许可](https://mit-license.org/)以使用MultiMolecule: + +- [微软研究院 AI for Science](https://www.microsoft.com/en-us/research/lab/microsoft-research-ai-for-science/) +- [DP Technology](https://dp.tech/) + +此特殊许可被视为[许可协议](license.md)第7节的附加条款。主要要点包括: + +- **不可再分发**:授予这些组织成员的MIT许可是不可转让和不可再许可的。 +- **禁止独立派生作品**:您被禁止基于此许可创建独立的派生作品。 +- **遵守AGPL许可**:基于此许可的任何修改或派生作品自动被视为MultiMolecule的派生作品,必须遵守[许可协议](license.md)的所有条款。这确保了第三方无法绕过许可条款或通过派生作品建立单独的许可。 + +如果您与上述未列出的组织相关联,请咨询您组织的法律部门,以确定您是否需遵守与我们签订的单独许可协议。 + +## 6. 如果我的组织禁止使用AGPL许可的代码,我该如何使用MultiMolecule? + +某些组织,如[谷歌](https://opensource.google/documentation/reference/using/agpl-policy),禁止使用AGPL许可的代码。如果您隶属于禁止使用AGPL许可软件的组织,您必须从我们这里获得单独的许可才能使用MultiMolecule。 + +要申请单独的许可,请通过[电子邮件](mailto:multimolecule@zyc.ai)与我们联系。 + +## 7. 我是美国联邦政府的联邦雇员,我可以使用MultiMolecule吗? + +不可以,美国联邦政府的联邦雇员无法根据[许可协议](license.md)使用MultiMolecule,因为根据[17 U.S. Code § 105](https://www.law.cornell.edu/uscode/text/17/105)规定,由美国联邦雇员撰写的代码不受版权保护。 + +因此,联邦雇员无法遵守[许可协议](license.md)的条款,因此无法使用MultiMolecule。 + +## 8. 我们会更新此常见问题吗? + +!!! tip "简而言之" + + 是的,我们将根据相关法律的要求必要时更新此常见问题。 + +我们可能会定期更新本许可常见问题,以反映[许可协议](license.md)的更改或应对新的法律要求。最新版本将在本文档底部的“最后修订时间”中显示。如果我们进行任何重大更改,我们将通过在此页面上发布更新后的许可常见问题来通知用户。 + +请注意,我们不收集联系信息,因此无法直接通知您更新。我们鼓励您定期查看本许可常见问题,以了解如何使用我们的数据、模型、代码、配置、文档和权重。 diff --git a/licensing.sh b/licensing.sh index eb8ccca6..8743b423 100644 --- a/licensing.sh +++ b/licensing.sh @@ -4,6 +4,6 @@ for i in $(find . -name '*.py'); do if ! grep -q Copyright $i then - cat LICENSE.header $i >$i.new && mv $i.new $i + cat license.header $i >$i.new && mv $i.new $i fi done diff --git a/multimolecule/__init__.py b/multimolecule/__init__.py index 63f937c5..e9018441 100644 --- a/multimolecule/__init__.py +++ b/multimolecule/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .data import Dataset from .models import ( AutoModelForContactPrediction, diff --git a/multimolecule/data/__init__.py b/multimolecule/data/__init__.py index 20d1bd5f..b24fd6cf 100644 --- a/multimolecule/data/__init__.py +++ b/multimolecule/data/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# https://multimolecule.danling.org/about/license-faq + from .dataset import Dataset from .utils import no_collate diff --git a/multimolecule/data/dataset.py b/multimolecule/data/dataset.py index bf422b91..1006ed6b 100644 --- a/multimolecule/data/dataset.py +++ b/multimolecule/data/dataset.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from collections.abc import Iterable, Mapping, Sequence @@ -84,7 +90,7 @@ class Dataset(datasets.Dataset): Only works when there is exactly one sequence column You can control the naming through `multimolecule.defaults.SEQUENCE_COL_NAME`. For more refined control, use `column_names_map`. - auto_rename_label_cols: Whether to automatically rename label column to standard name. + auto_rename_label_col: Whether to automatically rename label column to standard name. Only works when there is exactly one label column. You can control the naming through `multimolecule.defaults.LABEL_COL_NAME`. For more refined control, use `column_names_map`. diff --git a/multimolecule/data/functional.py b/multimolecule/data/functional.py index 2d846efd..46e61b03 100644 --- a/multimolecule/data/functional.py +++ b/multimolecule/data/functional.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import string diff --git a/multimolecule/data/utils.py b/multimolecule/data/utils.py index 1afddd1b..487a85d2 100644 --- a/multimolecule/data/utils.py +++ b/multimolecule/data/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from collections.abc import Iterable diff --git a/multimolecule/datasets/archiveii/archiveii.py b/multimolecule/datasets/archiveii/archiveii.py index 1492d4c9..ffe4ebef 100644 --- a/multimolecule/datasets/archiveii/archiveii.py +++ b/multimolecule/datasets/archiveii/archiveii.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/bprna/bprna.py b/multimolecule/datasets/bprna/bprna.py index d1912509..bbd208ba 100644 --- a/multimolecule/datasets/bprna/bprna.py +++ b/multimolecule/datasets/bprna/bprna.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/bprna_new/bprna_new.py b/multimolecule/datasets/bprna_new/bprna_new.py index 8a20e6bb..9584bbc8 100644 --- a/multimolecule/datasets/bprna_new/bprna_new.py +++ b/multimolecule/datasets/bprna_new/bprna_new.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/bprna_spot/bprna_spot.py b/multimolecule/datasets/bprna_spot/bprna_spot.py index 76e90b92..7ff2bd54 100644 --- a/multimolecule/datasets/bprna_spot/bprna_spot.py +++ b/multimolecule/datasets/bprna_spot/bprna_spot.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/conversion_utils.py b/multimolecule/datasets/conversion_utils.py index c27b9d44..50401ece 100644 --- a/multimolecule/datasets/conversion_utils.py +++ b/multimolecule/datasets/conversion_utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/eternabench_cm/eternabench_cm.py b/multimolecule/datasets/eternabench_cm/eternabench_cm.py index 01a02ff4..7102b69f 100644 --- a/multimolecule/datasets/eternabench_cm/eternabench_cm.py +++ b/multimolecule/datasets/eternabench_cm/eternabench_cm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/eternabench_external/eternabench_external.py b/multimolecule/datasets/eternabench_external/eternabench_external.py index 2e6f56a8..a7843121 100644 --- a/multimolecule/datasets/eternabench_external/eternabench_external.py +++ b/multimolecule/datasets/eternabench_external/eternabench_external.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/eternabench_switch/eternabench_switch.py b/multimolecule/datasets/eternabench_switch/eternabench_switch.py index 1068a469..8394a932 100644 --- a/multimolecule/datasets/eternabench_switch/eternabench_switch.py +++ b/multimolecule/datasets/eternabench_switch/eternabench_switch.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/gencode/gencode.py b/multimolecule/datasets/gencode/gencode.py index da406440..585e3fa5 100644 --- a/multimolecule/datasets/gencode/gencode.py +++ b/multimolecule/datasets/gencode/gencode.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/rfam/rfam.py b/multimolecule/datasets/rfam/rfam.py index 78c92a48..3532c7f1 100644 --- a/multimolecule/datasets/rfam/rfam.py +++ b/multimolecule/datasets/rfam/rfam.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/rivas/rivas.py b/multimolecule/datasets/rivas/rivas.py index 01ddf674..2bc6ca39 100644 --- a/multimolecule/datasets/rivas/rivas.py +++ b/multimolecule/datasets/rivas/rivas.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/rnacentral/modifications.py b/multimolecule/datasets/rnacentral/modifications.py index c74f06a9..f0c80afb 100644 --- a/multimolecule/datasets/rnacentral/modifications.py +++ b/multimolecule/datasets/rnacentral/modifications.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/rnacentral/rnacentral.py b/multimolecule/datasets/rnacentral/rnacentral.py index 6943dfdb..ef96182f 100644 --- a/multimolecule/datasets/rnacentral/rnacentral.py +++ b/multimolecule/datasets/rnacentral/rnacentral.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/rnacentral/secondary_structure.py b/multimolecule/datasets/rnacentral/secondary_structure.py index 60a62236..4ad55592 100644 --- a/multimolecule/datasets/rnacentral/secondary_structure.py +++ b/multimolecule/datasets/rnacentral/secondary_structure.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/rnacentral/utils.py b/multimolecule/datasets/rnacentral/utils.py index 24b6e645..2b63012b 100644 --- a/multimolecule/datasets/rnacentral/utils.py +++ b/multimolecule/datasets/rnacentral/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from functools import wraps diff --git a/multimolecule/datasets/rnastralign/rnastralign.py b/multimolecule/datasets/rnastralign/rnastralign.py index 599cdd79..c2e0b1ee 100644 --- a/multimolecule/datasets/rnastralign/rnastralign.py +++ b/multimolecule/datasets/rnastralign/rnastralign.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/datasets/ryos/ryos.py b/multimolecule/datasets/ryos/ryos.py index bc89a793..bf1eeaeb 100644 --- a/multimolecule/datasets/ryos/ryos.py +++ b/multimolecule/datasets/ryos/ryos.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/defaults.py b/multimolecule/defaults.py index a908bbdb..336ffecd 100644 --- a/multimolecule/defaults.py +++ b/multimolecule/defaults.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + TRAIN_SPLITS = ("train",) VALIDATION_SPLITS = ("val", "validation") TEST_SPLITS = ("test", "eval", "evaluation") diff --git a/multimolecule/models/__init__.py b/multimolecule/models/__init__.py index 29d99436..a669b157 100644 --- a/multimolecule/models/__init__.py +++ b/multimolecule/models/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from multimolecule.module import HeadConfig from multimolecule.tokenisers import DnaTokenizer, ProteinTokenizer, RnaTokenizer diff --git a/multimolecule/models/calm/__init__.py b/multimolecule/models/calm/__init__.py index 4d2bb2a4..ac8f0079 100644 --- a/multimolecule/models/calm/__init__.py +++ b/multimolecule/models/calm/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/calm/configuration_calm.py b/multimolecule/models/calm/configuration_calm.py index 032bda8e..1b99b8ed 100644 --- a/multimolecule/models/calm/configuration_calm.py +++ b/multimolecule/models/calm/configuration_calm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/calm/convert_checkpoint.py b/multimolecule/models/calm/convert_checkpoint.py index 75ba749c..a3c2ac0e 100644 --- a/multimolecule/models/calm/convert_checkpoint.py +++ b/multimolecule/models/calm/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/calm/modeling_calm.py b/multimolecule/models/calm/modeling_calm.py index c8abdffe..b31250f7 100644 --- a/multimolecule/models/calm/modeling_calm.py +++ b/multimolecule/models/calm/modeling_calm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import Tuple diff --git a/multimolecule/models/configuration_utils.py b/multimolecule/models/configuration_utils.py index ce6f10ea..a28ab32a 100644 --- a/multimolecule/models/configuration_utils.py +++ b/multimolecule/models/configuration_utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from dataclasses import asdict, is_dataclass diff --git a/multimolecule/models/conversion_utils.py b/multimolecule/models/conversion_utils.py index 9e0269a7..3f0fdc32 100644 --- a/multimolecule/models/conversion_utils.py +++ b/multimolecule/models/conversion_utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/ernierna/__init__.py b/multimolecule/models/ernierna/__init__.py index 998c908e..b5279a13 100644 --- a/multimolecule/models/ernierna/__init__.py +++ b/multimolecule/models/ernierna/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/ernierna/configuration_ernierna.py b/multimolecule/models/ernierna/configuration_ernierna.py index bfd11d51..b4fe7b5b 100644 --- a/multimolecule/models/ernierna/configuration_ernierna.py +++ b/multimolecule/models/ernierna/configuration_ernierna.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/ernierna/convert_checkpoint.py b/multimolecule/models/ernierna/convert_checkpoint.py index 04b3e078..62098eff 100644 --- a/multimolecule/models/ernierna/convert_checkpoint.py +++ b/multimolecule/models/ernierna/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/ernierna/modeling_ernierna.py b/multimolecule/models/ernierna/modeling_ernierna.py index 00f17416..ac2fabc5 100644 --- a/multimolecule/models/ernierna/modeling_ernierna.py +++ b/multimolecule/models/ernierna/modeling_ernierna.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import math diff --git a/multimolecule/models/modeling_auto.py b/multimolecule/models/modeling_auto.py index ccde598a..bfc5ec02 100644 --- a/multimolecule/models/modeling_auto.py +++ b/multimolecule/models/modeling_auto.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from collections import OrderedDict from warnings import warn diff --git a/multimolecule/models/modeling_outputs.py b/multimolecule/models/modeling_outputs.py index 518d3d69..f0689f78 100644 --- a/multimolecule/models/modeling_outputs.py +++ b/multimolecule/models/modeling_outputs.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from dataclasses import dataclass diff --git a/multimolecule/models/rinalmo/__init__.py b/multimolecule/models/rinalmo/__init__.py index d300c785..55c4785a 100644 --- a/multimolecule/models/rinalmo/__init__.py +++ b/multimolecule/models/rinalmo/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/rinalmo/configuration_rinalmo.py b/multimolecule/models/rinalmo/configuration_rinalmo.py index 1cc963b2..1d2057e8 100644 --- a/multimolecule/models/rinalmo/configuration_rinalmo.py +++ b/multimolecule/models/rinalmo/configuration_rinalmo.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/rinalmo/convert_checkpoint.py b/multimolecule/models/rinalmo/convert_checkpoint.py index 868ec5dc..de755a35 100644 --- a/multimolecule/models/rinalmo/convert_checkpoint.py +++ b/multimolecule/models/rinalmo/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/rinalmo/modeling_rinalmo.py b/multimolecule/models/rinalmo/modeling_rinalmo.py index d0ac6e8c..ca21f65f 100644 --- a/multimolecule/models/rinalmo/modeling_rinalmo.py +++ b/multimolecule/models/rinalmo/modeling_rinalmo.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import Tuple diff --git a/multimolecule/models/rnabert/__init__.py b/multimolecule/models/rnabert/__init__.py index a01e514e..6a603da0 100644 --- a/multimolecule/models/rnabert/__init__.py +++ b/multimolecule/models/rnabert/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/rnabert/configuration_rnabert.py b/multimolecule/models/rnabert/configuration_rnabert.py index 97632d2e..c8b4826d 100644 --- a/multimolecule/models/rnabert/configuration_rnabert.py +++ b/multimolecule/models/rnabert/configuration_rnabert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/rnabert/convert_checkpoint.py b/multimolecule/models/rnabert/convert_checkpoint.py index 178f2f76..12bf3c8a 100644 --- a/multimolecule/models/rnabert/convert_checkpoint.py +++ b/multimolecule/models/rnabert/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/rnabert/modeling_rnabert.py b/multimolecule/models/rnabert/modeling_rnabert.py index 32f7bf01..0465bda4 100644 --- a/multimolecule/models/rnabert/modeling_rnabert.py +++ b/multimolecule/models/rnabert/modeling_rnabert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import math diff --git a/multimolecule/models/rnaernie/__init__.py b/multimolecule/models/rnaernie/__init__.py index 7361e0bd..6e38e621 100644 --- a/multimolecule/models/rnaernie/__init__.py +++ b/multimolecule/models/rnaernie/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/rnaernie/configuration_rnaernie.py b/multimolecule/models/rnaernie/configuration_rnaernie.py index 7a788297..9e781269 100644 --- a/multimolecule/models/rnaernie/configuration_rnaernie.py +++ b/multimolecule/models/rnaernie/configuration_rnaernie.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/rnaernie/convert_checkpoint.py b/multimolecule/models/rnaernie/convert_checkpoint.py index 94231e8c..f98a2fb0 100644 --- a/multimolecule/models/rnaernie/convert_checkpoint.py +++ b/multimolecule/models/rnaernie/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/rnaernie/modeling_rnaernie.py b/multimolecule/models/rnaernie/modeling_rnaernie.py index 8107ee20..311548f3 100644 --- a/multimolecule/models/rnaernie/modeling_rnaernie.py +++ b/multimolecule/models/rnaernie/modeling_rnaernie.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import math diff --git a/multimolecule/models/rnafm/__init__.py b/multimolecule/models/rnafm/__init__.py index 36fb3d7a..15e4e0bd 100644 --- a/multimolecule/models/rnafm/__init__.py +++ b/multimolecule/models/rnafm/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/rnafm/configuration_rnafm.py b/multimolecule/models/rnafm/configuration_rnafm.py index ef1f0c18..21b4f4dd 100644 --- a/multimolecule/models/rnafm/configuration_rnafm.py +++ b/multimolecule/models/rnafm/configuration_rnafm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/rnafm/convert_checkpoint.py b/multimolecule/models/rnafm/convert_checkpoint.py index 6b09cbc6..fb965a18 100644 --- a/multimolecule/models/rnafm/convert_checkpoint.py +++ b/multimolecule/models/rnafm/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/rnafm/modeling_rnafm.py b/multimolecule/models/rnafm/modeling_rnafm.py index 6898da9c..3fa71eb8 100644 --- a/multimolecule/models/rnafm/modeling_rnafm.py +++ b/multimolecule/models/rnafm/modeling_rnafm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from dataclasses import dataclass diff --git a/multimolecule/models/rnamsm/__init__.py b/multimolecule/models/rnamsm/__init__.py index d91bb7ef..a0148ba2 100644 --- a/multimolecule/models/rnamsm/__init__.py +++ b/multimolecule/models/rnamsm/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/rnamsm/configuration_rnamsm.py b/multimolecule/models/rnamsm/configuration_rnamsm.py index 2e8150ba..2a8771c7 100644 --- a/multimolecule/models/rnamsm/configuration_rnamsm.py +++ b/multimolecule/models/rnamsm/configuration_rnamsm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/rnamsm/convert_checkpoint.py b/multimolecule/models/rnamsm/convert_checkpoint.py index 6702621b..235f7265 100644 --- a/multimolecule/models/rnamsm/convert_checkpoint.py +++ b/multimolecule/models/rnamsm/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/rnamsm/modeling_rnamsm.py b/multimolecule/models/rnamsm/modeling_rnamsm.py index 0390a129..af3fb72e 100644 --- a/multimolecule/models/rnamsm/modeling_rnamsm.py +++ b/multimolecule/models/rnamsm/modeling_rnamsm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import math diff --git a/multimolecule/models/splicebert/__init__.py b/multimolecule/models/splicebert/__init__.py index 58fa36ce..51e284e5 100644 --- a/multimolecule/models/splicebert/__init__.py +++ b/multimolecule/models/splicebert/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/splicebert/configuration_splicebert.py b/multimolecule/models/splicebert/configuration_splicebert.py index f789516d..d9e8faf7 100644 --- a/multimolecule/models/splicebert/configuration_splicebert.py +++ b/multimolecule/models/splicebert/configuration_splicebert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/splicebert/convert_checkpoint.py b/multimolecule/models/splicebert/convert_checkpoint.py index 2903900b..0775c173 100644 --- a/multimolecule/models/splicebert/convert_checkpoint.py +++ b/multimolecule/models/splicebert/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/splicebert/modeling_splicebert.py b/multimolecule/models/splicebert/modeling_splicebert.py index 9d129d74..31558944 100644 --- a/multimolecule/models/splicebert/modeling_splicebert.py +++ b/multimolecule/models/splicebert/modeling_splicebert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import math diff --git a/multimolecule/models/utrbert/__init__.py b/multimolecule/models/utrbert/__init__.py index e17fb379..526c31c3 100644 --- a/multimolecule/models/utrbert/__init__.py +++ b/multimolecule/models/utrbert/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/utrbert/configuration_utrbert.py b/multimolecule/models/utrbert/configuration_utrbert.py index 5230c04f..f2ab7b19 100644 --- a/multimolecule/models/utrbert/configuration_utrbert.py +++ b/multimolecule/models/utrbert/configuration_utrbert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/utrbert/convert_checkpoint.py b/multimolecule/models/utrbert/convert_checkpoint.py index 131771a2..14a3cf83 100644 --- a/multimolecule/models/utrbert/convert_checkpoint.py +++ b/multimolecule/models/utrbert/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/utrbert/modeling_utrbert.py b/multimolecule/models/utrbert/modeling_utrbert.py index 688bedbe..bfe254c1 100644 --- a/multimolecule/models/utrbert/modeling_utrbert.py +++ b/multimolecule/models/utrbert/modeling_utrbert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import math diff --git a/multimolecule/models/utrlm/__init__.py b/multimolecule/models/utrlm/__init__.py index d2066558..f7b9e95e 100644 --- a/multimolecule/models/utrlm/__init__.py +++ b/multimolecule/models/utrlm/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from transformers import ( AutoBackbone, AutoConfig, diff --git a/multimolecule/models/utrlm/configuration_utrlm.py b/multimolecule/models/utrlm/configuration_utrlm.py index a4f930d7..f8b7ca8d 100644 --- a/multimolecule/models/utrlm/configuration_utrlm.py +++ b/multimolecule/models/utrlm/configuration_utrlm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from transformers.utils import logging diff --git a/multimolecule/models/utrlm/convert_checkpoint.py b/multimolecule/models/utrlm/convert_checkpoint.py index 0400d874..fb3c3d93 100644 --- a/multimolecule/models/utrlm/convert_checkpoint.py +++ b/multimolecule/models/utrlm/convert_checkpoint.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import os diff --git a/multimolecule/models/utrlm/modeling_utrlm.py b/multimolecule/models/utrlm/modeling_utrlm.py index aae1b593..9a301d2b 100644 --- a/multimolecule/models/utrlm/modeling_utrlm.py +++ b/multimolecule/models/utrlm/modeling_utrlm.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from dataclasses import dataclass diff --git a/multimolecule/module/__init__.py b/multimolecule/module/__init__.py index dbba900b..393bc329 100644 --- a/multimolecule/module/__init__.py +++ b/multimolecule/module/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .criterions import Criterion, CriterionRegistry from .embeddings import PositionEmbeddingRegistry, RotaryEmbedding, SinusoidalEmbedding from .heads import ( diff --git a/multimolecule/module/backbones/__init__.py b/multimolecule/module/backbones/__init__.py index d69e6292..3b1c771a 100644 --- a/multimolecule/module/backbones/__init__.py +++ b/multimolecule/module/backbones/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .registry import BackboneRegistry from .sequence import SequenceBackbone from .sequences import SequenceRegistry diff --git a/multimolecule/module/backbones/registry.py b/multimolecule/module/backbones/registry.py index 47be122d..4c5a3eea 100644 --- a/multimolecule/module/backbones/registry.py +++ b/multimolecule/module/backbones/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from chanfig import Registry diff --git a/multimolecule/module/backbones/sequence.py b/multimolecule/module/backbones/sequence.py index 2b0ee0cf..3894f71e 100644 --- a/multimolecule/module/backbones/sequence.py +++ b/multimolecule/module/backbones/sequence.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import torch diff --git a/multimolecule/module/backbones/sequences/__init__.py b/multimolecule/module/backbones/sequences/__init__.py index e6e5cd08..f3255b23 100644 --- a/multimolecule/module/backbones/sequences/__init__.py +++ b/multimolecule/module/backbones/sequences/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .onehot import OneHot from .registry import SequenceRegistry diff --git a/multimolecule/module/backbones/sequences/onehot.py b/multimolecule/module/backbones/sequences/onehot.py index bc4c979f..053fe56a 100644 --- a/multimolecule/module/backbones/sequences/onehot.py +++ b/multimolecule/module/backbones/sequences/onehot.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + import torch from chanfig import FlatDict from torch import nn diff --git a/multimolecule/module/backbones/sequences/registry.py b/multimolecule/module/backbones/sequences/registry.py index c9178231..d8c7fcd8 100644 --- a/multimolecule/module/backbones/sequences/registry.py +++ b/multimolecule/module/backbones/sequences/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import danling as dl diff --git a/multimolecule/module/criterions/__init__.py b/multimolecule/module/criterions/__init__.py index 4b9adf7e..ddb8f37e 100644 --- a/multimolecule/module/criterions/__init__.py +++ b/multimolecule/module/criterions/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .binary import BCEWithLogitsLoss from .generic import Criterion from .multiclass import CrossEntropyLoss diff --git a/multimolecule/module/criterions/binary.py b/multimolecule/module/criterions/binary.py index 0bf53e59..40d5cac0 100644 --- a/multimolecule/module/criterions/binary.py +++ b/multimolecule/module/criterions/binary.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/multimolecule/module/criterions/generic.py b/multimolecule/module/criterions/generic.py index a6731933..94d0d757 100644 --- a/multimolecule/module/criterions/generic.py +++ b/multimolecule/module/criterions/generic.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/multimolecule/module/criterions/multiclass.py b/multimolecule/module/criterions/multiclass.py index f7070e94..53cf2f8f 100644 --- a/multimolecule/module/criterions/multiclass.py +++ b/multimolecule/module/criterions/multiclass.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/multimolecule/module/criterions/multilabel.py b/multimolecule/module/criterions/multilabel.py index c72bb9f9..f1f881eb 100644 --- a/multimolecule/module/criterions/multilabel.py +++ b/multimolecule/module/criterions/multilabel.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/multimolecule/module/criterions/registry.py b/multimolecule/module/criterions/registry.py index 856341f7..94b72baf 100644 --- a/multimolecule/module/criterions/registry.py +++ b/multimolecule/module/criterions/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from chanfig import ConfigRegistry as Registry_ from torch import nn diff --git a/multimolecule/module/criterions/regression.py b/multimolecule/module/criterions/regression.py index 4f39e0eb..f59f63be 100644 --- a/multimolecule/module/criterions/regression.py +++ b/multimolecule/module/criterions/regression.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING diff --git a/multimolecule/module/embeddings/__init__.py b/multimolecule/module/embeddings/__init__.py index f355d0f8..44de5946 100644 --- a/multimolecule/module/embeddings/__init__.py +++ b/multimolecule/module/embeddings/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .registry import PositionEmbeddingRegistry, PositionEmbeddingRegistryHF from .rotary import RotaryEmbedding from .sinusoidal import SinusoidalEmbedding diff --git a/multimolecule/module/embeddings/registry.py b/multimolecule/module/embeddings/registry.py index 8546dab9..b0be0c04 100644 --- a/multimolecule/module/embeddings/registry.py +++ b/multimolecule/module/embeddings/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from chanfig import ConfigRegistry, Registry PositionEmbeddingRegistry = Registry() diff --git a/multimolecule/module/embeddings/rotary.py b/multimolecule/module/embeddings/rotary.py index 59498c50..e1fc57c9 100644 --- a/multimolecule/module/embeddings/rotary.py +++ b/multimolecule/module/embeddings/rotary.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import Tuple diff --git a/multimolecule/module/heads/__init__.py b/multimolecule/module/heads/__init__.py index 0e857c5e..f922ec5c 100644 --- a/multimolecule/module/heads/__init__.py +++ b/multimolecule/module/heads/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .config import BaseHeadConfig, HeadConfig, MaskedLMHeadConfig from .contact import ContactPredictionHead from .generic import PredictionHead diff --git a/multimolecule/module/heads/config.py b/multimolecule/module/heads/config.py index ad67e1a0..6bc74e6d 100644 --- a/multimolecule/module/heads/config.py +++ b/multimolecule/module/heads/config.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import Optional diff --git a/multimolecule/module/heads/contact.py b/multimolecule/module/heads/contact.py index b2ceb2ff..7b7acfc8 100644 --- a/multimolecule/module/heads/contact.py +++ b/multimolecule/module/heads/contact.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import Callable, Mapping, Tuple, Type diff --git a/multimolecule/module/heads/generic.py b/multimolecule/module/heads/generic.py index ae82e178..9370682d 100644 --- a/multimolecule/module/heads/generic.py +++ b/multimolecule/module/heads/generic.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING, Tuple diff --git a/multimolecule/module/heads/output.py b/multimolecule/module/heads/output.py index cb8046e5..bedce692 100644 --- a/multimolecule/module/heads/output.py +++ b/multimolecule/module/heads/output.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from dataclasses import dataclass diff --git a/multimolecule/module/heads/pretrain.py b/multimolecule/module/heads/pretrain.py index c6968c4b..790bfa0f 100644 --- a/multimolecule/module/heads/pretrain.py +++ b/multimolecule/module/heads/pretrain.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING, Mapping, Tuple diff --git a/multimolecule/module/heads/registry.py b/multimolecule/module/heads/registry.py index 6db3b680..ea56b279 100644 --- a/multimolecule/module/heads/registry.py +++ b/multimolecule/module/heads/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from chanfig import ConfigRegistry as Registry_ from torch import nn diff --git a/multimolecule/module/heads/sequence.py b/multimolecule/module/heads/sequence.py index c41e6dc6..b5ad3056 100644 --- a/multimolecule/module/heads/sequence.py +++ b/multimolecule/module/heads/sequence.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import TYPE_CHECKING, Mapping, Tuple diff --git a/multimolecule/module/heads/token.py b/multimolecule/module/heads/token.py index 5697d36c..4447f020 100644 --- a/multimolecule/module/heads/token.py +++ b/multimolecule/module/heads/token.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from functools import partial diff --git a/multimolecule/module/heads/transform.py b/multimolecule/module/heads/transform.py index 6fb9fdd4..116fee48 100644 --- a/multimolecule/module/heads/transform.py +++ b/multimolecule/module/heads/transform.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from chanfig import ConfigRegistry, Registry diff --git a/multimolecule/module/heads/utils.py b/multimolecule/module/heads/utils.py index cc1f3654..b5231358 100644 --- a/multimolecule/module/heads/utils.py +++ b/multimolecule/module/heads/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import torch diff --git a/multimolecule/module/model.py b/multimolecule/module/model.py index c190f34a..778eb358 100644 --- a/multimolecule/module/model.py +++ b/multimolecule/module/model.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from chanfig import FlatDict diff --git a/multimolecule/module/necks/__init__.py b/multimolecule/module/necks/__init__.py index e8f1f7e2..f9649dc3 100644 --- a/multimolecule/module/necks/__init__.py +++ b/multimolecule/module/necks/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .bert import BERTNeck from .cat import CatNeck from .registry import NeckRegistry diff --git a/multimolecule/module/necks/bert.py b/multimolecule/module/necks/bert.py index 1360f0dd..ce0888fe 100644 --- a/multimolecule/module/necks/bert.py +++ b/multimolecule/module/necks/bert.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import torch diff --git a/multimolecule/module/necks/cat.py b/multimolecule/module/necks/cat.py index d5165a92..0c14de17 100644 --- a/multimolecule/module/necks/cat.py +++ b/multimolecule/module/necks/cat.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import torch diff --git a/multimolecule/module/necks/registry.py b/multimolecule/module/necks/registry.py index c024227c..f088123c 100644 --- a/multimolecule/module/necks/registry.py +++ b/multimolecule/module/necks/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from chanfig import Registry diff --git a/multimolecule/module/registry.py b/multimolecule/module/registry.py index b0332463..7aeb0087 100644 --- a/multimolecule/module/registry.py +++ b/multimolecule/module/registry.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from chanfig import Registry as Registry_ diff --git a/multimolecule/tasks/__init__.py b/multimolecule/tasks/__init__.py index 55c77033..1f725335 100644 --- a/multimolecule/tasks/__init__.py +++ b/multimolecule/tasks/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .task import Task, TaskLevel, TaskType __all__ = ["Task", "TaskType", "TaskLevel"] diff --git a/multimolecule/tasks/task.py b/multimolecule/tasks/task.py index 5d435f83..cc001956 100644 --- a/multimolecule/tasks/task.py +++ b/multimolecule/tasks/task.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from dataclasses import dataclass diff --git a/multimolecule/tokenisers/__init__.py b/multimolecule/tokenisers/__init__.py index ec1038d5..652c93d8 100644 --- a/multimolecule/tokenisers/__init__.py +++ b/multimolecule/tokenisers/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .alphabet import Alphabet from .dna import DnaTokenizer from .dot_bracket import DotBracketTokenizer diff --git a/multimolecule/tokenisers/alphabet.py b/multimolecule/tokenisers/alphabet.py index 5c920608..bad46ea3 100644 --- a/multimolecule/tokenisers/alphabet.py +++ b/multimolecule/tokenisers/alphabet.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from functools import lru_cache diff --git a/multimolecule/tokenisers/dna/__init__.py b/multimolecule/tokenisers/dna/__init__.py index 4d272a27..c2678804 100644 --- a/multimolecule/tokenisers/dna/__init__.py +++ b/multimolecule/tokenisers/dna/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .tokenization_dna import DnaTokenizer __all__ = ["DnaTokenizer"] diff --git a/multimolecule/tokenisers/dna/tokenization_dna.py b/multimolecule/tokenisers/dna/tokenization_dna.py index 834ee740..ca2d215d 100644 --- a/multimolecule/tokenisers/dna/tokenization_dna.py +++ b/multimolecule/tokenisers/dna/tokenization_dna.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Tuple diff --git a/multimolecule/tokenisers/dna/utils.py b/multimolecule/tokenisers/dna/utils.py index cd41654b..ef9f7126 100644 --- a/multimolecule/tokenisers/dna/utils.py +++ b/multimolecule/tokenisers/dna/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Sequence diff --git a/multimolecule/tokenisers/dot_bracket/__init__.py b/multimolecule/tokenisers/dot_bracket/__init__.py index f983b3c0..8207367f 100644 --- a/multimolecule/tokenisers/dot_bracket/__init__.py +++ b/multimolecule/tokenisers/dot_bracket/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .tokenization_db import DotBracketTokenizer __all__ = ["DotBracketTokenizer"] diff --git a/multimolecule/tokenisers/dot_bracket/tokenization_db.py b/multimolecule/tokenisers/dot_bracket/tokenization_db.py index 97a890f9..32c0d0f1 100644 --- a/multimolecule/tokenisers/dot_bracket/tokenization_db.py +++ b/multimolecule/tokenisers/dot_bracket/tokenization_db.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Tuple diff --git a/multimolecule/tokenisers/dot_bracket/utils.py b/multimolecule/tokenisers/dot_bracket/utils.py index b10e6ed6..e6ee681d 100644 --- a/multimolecule/tokenisers/dot_bracket/utils.py +++ b/multimolecule/tokenisers/dot_bracket/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List diff --git a/multimolecule/tokenisers/protein/__init__.py b/multimolecule/tokenisers/protein/__init__.py index 108bd74d..c6f26a32 100644 --- a/multimolecule/tokenisers/protein/__init__.py +++ b/multimolecule/tokenisers/protein/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .tokenization_protein import ProteinTokenizer __all__ = ["ProteinTokenizer"] diff --git a/multimolecule/tokenisers/protein/tokenization_protein.py b/multimolecule/tokenisers/protein/tokenization_protein.py index cc46ee43..3b0d4779 100644 --- a/multimolecule/tokenisers/protein/tokenization_protein.py +++ b/multimolecule/tokenisers/protein/tokenization_protein.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Tuple diff --git a/multimolecule/tokenisers/protein/utils.py b/multimolecule/tokenisers/protein/utils.py index 62a42b5a..c2fff44a 100644 --- a/multimolecule/tokenisers/protein/utils.py +++ b/multimolecule/tokenisers/protein/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Sequence diff --git a/multimolecule/tokenisers/rna/__init__.py b/multimolecule/tokenisers/rna/__init__.py index f0a05c4e..e2e7021d 100644 --- a/multimolecule/tokenisers/rna/__init__.py +++ b/multimolecule/tokenisers/rna/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .tokenization_rna import RnaTokenizer __all__ = ["RnaTokenizer"] diff --git a/multimolecule/tokenisers/rna/tokenization_rna.py b/multimolecule/tokenisers/rna/tokenization_rna.py index a7f608a6..697fe6e2 100644 --- a/multimolecule/tokenisers/rna/tokenization_rna.py +++ b/multimolecule/tokenisers/rna/tokenization_rna.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Tuple diff --git a/multimolecule/tokenisers/rna/utils.py b/multimolecule/tokenisers/rna/utils.py index b1523fb5..a647beb3 100644 --- a/multimolecule/tokenisers/rna/utils.py +++ b/multimolecule/tokenisers/rna/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from typing import List, Sequence diff --git a/multimolecule/tokenisers/tokenization_utils.py b/multimolecule/tokenisers/tokenization_utils.py index 8f102549..50ac1b5d 100644 --- a/multimolecule/tokenisers/tokenization_utils.py +++ b/multimolecule/tokenisers/tokenization_utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + # mypy: disable-error-code="arg-type" from __future__ import annotations diff --git a/multimolecule/tokenisers/utils.py b/multimolecule/tokenisers/utils.py index 1cbc9a15..59094052 100644 --- a/multimolecule/tokenisers/utils.py +++ b/multimolecule/tokenisers/utils.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations import random diff --git a/multimolecule/utils/__init__.py b/multimolecule/utils/__init__.py index 37813516..1afc93f3 100644 --- a/multimolecule/utils/__init__.py +++ b/multimolecule/utils/__init__.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from .parameters import count_parameters __all__ = ["count_parameters"] diff --git a/multimolecule/utils/parameters.py b/multimolecule/utils/parameters.py index fc7f345e..2fa805df 100644 --- a/multimolecule/utils/parameters.py +++ b/multimolecule/utils/parameters.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from __future__ import annotations from torch import nn diff --git a/setup.py b/setup.py index c0081c6e..ffc49b38 100644 --- a/setup.py +++ b/setup.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + from setuptools import setup setup() diff --git a/tests/data/test_dataset.py b/tests/data/test_dataset.py index 13597fa2..5d48b1cb 100644 --- a/tests/data/test_dataset.py +++ b/tests/data/test_dataset.py @@ -1,12 +1,14 @@ # MultiMolecule # Copyright (C) 2024-Present MultiMolecule -# This program is free software: you can redistribute it and/or modify +# This file is part of MultiMolecule. + +# MultiMolecule is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # any later version. -# This program is distributed in the hope that it will be useful, +# MultiMolecule is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. @@ -14,6 +16,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +# For additional terms and clarifications, please refer to our License FAQ at: +# . + + import os from functools import partial