logo Netzschleuder network catalog, repository, and centrifuge

History of hiv_cluster_1984

The changes to the source code of this entry in the repository, newest first, each with the differences it made to the entry's files. They are also listed on GitLab.

[entries] New entry: hiv_cluster_1984 by Tiago de Paula Peixoto 2367429
diff --git a/entries/hiv_cluster_1984/__init__.py b/entries/hiv_cluster_1984/__init__.py
new file mode 100644
index 0000000..07f81f9
--- /dev/null
+++ b/entries/hiv_cluster_1984/__init__.py
@@ -0,0 +1,54 @@
+#! /usr/bin/env python
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2026 Tiago de Paula Peixoto <tiago@skewed.de>
+#
+# This program is free software: you can redistribute it and/or modify it under
+# the terms of the GNU Affero General Public License as published by the Free
+# Software Foundation, either version 3 of the License, or (at your option) any
+# later version.
+#
+# This program is distributed in the hope that it will be useful, but WITHOUT
+# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+# FOR A PARTICULAR PURPOSE.  See the GNU Affero General Public License for more
+# details.
+#
+# You should have received a copy of the GNU Affero General Public License along
+# with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+
+
+from .. import *
+
+
+title = 'Sexual contacts of early AIDS patients (1984)'
+description = """A network of sexual contacts between 40 men with the acquired immune deficiency syndrome (AIDS), from the cluster of early cases in the USA investigated by the Centers for Disease Control (CDC) by Auerbach et al. (1984), as distributed by KONECT (from P. Holme's collection). This network is the origin of the phrase "patient zero", for the patient who links several groups of cases (labeled "patient O", for "out of California", in the study). Each node is a patient, and an undirected edge connects two patients who reported a sexual contact. The data identify the patients only by indices (the labels and cities of the study are not included). Only the largest connected component is included."""
+tags = ['Social', 'Offline', 'Public Health', 'Unweighted']
+url = 'http://konect.cc/networks/hiv'
+citation = [('D. M. Auerbach, W. W. Darrow, H. W. Jaffe, J. W. Curran, "Cluster of cases of the acquired immune deficiency syndrome: Patients linked by sexual contact." The American Journal of Medicine 76(3), 487-492 (1984)', 'https://doi.org/10.1016/0002-9343(84)90668-5'),
+            ('J. Kunegis, "KONECT -- The Koblenz Network Collection." Proceedings of the 22nd International Conference on World Wide Web Companion, 1343-1350 (2013)', 'https://doi.org/10.1145/2487788.2488173')]
+icon_hash = None
+upstream_license = None
+upstream_prefix = 'http://konect.cc/files'
+files = [('download.tsv.hiv.tar.bz2', None, 'konect')]
+
+def postprocess(alt, g):
+    pass
+
+def fetch_upstream(force=False):
+    return fetch_upstream_files(__name__.split(".")[-1], upstream_prefix, files,
+                                force)
+
+@cache_network()
+@coerce_props()
+@annotate()
+def parse(alts=None):
+    global files
+    name = __name__.split(".")[-1]
+    for fname, alt, fmt in files:
+        if alts is not None and alt not in alts:
+            continue
+        with open_upstream_file(name, fname, "rb") as f:
+            g = parse_graph([f], fmt, directed=None)
+        postprocess(alt, g)
+        yield alt, g