/*************************************************************************
* *
* This file is part of the 20n/act project. *
* 20n/act enables DNA prediction for synthetic biology/bioengineering. *
* Copyright (C) 2017 20n Labs, Inc. *
* *
* Please direct all queries to act@20n.com. *
* *
* This program is free software: you can redistribute it and/or modify *
* it under the terms of the GNU 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 General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
* *
*************************************************************************/
package act.installer.brenda;
import java.util.regex.Pattern;
public class BrendaRxnEntry {
public static final Pattern BRACKETS_PATTERN = Pattern.compile("^\\[.*\\]");
protected String ecNumber;
protected String substrates;
protected String commentarySubstrates;
protected String literatureSubstrates;
protected String organismSubstrates;
protected String products;
protected String reversibility;
protected Integer id;
protected Boolean isNatural;
public BrendaRxnEntry(String ecNumber, String substrates, String commentarySubstrates, String literatureSubstrates,
String organismSubstrates, String products, String reversibility,
Integer id, Boolean isNatural) {
this.ecNumber = ecNumber;
this.substrates = substrates;
this.commentarySubstrates = commentarySubstrates;
this.literatureSubstrates = literatureSubstrates;
if (organismSubstrates != null) {
organismSubstrates = organismSubstrates.trim();
if (BRACKETS_PATTERN.matcher(organismSubstrates).find()) {
// Remove the square braces around the organism's genus to handle cases like '[Brevibacterium] flavum'.
organismSubstrates = organismSubstrates.replace("[", "").replace("]", "");
}
}
this.organismSubstrates = organismSubstrates;
this.products = products;
this.reversibility = reversibility;
this.id = id;
this.isNatural = isNatural;
}
public String getOrganism() {
return this.organismSubstrates;
}
public String getReversibility() {
return this.reversibility;
}
public String getSubstrateStr() {
return this.substrates;
}
public String getProductStr() {
return this.products;
}
public String getEC() {
return this.ecNumber;
}
public String getLiteratureRef() {
return this.literatureSubstrates;
}
public String getBrendaID() {
return this.id.toString();
}
public Boolean isNatural() {
return this.isNatural;
}
}