MeetBondDemo:探索C#的微软邦德项目

需积分: 5 0 下载量 139 浏览量 更新于2024-12-08 收藏 9KB ZIP 举报
资源摘要信息: "MeetBondDemo:Meet Bond 文章的演示项目" 知识点一:Meet Bond 的概念 Meet Bond 是微软公司推出的一个新的项目,该项目主要针对的是C#语言的开发和使用。从标题中我们可以得知,MeetBondDemo 是与 Meet Bond 相关的演示项目。虽然描述中并未详细说明 Meet Bond 的具体功能和用途,但我们可以推测,作为一个微软的项目,它可能是为了让开发者更好地理解和掌握 C# 语言,提高编程效率。 知识点二:C# 语言的特点 C#(发音为 "See Sharp")是一种由微软公司开发的面向对象的高级编程语言。它运行在 .NET Framework 上,并且是微软 .NET 平台的一部分。C# 被设计为一种简单、现代、面向对象和类型安全的编程语言。它的设计目标是结合Visual Basic 简单易用和 C++ 强大功能的特点。 知识点三:TopTal 博客 TopTal 是一个提供高端自由职业者市场的公司,其博客发布了很多关于编程和技术方面的文章。虽然本项目的描述中并未详细说明文章内容,但我们可以推测,该文章可能主要是介绍 Meet Bond 项目和演示如何使用 C# 进行开发。 知识点四:压缩包子文件的文件名称列表 从给出的文件名称列表 "MeetBondDemo-master",我们可以推断出该演示项目是版本控制系统的源代码。在版本控制系统中,通常会有一个主分支(master),这表示这个版本是稳定且可以发布的。"MeetBondDemo-master" 这个名称可能表示这是 Meet Bond 演示项目的主分支的源代码。 知识点五:演示项目的应用 演示项目(Demo)是用于展示软件、程序或系统功能的一种工具或程序。它通常包含了一个或多个特定功能的展示,用于让观众理解并体验产品的实际应用。因此,MeetBondDemo 项目可能是为了展示 Meet Bond 项目如何工作,以及它的各种功能如何被实现的。 知识点六:微软对开发者社区的贡献 微软是全球领先的软件开发公司,其对开发者社区的贡献包括提供多种编程语言和开发工具。除了C#和 .NET,微软还推出了很多其他的技术和工具,如 Visual Studio、Azure 云计算平台等。通过这样的演示项目,微软鼓励开发者使用这些工具和语言,从而提高软件开发的效率和质量。 知识点七:C# 在现代软件开发中的地位 C# 语言是目前软件开发中使用非常广泛的编程语言之一,它在游戏开发、桌面应用程序、Web 应用程序、移动应用开发、云服务开发等领域都有广泛的应用。通过微软推出的相关项目如 Meet Bond,可以进一步加强 C# 在开发者社区中的地位,帮助开发者更好地利用 C# 进行各种应用开发。 总结: 演示项目 MeetBondDemo 是微软推出的,用以展示 Meet Bond 这一项目如何使用 C# 进行开发。通过该演示项目,开发者可以更直观地了解和学习 C# 语言在实际开发中的应用,同时也能对 Meet Bond 项目有更深入的了解。微软通过提供这样的工具和平台,不仅加强了其在开发者社区中的地位,也为广大开发者的编程工作提供了便利和指导。

import argparse import numpy as np from openeye import oechem def clear_stereochemistry(mol): clear_atom_stereochemistry(mol) clear_bond_sterochemistry(mol) oechem.OESuppressHydrogens(mol, False, False, False) def clear_atom_stereochemistry(mol): for atom in mol.GetAtoms(): chiral = atom.IsChiral() stereo = oechem.OEAtomStereo_Undefined v = [] for nbr in atom.GetAtoms(): v.append(nbr) if atom.HasStereoSpecified(oechem.OEAtomStereo_Tetrahedral): stereo = atom.GetStereo(v, oechem.OEAtomStereo_Tetrahedral) if chiral or stereo != oechem.OEAtomStereo_Undefined: atom.SetStereo(v, oechem.OEAtomStereo_Tetrahedral, oechem.OEAtomStereo_Undefined) def clear_bond_sterochemistry(mol): for bond in mol.GetBonds(): if bond.HasStereoSpecified(oechem.OEBondStereo_CisTrans): for atomB in bond.GetBgn().GetAtoms(): if atomB == bond.GetEnd(): continue for atomE in bond.GetEnd().GetAtoms(): if atomE == bond.GetBgn(): continue v = [] v.append(atomB) v.append(atomE) stereo = bond.SetStereo(v, oechem.OEBondStereo_CisTrans, oechem.OEBondStereo_Undefined) def abs_smi(x): mol = oechem.OEGraphMol() if oechem.OESmilesToMol(mol, x): clear_stereochemistry(mol) return oechem.OEMolToSmiles(mol) else: return np.nan if __name__ == '__main__': parser = argparse.ArgumentParser(description="Remove stereochemistry from the input data set.") parser.add_argument("--in",dest="infile",help="whitespace-delimited input file",metavar="in.csv") parser.add_argument("--out", dest="outfile", help="output file", metavar="out.csv") args = parser.parse_args() n=0 with open(args.infile, 'r') as ifs: with open(args.outfile, 'w') as ofs: for line in ifs: if n==0: ofs.write(line) n=1 else: parsed = line.strip().split(',') if ('.' not in parsed[0]): ofs.write(f"{abs_smi(parsed[0])},{parsed[1]}\n")

2023-05-24 上传