MCPcopy
hub / github.com/google-deepmind/alphagenome / metadata_to_proto

Function metadata_to_proto

src/alphagenome/models/track_data_utils.py:96–190  ·  view source on GitHub ↗

Converts track metadata to a `TracksMetadata` protobuf message. Args: metadata: A pandas DataFrame containing track metadata, with the following required columns: name, strand. Returns: A `TracksMetadata` protobuf message.

(
    metadata: track_data.TrackMetadata,
)

Source from the content-addressed store, hash-verified

94
95
96def metadata_to_proto(
97 metadata: track_data.TrackMetadata,
98) -> dna_model_pb2.TracksMetadata:
99 """Converts track metadata to a `TracksMetadata` protobuf message.
100
101 Args:
102 metadata: A pandas DataFrame containing track metadata, with the following
103 required columns: name, strand.
104
105 Returns:
106 A `TracksMetadata` protobuf message.
107 """
108 names = metadata['name']
109 default_values = [None] * len(names)
110
111 columns = zip(
112 metadata['name'],
113 metadata['strand'],
114 metadata.get('ontology_curie', default_values),
115 metadata.get('biosample_type', default_values),
116 metadata.get('biosample_name', default_values),
117 metadata.get('biosample_life_stage', default_values),
118 metadata.get('transcription_factor', default_values),
119 metadata.get('histone_mark', default_values),
120 metadata.get('gtex_tissue', default_values),
121 metadata.get('Assay title', default_values),
122 metadata.get('data_source', default_values),
123 metadata.get('genetically_modified', default_values),
124 metadata.get('endedness', default_values),
125 metadata.get('nonzero_mean', default_values),
126 strict=True,
127 )
128
129 metadata_protos = []
130 for (
131 name,
132 strand,
133 ontology_curie,
134 biosample_type,
135 biosample_name,
136 biosample_life_stage,
137 transcription_factor,
138 histone_mark,
139 gtex_tissue,
140 assay,
141 data_source,
142 genetically_modified,
143 endedness,
144 nonzero_mean,
145 ) in columns:
146 if biosample_type:
147 biosample = dna_model_pb2.Biosample(
148 name=biosample_name,
149 type=dna_model_pb2.BiosampleType.Value(
150 f'BIOSAMPLE_TYPE_{biosample_type.upper()}'
151 ),
152 stage=biosample_life_stage,
153 )

Callers 1

to_protosFunction · 0.70

Calls 3

getMethod · 0.45
to_protoMethod · 0.45
from_strMethod · 0.45

Tested by

no test coverage detected