Stockholders' equity - Narrative (Details) - USD ($)
1 Months Ended 12 Months Ended
Jun. 21, 2019
Jan. 17, 2018
Oct. 31, 2019
Feb. 28, 2019
Jan. 31, 2018
Dec. 31, 2019
Dec. 31, 2018
Apr. 24, 2018
Class of Stock [Line Items]                
Common stock, par value (in dollars per share)           $ 0.001 $ 0.001  
Proceeds from equity offerings, net of issuance costs           $ 54,669,000 $ 55,458,000  
Preferred stock, shares issued (in dollars per share)           1,635,000 1,635,000  
Preferred stock, par or stated value per share (in dollars per share)           $ 0.001 $ 0.001  
Payment of financing and stock issuance costs         $ 4,000,000      
Payments of stock issuance costs         2,600,000      
Payments for derivative instrument, financing activities         $ 1,400,000      
Private placement                
Class of Stock [Line Items]                
Sale of stock, consideration received on transaction       $ 13,800,000        
Sale of stock, price per share (in dollars per share)       $ 4.02        
Private Placement - Second Closing                
Class of Stock [Line Items]                
Sale of stock, consideration received on transaction       $ 24,200,000        
Pre-Funded Warrant Shares | Private placement                
Class of Stock [Line Items]                
Shares issued in transaction (in shares)       531,250        
Common Class A | Underwritten 2019 Public Offering                
Class of Stock [Line Items]                
Common stock, par value (in dollars per share) $ 0.001              
Share price (in dollars per share) $ 3.5              
Sale of stock, consideration received on transaction $ 36,800,000              
Common Class A | Underwritten 2018 Public Offering                
Class of Stock [Line Items]                
Common stock, par value (in dollars per share)   $ 0.001            
Share price (in dollars per share)   $ 8.00            
Sale of stock, consideration received on transaction   $ 53,400,000            
Common Class A | Underwritten Public Offering                
Class of Stock [Line Items]                
Convertible preferred stock, shares issued upon conversion           125    
Common Shares | Private placement                
Class of Stock [Line Items]                
Shares issued in transaction (in shares)       3,199,998        
Common Shares | Concurrent Offerings | Underwritten 2019 Public Offering                
Class of Stock [Line Items]                
Issuance of common stock (in shares) 10,500,000              
Common Shares | Concurrent Offerings | Underwritten 2018 Public Offering                
Class of Stock [Line Items]                
Issuance of common stock (in shares)         6,670,625      
Warrants outstanding (in shares)         3,335,313      
Common Shares | Overallotment Option Liability | Underwritten 2019 Public Offering                
Class of Stock [Line Items]                
Sale of stock, consideration received on transaction $ 5,500,000              
Warrants outstanding (in shares) 1,575,000              
Proceeds from equity offerings, net of issuance costs $ 38,400,000              
Common Shares | Overallotment Option Liability | Underwritten 2018 Public Offering                
Class of Stock [Line Items]                
Issuance of common stock (in shares)         119,718      
Warrants outstanding (in shares)         179,757      
Proceeds from equity offerings, net of issuance costs         $ 1,000,000      
Private Placement Warrants | Private placement                
Class of Stock [Line Items]                
Shares issued in transaction (in shares)       932,812        
Convertible Preferred Stock | Concurrent Offerings | Underwritten 2018 Public Offering                
Class of Stock [Line Items]                
Sale of stock, consideration received on transaction   $ 1,600,000            
Warrants outstanding (in shares)         102,188      
Preferred stock, shares issued (in dollars per share)         1,635      
Preferred stock, par or stated value per share (in dollars per share)   $ 0.001            
Convertible preferred stock, shares issued upon conversion         204,375      
Lincoln Park Capital | Common Shares                
Class of Stock [Line Items]                
Share price (in dollars per share)     $ 2.587          
Issuance of common stock     $ 2,500,000          
Long-term purchase commitment, period     30 months          
Long-term purchase commitment, amount     $ 27,500,000          
Common stock, shares issued as commitment fee     289,966          
Maximum | Lincoln Park Capital | Common Shares                
Class of Stock [Line Items]                
Issuance of common stock (in shares)     5,227,323          
Shares of common stock outstanding, agreement threshold, percent     19.99%          
Line of credit | Maximum | Hercules Technology Growth Capital Inc. | 2018 Term Loan Agreement                
Class of Stock [Line Items]                
Amended equity rights letter agreement, amount               $ 2,000,000.0
Common Shares | At-The-Market Equity Offering Program                
Class of Stock [Line Items]                
Issuance of common stock (in shares)           463,887    
Proceeds from equity offerings, net of issuance costs           $ 4,000,000