.
+
+
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..b128e84e
--- /dev/null
+++ b/license-faq.md
@@ -0,0 +1,134 @@
+# 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 _[License](license.md)_.
+
+ [: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?"
+
+ It depends. You may publish research papers in certain open access and non-profit venues. For closed access or author fee venues, you must obtain 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, 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?](#4-can-i-use-multimolecule-for-commercial-purposes)
+
+
+
+## 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 _[License](license.md)_. This ensures that any enhancements or modifications remain freely available to the community, fostering collaboration and continuous improvement.
+
+## 3. Can I publish research papers using MultiMolecule?
+
+!!! success "Open Access"
+
+ You may publish research papers in diamond open access venues.
+
+You are permitted to publish research papers in fully open access journals, conferences, or platform that do not charge fees to either authors or readers, provided that all published manuscripts are made available under one of the following licenses that permits the sharing of manuscripts:
+
+- [GNU Free Documentation License (GFDL)](https://www.gnu.org/licenses/fdl.html)
+- [Creative Commons license](https://creativecommons.org/licenses/)
+- [OSI-approved license](https://opensource.org/licenses)
+
+!!! warning "Non-Profit"
+
+ You may publish research papers in certain non-profit venues.
+
+You are permitted to publish research papers in certain non-profit journals, conferences, or platform, specifically including:
+
+- [All journals published by the American Association for the Advancement of Science (AAAS)](https://www.aaas.org/journals)
+- [eLife](https://elifesciences.org)
+
+This permission is granted as a special exemption under Section 7 of the _[License](license.md)_.
+
+!!! failure "Closed Access / Author Fees"
+
+ You must obtain a separate license to publish in closed access / author fee venues.
+
+We do not endorse publishing in closed access or author fee venues. To publish in these venues, you must obtain a separate license from us. This typically involves one or more of the following:
+
+- Co-authorship with the DanLing Team.
+- Fees to support the project.
+
+While not mandatory, we recommend citing the MultiMolecule project in your research papers.
+
+## 4. Can I use MultiMolecule for commercial purposes?
+
+YES! MultiMolecule can be used for commercial purposes under the _[License](license.md)_. Note that 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.
+
+## 5. 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.
+
+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)_. 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 not affiliated with an organization 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 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/license-faq.zh.md b/license-faq.zh.md
new file mode 100644
index 00000000..16c1a43c
--- /dev/null
+++ b/license-faq.zh.md
@@ -0,0 +1,144 @@
+!!! warning "翻译"
+
+ 本文内容为翻译版本,旨在为用户提供方便。
+ 我们已经尽力确保翻译的准确性。
+ 但请注意,翻译内容可能包含错误,仅供参考。
+ 请以英文[原文](license-faq.md)为准。
+
+ 为满足合规性与执法要求,翻译文档中的任何不准确或歧义之处均不具有约束力,也不具备法律效力。
+
+# 许可协议常见问题解答
+
+本许可常见问题解释了 DanLing 团队(亦称为DanLing)("我们"、"我们"或"我们的")提供的数据、模型、代码、配置、文档和权重的使用条款和条件。它作为我们的 _[许可协议](license.zh.md)_ 的附录。
+
+## 0. 关键要点摘要
+
+本摘要突出显示了我们许可协议的关键方面。有关更详细的信息,请参阅下面的相应章节或阅读完整的 _[许可协议](license.zh.md)_ 。
+
+
+
+!!! question " MultiMolecule 中的“源代码”包括哪些内容?"
+
+ MultiMolecule 中的源代码包括训练模型所需的所有材料,如数据、代码、配置文件、文档和研究论文。模型权重被视为目标代码。
+
+ [:octicons-arrow-right-24: MultiMolecule 中的“源代码”包括哪些内容?](#1-multimolecule中的源代码包括哪些内容)
+
+!!! question "我需要开源我微调后的模型权重吗?"
+
+ 是的,任何使用 MultiMolecule 的预训练模型并随后进行微调的模型权重必须在 _[许可协议](license.zh.md)_ 下开源。
+
+ [:octicons-arrow-right-24: 我需要开源我微调后的模型权重吗?](#2-我需要开源我微调后的模型权重吗)
+
+!!! question "我可以使用 MultiMolecule 发表研究论文吗?"
+
+ 视情况而定。
+ 你可以在某些开放获取和非盈利场所发表研究论文。对于封闭获取或作者费用场所,你必须获得单独的许可。
+
+ [:octicons-arrow-right-24: 我可以使用 MultiMolecule 发表研究论文吗?](#3-我可以使用multimolecule发表研究论文吗)
+
+!!! question "我可以将 MultiMolecule 用于商业目的吗?"
+
+ 是的,你可以根据 _[许可协议](license.zh.md)_ 的条款将 MultiMolecule 用于商业目的。
+
+ [:octicons-arrow-right-24: 我可以将 MultiMolecule 用于商业目的吗?](#4-我可以将multimolecule用于商业目的吗)
+
+
+
+## 1. MultiMolecule 中的“源代码”包括哪些内容?
+
+在 MultiMolecule 的上下文中,“源代码”指的是训练和开发模型所需的所有材料。这包括:
+
+- **数据**:用于训练和评估模型的数据集。
+- **代码**:所有用于模型训练、评估和部署的脚本、程序和工具。
+- **配置**:配置文件和设置,这些文件和设置决定了模型和训练过程的行为。
+- **文档**:手册、指南以及其他有助于理解和使用软件的文档形式。
+- **研究论文**:描述与 MultiMolecule 相关的方法和发现的手稿和出版物。
+
+相反,训练过程中生成的**模型权重**被视为“目标代码”。
+
+这种区分确保了训练和修改模型所需的所有必要组件都是可访问的,而训练后的模型权重则被视为目标代码,这与我们为社区提供最大自由度的承诺一致。
+
+## 2. 我需要开源我微调后的模型权重吗?
+
+是的,如果你使用 MultiMolecule 的预训练模型并随后对其进行微调,你需要根据 _[许可协议](license.zh.md)_ 开源你的修改后的模型权重。这确保了任何改进或修改都能免费供社区使用,促进协作和持续改进。
+
+## 3. 我可以使用 MultiMolecule 发表研究论文吗?
+
+!!! success "开放获取"
+
+ 你可以在钻石开放获取场所发表研究论文。
+
+你被允许在不向作者或读者收取费用的完全开放获取的期刊、会议或平台上发表研究论文,前提是所有发表的手稿均以以下许可协议之一下提供以允许共享手稿:
+
+- [GNU 自由文档许可证 (GFDL)](https://www.gnu.org/licenses/fdl.html)
+- [Creative Commons 许可证](https://creativecommons.org/licenses/)
+- [符合 OSI 认证的许可证](https://opensource.org/licenses)
+
+!!! warning "非盈利"
+
+ 你可以在某些非营利场所上发表研究论文。
+
+你被允许在某些非盈利期刊、会议或平台上发表研究论文,具体包括:
+
+- [美国科学促进会 (AAAS) 主办的所有期刊](https://www.aaas.org/journals)
+- [eLife](https://elifesciences.org)
+
+此许可作为 _[许可协议](license.zh.md)_ 第7条的特别豁免被授予。
+
+!!! failure "封闭获取/作者费用"
+
+ 你必须获得单独的许可才能在封闭获取或作者费用场所上发表论文。
+
+我们不支持在封闭获取或收取作者费用的场所发表。要在这些场所发表,你必须从我们这里获得单独的许可。这通常涉及以下一项或多项:
+
+- 与 DanLing 团队共同署名。
+- 支持项目的费用。
+
+虽然不是强制性的,我们建议你在研究论文中引用 MultiMolecule 项目。
+
+## 4. 我可以将 MultiMolecule 用于商业目的吗?
+
+是的!你可以根据 _[许可协议](license.zh.md)_ 将 MultiMolecule 用于商业用途。注意,你必须开源对源代码的任何修改,并使其在 _[许可协议](license.zh.md)_ 下可用。
+
+如果你希望在不开源修改内容的情况下将 MultiMolecule 用于商业用途,则必须从我们这里获得单独的许可。这通常涉及支持项目的费用。请通过 [multimolecule@zyc.ai](mailto:multimolecule@zyc.ai) 与我们联系以获取更多详细信息。
+
+## 5. 与特定组织相关联的人是否有特定的许可条款?
+
+是的!如果你与一个与我们有单独许可协议的组织相关联,你可能会受到不同的许可条款的约束。
+
+以下组织的成员自动获得一个不可转让、不可再许可、不可分发的 [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.zh.md)_ 第7节的附加条款。主要要点包括:
+
+- **不可再分发**:授予这些组织成员的MIT许可是不可转让和不可再许可的。
+- **禁止独立派生作品**:你被禁止基于此许可创建独立的派生作品。
+- **遵守AGPL许可**:基于此许可的任何修改或派生作品自动被视为 MultiMolecule 的派生作品,必须遵守 _[许可协议](license.zh.md)_ 的所有条款。这确保了第三方无法绕过许可条款或通过派生作品建立单独的许可。
+
+如果你未与上述列出的组织相关联,请咨询你组织的法律部门,以确定你是否需遵守与我们签订的单独许可协议。
+
+## 6. 如果我的组织禁止使用AGPL许可的代码,我该如何使用 MultiMolecule ?
+
+某些组织,如[谷歌](https://opensource.google/documentation/reference/using/agpl-policy),禁止使用AGPL许可的代码。如果你隶属于禁止使用AGPL许可软件的组织,你必须从我们这里获得单独的许可才能使用 MultiMolecule 。
+
+要申请单独的许可,请通过[电子邮件](mailto:multimolecule@zyc.ai)与我们联系。
+
+## 7. 我是美国联邦政府的联邦雇员,我可以使用 MultiMolecule 吗?
+
+不可以,美国联邦政府的联邦雇员无法根据 _[许可协议](license.zh.md)_ 使用 MultiMolecule ,因为根据[17 U.S. Code § 105](https://www.law.cornell.edu/uscode/text/17/105)规定,由美国联邦雇员撰写的代码不受版权保护。
+
+因此,联邦雇员无法遵守 _[许可协议](license.zh.md)_ 的条款,因此无法使用 MultiMolecule 。
+
+## 8. 我们会更新此常见问题吗?
+
+!!! tip "简而言之"
+
+ 是的,我们将根据需要更新此常见问题解答以保持与相关法律的一致。
+
+我们可能会不时更新此许可协议常见问题解答。
+更新后的版本将通过更新本页面底部的“最后修订时间”来表示。
+如果我们进行任何重大更改,我们将通过在本页发布新的许可协议常见问题解答来通知你。
+由于我们不收集你的任何联系信息,我们无法直接通知你。
+我们鼓励你经常查看本许可协议常见问题解答,以了解你可以如何使用我们的数据、模型、代码、配置、文档和权重。
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