Skip to content

Commit

Permalink
Towards solving issue eppic-team#37, not working well yet: crashes on…
Browse files Browse the repository at this point in the history
… 4hhb
  • Loading branch information
josemduarte committed Nov 23, 2016
1 parent 846c07b commit 5dd35d6
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 7 deletions.
2 changes: 1 addition & 1 deletion eppic-cli/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<artifactId>eppic-cli</artifactId>

<properties>
<biojava.version>4.2.4</biojava.version>
<biojava.version>4.2.5-SNAPSHOT</biojava.version>
</properties>

<repositories>
Expand Down
7 changes: 6 additions & 1 deletion eppic-cli/src/main/java/eppic/DataModelAdaptor.java
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,12 @@ public void setPdbMetadata(Structure pdb) {
}
pdbInfo.setExpMethod(exp);

pdbInfo.setNcsOpsPresent(pdb.getCrystallographicInfo().getNcsOperators()!=null);
if (pdbXtallographicInfo!=null) {
pdbInfo.setNcsOpsPresent(pdbXtallographicInfo.getNcsOperators()!=null);

pdbInfo.setNonStandardSg(pdbXtallographicInfo.isNonStandardSg());
pdbInfo.setNonStandardCoordFrameConvention(pdbXtallographicInfo.isNonStandardCoordFrameConvention());
}

CrystalCell cc = (pdbXtallographicInfo==null?null:pdbXtallographicInfo.getCrystalCell());
if (cc!=null) {
Expand Down
9 changes: 6 additions & 3 deletions eppic-cli/src/main/java/eppic/TextOutputWriter.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
import java.util.ArrayList;
import java.util.List;

//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import eppic.model.AssemblyContentDB;
import eppic.model.AssemblyDB;
Expand All @@ -24,14 +24,17 @@

public class TextOutputWriter {

//private static final Logger LOGGER = LoggerFactory.getLogger(TextOutputWriter.class);
private static final Logger LOGGER = LoggerFactory.getLogger(TextOutputWriter.class);

private PdbInfoDB pdbInfo;
private EppicParams params;

public TextOutputWriter (PdbInfoDB pdbInfo, EppicParams params) {
this.pdbInfo = pdbInfo;
this.params = params;

LOGGER.debug("Is non-standard SG: {}", pdbInfo.isNonStandardSg());
LOGGER.debug("Is non-standard coord frame convention: {}", pdbInfo.isNonStandardCoordFrameConvention());
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@
import eppic.model.PdbInfoDB;

/**
* DTO class for PDBScore item.
* DTO class for PDBInfo.
* @author AS
*/

@XmlRootElement(name = "eppicAnalysis")
@XmlType(propOrder = { "pdbCode", "title", "releaseDate", "expMethod",
"spaceGroup", "resolution", "rfreeValue", "numChainClusters",
"cellA","cellB","cellC","cellAlpha","cellBeta","cellGamma",
"crystalFormId",
"crystalFormId", "ncsOpsPresent", "nonStandardSg", "nonStandardCoordFrameConvention",
"chainClusters", "interfaceClusters", "assemblies",
"runParameters"})
@XmlAccessorType(XmlAccessType.FIELD)
Expand Down Expand Up @@ -69,6 +69,11 @@ public class PdbInfo implements Serializable, ProcessingData
private double cellGamma;

private int crystalFormId;

private boolean ncsOpsPresent;

private boolean nonStandardSg;
private boolean nonStandardCoordFrameConvention;

private RunParameters runParameters;

Expand Down Expand Up @@ -109,6 +114,9 @@ public PdbInfo(int uid,
double cellBeta,
double cellGamma,
int crystalFormId,
boolean ncsOpsPresent,
boolean nonStandardSg,
boolean nonStandardCoordFrameConvention,
RunParameters runParameters)
{
this.interfaceClusters = new ArrayList<InterfaceCluster>();
Expand All @@ -129,6 +137,9 @@ public PdbInfo(int uid,
this.cellBeta = cellBeta;
this.cellGamma = cellGamma;
this.crystalFormId = crystalFormId;
this.ncsOpsPresent = ncsOpsPresent;
this.nonStandardSg = nonStandardSg;
this.nonStandardCoordFrameConvention = nonStandardCoordFrameConvention;
this.runParameters = runParameters;
}

Expand Down Expand Up @@ -283,6 +294,30 @@ public int getCrystalFormId() {
public void setCrystalFormId(int crystalFormId) {
this.crystalFormId = crystalFormId;
}

public boolean isNcsOpsPresent() {
return ncsOpsPresent;
}

public void setNcsOpsPresent(boolean ncsOpsPresent) {
this.ncsOpsPresent = ncsOpsPresent;
}

public boolean isNonStandardSg() {
return nonStandardSg;
}

public void setNonStandardSg(boolean nonStandardSg) {
this.nonStandardSg = nonStandardSg;
}

public boolean isNonStandardCoordFrameConvention() {
return nonStandardCoordFrameConvention;
}

public void setNonStandardCoordFrameConvention(boolean nonStandardCoordFrameConvention) {
this.nonStandardCoordFrameConvention = nonStandardCoordFrameConvention;
}

public void setRunParameters(RunParameters runParameters) {
this.runParameters = runParameters;
Expand Down Expand Up @@ -432,6 +467,10 @@ public static PdbInfo create(PdbInfoDB pdbInfoDB)
pdbInfo.setCellBeta(pdbInfoDB.getCellBeta());
pdbInfo.setCellGamma(pdbInfoDB.getCellGamma());
pdbInfo.setCrystalFormId(pdbInfo.getCrystalFormId());
pdbInfo.setNcsOpsPresent(pdbInfoDB.isNcsOpsPresent());
pdbInfo.setNonStandardSg(pdbInfoDB.isNonStandardSg());
pdbInfo.setNonStandardCoordFrameConvention(pdbInfoDB.isNonStandardCoordFrameConvention());

return pdbInfo;
}

Expand Down
33 changes: 33 additions & 0 deletions eppic-model/src/main/java/eppic/model/PdbInfoDB.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,23 @@ public class PdbInfoDB implements Serializable {

private int crystalFormId;

/**
* Whether this structure is a PDB structure in a non-standard space group
*/
private boolean nonStandardSg;

/**
* Whether this structure is a PDB structure in a
* non-standard frame (for which our scale matrix calculation and thus the crystal reconstruction
* will be incorrect).
* There's ~ 200 old structures in the PDB affected by the non-standard frame problem, hopefully they will
* be remediated in the future.
* For more info see:
* https://github.com/eppic-team/eppic/issues/37 and
* https://github.com/eppic-team/owl/issues/4
*/
private boolean nonStandardCoordFrameConvention;

private RunParametersDB runParameters;

private List<ChainClusterDB> chainClusters;
Expand Down Expand Up @@ -257,6 +274,22 @@ public void setNcsOpsPresent(boolean ncsOpsPresent) {
this.ncsOpsPresent = ncsOpsPresent;
}

public boolean isNonStandardSg() {
return nonStandardSg;
}

public void setNonStandardSg(boolean nonStandardSg) {
this.nonStandardSg = nonStandardSg;
}

public boolean isNonStandardCoordFrameConvention() {
return nonStandardCoordFrameConvention;
}

public void setNonStandardCoordFrameConvention(boolean nonStandardCoordFrameConvention) {
this.nonStandardCoordFrameConvention = nonStandardCoordFrameConvention;
}

public double getCellA() {
return cellA;
}
Expand Down
3 changes: 3 additions & 0 deletions eppic-model/src/main/resources/META-INF/orm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,9 @@

<basic name="ncsOpsPresent"></basic>

<basic name="nonStandardSg"></basic>
<basic name="nonStandardCoordFrameConvention"></basic>

<basic name="crystalFormId"></basic>

<basic name="numChainClusters"></basic>
Expand Down

0 comments on commit 5dd35d6

Please sign in to comment.