Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Friday, 24 April 2020

Antigen testing could be a faster, cheaper way to diagnose covid-19

Coronavirus testing in the US is nowhere near where it should be. A recent road map suggested we need to test upwards of 20 million people every day in order to safely reopen the economy (we’re currently running around 150,000 a day). To scale up, we need to move beyond conventional methods—and that might require an entirely different type of test.

The gold standard for covid-19 testing is the polymerase chain reaction (PCR) test. In a PCR test, genetic material collected in a nasal swab is copied millions or billions of times over so that markers for covid-19 infection can be identified (the virus’s RNA is too tiny to identify on its own, but making more copies makes it easier to find). PCR testing isn’t perfect, but it’s seen as the most accurate form of testing available for viruses. Unfortunately, it takes time, energy, and trained personnel to run these tests. That makes PCR testing too hard to scale up to the numbers we really need. 

“There will never be the ability on a [PCR] test to do 300 million tests a day or to test everybody before they go to work or to school,” Deborah Birx, head of the White House Coronavirus Task Force, said on April 17. “But there might be with the antigen test.”

What’s an antigen test? While PCR tests look for evidence of viral genetic material, and antibody testingdetects human antibodies against the virus, antigen tests look for fragments of viral surface proteins as a marker for infection. (An antigen is the part of a pathogen that elicits an immune response.) These proteins, usually from the coronavirus’s surface spikes, are big enough to study on their own, without spending time and energy making new copies. Identifying their presence could mean a diagnosis of infection in just a matter of minutes, without expensive equipment, training, or power. In theory, a reliable antigen test could be pretty easy to scale up and could then be used in the home or at point-of-care locations. It could be the test we need to get America back on its feet again.

But antigen tests aren’t easy to make. We need to understand the biology and structure of the virus, and figure out which viral proteins to look for. It is only now, almost four months after the first infections, that we know enough about how the coronavirus works to make an antigen test viable.

Antigen tests are similar to PCR tests in purpose: both are good at detecting new cases of covid-19 (as opposed to antibody tests, which are better suited for determining whether someone was previously infected and recovered). But the limits of PCR (takes hours to run, requires large amounts of energy, needs trained personnel) prevent frequent follow-up tests. PCR results typically don’t come back for days. The technology is no good at tracking the progression of an infection over time, says Lee Gehrke, a professor at MIT and Harvard Medical School. A patient might be negative for covid-19 the first day “and then blazingly positive the following day,” he says. “That’s just the way covid-19 infection works sometimes.” 

There are some faster forms of PCR being unveiled, like Abbott Laboratories’ new machine that supposedly runs a PCR-based test in under 13 minutes. But these machines are still limited by the availability and quality of necessary reagents, and they are energy intensive and require training to run. They can only process one sample at time, which means labs have to find a way to store other samples in the queue for long periods. 

An antigen test, on the other hand, can deliver results on the spot. That means it’s suitable for frequent follow-up testing. You could use it in cases where you need a quick yes-or-no result, like in an overwhelmed hospital, at a nursing home where patients are not mobile enough to go to a testing site, or to determine whether health-care workers have been infected. 

“We think the first threshold for returning to normal life is to make sure you’re not infectious and the people around you are not infectious,” says Steve Tang, CEO of OraSure, which makes millions of HIV antigen tests a year and is now working on a covid-19 test. “We have to get ourselves out of these testing bottlenecks that are hurting us right now. Antigen testing could be a powerful new tool in that goal.”

Gehrke is a cofounder of a Cambridge-based biotech company called E25Bio, which is developing a covid-19 antigen test. Like most others being developed for the coronavirus, the test works by taking a nasal swab from a patient and introducing that sample into a solution that is then exposed to one end of a series of paper strips. The strips contain artificial antibodies specially designed to bind to coronavirus antigens. As the solution moves up the strip, any antigens that are present will bind to it and give a visual readout. The whole thing takes less than 30 minutes, and it doesn’t require special equipment or training. 

According to Gehrke, the covid-19 tests were developed from the same basic platform used to test for Dengue and Zika. Those tests were 90 to 95% accurate, and he expects the same for the covid-19 versions. He says each test should cost as little as $10; a PCR test runs more than five times as much. The company expects that when production is under way, it should be able to produce millions of these tests regularly. E25Bio also hopes to roll out an app that can securely collect test results from users and make the metadata, such as sex and age and location, available to epidemiologists and public health experts trying to track the spread of covid-19

Not everyone is so gung-ho on the technology’s potential. “I would say antigen testing for covid-19 would be a total game-changer, except for one aspect: it won’t work,” says Alan Wells, the medical director of clinical laboratories at the University of Pittsburgh Medical Center. 

Why not? An antigen test for a bacterial disease like strep works phenomenally well. But respiratory viruses like coronavirus are a whole other game. The home of a respiratory illness is in the respiratory system, so ideally you want to use a nasal swab to collect samples deep in the nasal cavity. But the presence of the virus in this area varies from person to person. For example, the antigen test for influenza has a decent sensitivity of about 70 to 80% when run properly on a good nasal swab—but only for children, because the quantity of the virus in children is typically much higher than in adults. When you use the same influenza antigen tests on adults, the sensitivity drops to less than 50%. And this is something observed across the board for respiratory viruses. In a PCR test, the viral genetic material is amplified greatly so that it’s easier to identify signs of covid-19. There’s no amplification of viral proteins in an antigen test. Either the test detects them in the sample or it doesn’t.

Companies like E25Bio and OraSure have made successful tests for other diseases, but not for respiratory viruses, and Wells is very skeptical they’ve solved the biological and technological issues that hold these tests back. “I would love to be wrong,” he says. “But if I’m betting, the covid-19 virus is not going to be any different from the other viruses. It’s not a new biology or a new chemistry.” Antigen testing groups that are claiming sensitivities above 90% are basing that on laboratory samples. They are still waiting for validation tests on actual patient samples, which may be much less accurate.

Should these new antigen tests prove reliable, they almost certainly won’t replace PCR testing—Gehrke, Tang, and others openly acknowledge as much. But the tests could work alongside PCR and other forms of testing to move us past the bottlenecks and push the US closer to the target of 20 million tests a day. 



from MIT Technology Review https://ift.tt/350Wdtr
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support