氨基酸序列的神经网络
pepnet的Python项目详细描述
pepnet
氨基酸序列的神经网络
预测器api
序列和模型构造都可以由pepnet为您处理 Predictor:
frompepnetimportPredictor,SequenceInput,NumericInput,Outputpredictor=Predictor(inputs=[SequenceInput(length=4,name="x1",variable_length=True),NumericInput(dim=30,name="x2")],outputs=[Output(name="y",dim=1,activation="sigmoid")],dense_layer_sizes=[30],dense_activation="relu")sequences=["ACAD","ACAA","ACA"]vectors=np.random.normal(10,100,(3,30))y=numpy.array([0,1,0])predictor.fit({"x1":sequences,"x2":vectors},y)y_pred=predictor.predict({"x1":sequences,"x2":vectors})["y"]
卷积序列滤波
该模型采用氨基酸序列(最长为50)并应用于 两层9mer卷积,3x maxpooling和2x 中间进行下采样。然后将第二层的激活集合起来 跨越所有序列位置(同时使用平均和最大池)和 传递到名为“y”的单个密集输出节点。
peptide=predictor=Predictor(inputs=[SequenceInput(length=50,name="peptide",encoding="index",variable_length=True,conv_filter_sizes=[9],conv_output_dim=8,n_conv_layers=2,global_pooling=True)],outputs=[Output(name="y",dim=1,activation="sigmoid")])
人工索引编码肽
用1-21(0表示 填充)
frompepnet.encoderimportEncoderencoder=Encoder()X_index=encoder.encode_index_array(["SYF","GLYCI"],max_peptide_length=9)
人工热编码肽
用一个二进制向量表示每个氨基酸,其中只有一个项是 1,其余为0。
frompepnet.encoderimportEncoderencoder=Encoder()X_binary=encoder.encode_onehot(["SYF","GLYCI"],max_peptide_length=9)
肽的fofe编码
实现fofe编码frompepnet.encoderimportEncoderencoder=Encoder()X_binary=encoder.encode_FOFE(["SYF","GLYCI"],bidirectional=True)
示例网络
卷积模型的示意图: