Update app.py
Browse files
app.py
CHANGED
@@ -96,7 +96,93 @@ result = simulator.run(compiled_circuit, shots=1024).result()
|
|
96 |
counts = result.get_counts()
|
97 |
print(counts)
|
98 |
""",
|
99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
101 |
|
102 |
# Selection menu for examples
|
|
|
96 |
counts = result.get_counts()
|
97 |
print(counts)
|
98 |
""",
|
99 |
+
"7. DNA Base Pair Encoding": """
|
100 |
+
from qiskit import QuantumCircuit
|
101 |
+
qc = QuantumCircuit(2, 2)
|
102 |
+
|
103 |
+
# DNA Base Pair Encoding: A -> 00, T -> 01, G -> 10, C -> 11
|
104 |
+
qc.x(0) # Example encoding for T (01)
|
105 |
+
qc.measure([0, 1], [0, 1])
|
106 |
+
|
107 |
+
simulator = AerSimulator()
|
108 |
+
compiled_circuit = transpile(qc, simulator)
|
109 |
+
result = simulator.run(compiled_circuit, shots=1024).result()
|
110 |
+
counts = result.get_counts()
|
111 |
+
print(counts)
|
112 |
+
""",
|
113 |
+
"8. DNA Sequence Matching with Grover's Algorithm": """
|
114 |
+
from qiskit import QuantumCircuit, Aer
|
115 |
+
from qiskit_aer import AerSimulator
|
116 |
+
from qiskit.circuit.library import GroverOperator
|
117 |
+
from qiskit.algorithms import AmplificationProblem
|
118 |
+
|
119 |
+
# Oracle marks the target sequence
|
120 |
+
def oracle(circuit):
|
121 |
+
circuit.cz(0, 1) # Mark sequence 01 as a solution
|
122 |
+
|
123 |
+
qc = QuantumCircuit(2)
|
124 |
+
oracle(qc)
|
125 |
+
|
126 |
+
# Grover search for the sequence
|
127 |
+
problem = AmplificationProblem(qc)
|
128 |
+
grover_circuit = GroverOperator(problem)
|
129 |
+
simulator = AerSimulator()
|
130 |
+
|
131 |
+
compiled_circuit = transpile(grover_circuit, simulator)
|
132 |
+
result = simulator.run(compiled_circuit, shots=1024).result()
|
133 |
+
counts = result.get_counts()
|
134 |
+
print(counts)
|
135 |
+
""",
|
136 |
+
"9. Genetic Variant Interaction": """
|
137 |
+
from qiskit import QuantumCircuit, Aer
|
138 |
+
from qiskit_aer import AerSimulator
|
139 |
+
|
140 |
+
# Genetic variants as entangled qubits
|
141 |
+
qc = QuantumCircuit(2, 2)
|
142 |
+
qc.h(0) # Variant 1 in superposition
|
143 |
+
qc.cx(0, 1) # Entangle with Variant 2
|
144 |
+
qc.measure([0, 1], [0, 1])
|
145 |
+
|
146 |
+
simulator = AerSimulator()
|
147 |
+
compiled_circuit = transpile(qc, simulator)
|
148 |
+
result = simulator.run(compiled_circuit, shots=1024).result()
|
149 |
+
counts = result.get_counts()
|
150 |
+
print(counts)
|
151 |
+
""",
|
152 |
+
"10. DNA Alignment Scoring": """
|
153 |
+
from qiskit import QuantumCircuit, Aer
|
154 |
+
from qiskit_aer import AerSimulator
|
155 |
+
|
156 |
+
# Create a Quantum Circuit for DNA alignment
|
157 |
+
qc = QuantumCircuit(3, 3)
|
158 |
+
|
159 |
+
# Simulate possible alignments with superposition
|
160 |
+
qc.h([0, 1, 2]) # 3 alignments in parallel
|
161 |
+
qc.measure([0, 1, 2], [0, 1, 2])
|
162 |
+
|
163 |
+
simulator = AerSimulator()
|
164 |
+
compiled_circuit = transpile(qc, simulator)
|
165 |
+
result = simulator.run(compiled_circuit, shots=1024).result()
|
166 |
+
counts = result.get_counts()
|
167 |
+
print(counts)
|
168 |
+
""",
|
169 |
+
"11. Protein Folding Simulation with QAOA": """
|
170 |
+
from qiskit import Aer, QuantumCircuit
|
171 |
+
from qiskit.algorithms.optimizers import COBYLA
|
172 |
+
from qiskit_aer import AerSimulator
|
173 |
+
from qiskit.algorithms.minimum_eigensolvers import QAOA
|
174 |
+
from qiskit.circuit.library import TwoLocal
|
175 |
+
|
176 |
+
# Build a QAOA circuit for protein folding
|
177 |
+
p = 1
|
178 |
+
ansatz = TwoLocal(2, "ry", "cz", reps=p)
|
179 |
+
qaoa = QAOA(ansatz=ansatz, optimizer=COBYLA())
|
180 |
+
|
181 |
+
# Simulate energy minimization
|
182 |
+
simulator = AerSimulator()
|
183 |
+
qaoa_result = qaoa.compute_minimum_eigenvalue(operator=None)
|
184 |
+
print(qaoa_result)
|
185 |
+
"""
|
186 |
}
|
187 |
|
188 |
# Selection menu for examples
|